磁盤及文件系統管理(分區,掛載,卸載,信息展示與統計)

磁盤及文件系統管理(分區,掛載,卸載,信息展示與統計)
=======================================

磁盤操作
---------------------------------------------------------------------------------------------
###:fdisk:操作磁盤分區表
OPTIONS:
~]# fdisk -l /dev/sda (查看分區詳情)

~]# fdisk -l (查看分區詳情)

~]# fdisk /dev/sda
Command (m for help): m
Command action
   d   delete a partition(刪除一個分區)
   l   list known partition types(列出已有的分區類型)
   m   print this menu(打印菜單)
   n   add a new partition(創建新分區)
   p   print the partition table(顯示現有的分區信息)
   q   quit without saving changes(不保存退出)
   t   change a partition's system id(改變分區的系統標識)修改分區類型。
   w   write table to disk and exit(寫入磁盤和退出表)
---------------------------------------------------------------------------------------------
通知內核強制重讀磁盤分區表:
    CentOS 5:partprobe [device]
    CentOS 6,7:partx, kpartx
        partx -a [device]
        kpartx -af [device]

查看:cat  /proc/partitions
---------------------------------------------------------------------------------------------
###:mkfs.ext2  mkfs.ext3  mkfs.ext4:ext系列文件系統的管理工具
SYNOPSIS:
    mkfs.ext# device
OPTIONS:
    格式化:mkfs.ext2 /dev/sda3
    格式化:mkfs.ext3 /dev/sda3
    格式化:mkfs.ext4 /dev/sda3
---------------------------------------------------------------------------------------------
###:blkid:查看設備屬性
SYNOPSIS:
    blkid [device]
OPTIONS:
    ~]# blkid /dev/sda2  (查看單個)
          /dev/sda2: UUID="ivAmVh-34tK-Wc0f-cBwE-UP9X-4Dzb-NnEPD0" TYPE="LVM2_member" 
    ~]# blkid  (查看所有)
          /dev/sda1: UUID="a1286a7b-86de-45ea-b405-243296edd943" TYPE="xfs" 
          /dev/sda2: UUID="ivAmVh-34tK-Wc0f-cBwE-UP9X-4Dzb-NnEPD0" TYPE="LVM2_member" 
          /dev/sr0: UUID="2015-04-01-00-21-36-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
          /dev/mapper/centos-root: UUID="95182712-dbff-4a70-8b0b-e5bdc0e318a2" TYPE="xfs" 
          /dev/mapper/centos-swap: UUID="99a1630a-f72f-4151-b24a-d81a6cf3df1d" TYPE="swap" 
          /dev/mapper/centos-home: UUID="225e506a-9b19-42f0-8b17-b9aa3713d56c" TYPE="xfs" 

      -L LABEL:根據LABEL定位設備
            ~]# blkid -L LABEL 
            /dev/sda3

      -U  UUID:根據UUID定位設備 
          ~]# blkid -U 1709e781-788a-48fd-97da-69d2ced72470
                  /dev/sda3    
---------------------------------------------------------------------------------------------
###:mkfs.xfs: 構建一個XFS系統(格式化)
OPTIONS:
          ~]# mkfs.xfs /dev/sda1

          -f:強制格式化。
                ~]# mkfs.xfs -f /dev/sda3
---------------------------------------------------------------------------------------------
###:mkfs:創建一個Linux文件系統
SYNOPSIS:
       mkfs [options] [-t type] [fs-options] device [size]
OPTIONS:
      -t:指定文件系統類型,如果沒有指定則爲ext2(等同於 mkfs.ext2)
            ~]# mkfs -t ext2 /dev/sda3
---------------------------------------------------------------------------------------------
###:mke2fs: 創建一個 ext2/ext3/ext4 文件系。
SYNOPSIS:
      mke2fs [OPTIONS]  device
OPTIONS:
        -t {ext2|ext3|ext4}:指明要創建的文件系統類型
            ~]# mke2fs -t ext3  /dev/sda3

        -b {1024|2048|4096}:指明文件系統的塊大小。
              ~]# mke2fs -b 1024 /dev/sda3

        -L LABEL:指明卷標.
              ~]# mke2fs -L 'MYDATA' /dev/sda3

        -j:創建有日誌功能的文件系統ext3。
              ~]# mke2fs -j /dev/sda3

        -i #:bytes-per-inode,指明inode與字節的比率;即每多少字節創建一個Indode; 
              ~]# mke2fs -i 1024 /dev/sda3

        -N #:直接指明要給此文件系統創建的inode的數量。
              ~]# mke2fs -N 307200 /dev/sda3

        -m #:指定預留的空間,百分比。(直接指明數字)
              ~]# mke2fs -m 2 /dev/sda3

        -O [^]FEATURE:以指定的特性創建目標文件系統。
---------------------------------------------------------------------------------------------
###:e2label:查看與改變 ext2/ext3/ext4 文件系統卷。
SYNOPSIS:
       e2label device [ new-label ]
OPTIONS:
      查看:e2label device
          ~]# e2label /dev/sda3

      設定:e2label device LABEL
          ~]# e2label /dev/sda3 label
---------------------------------------------------------------------------------------------
###:tune2fs:查看或修改 ext2/ext3/ext4 系列文件系統的某些屬性。
SYNOPSIS:
      tune2fs [OPTIONS] device
OPTIONS:
      -l:查看超級塊的內容
            ~]# tune2fs -l /dev/sda3

      修改指定文件系統的屬性:
        -j:ext2 --> ext3:添加一個ext3日誌文件系統
            ~]# blkid /dev/sda3
                  /dev/sda3: UUID="87a8af11-c075-48b8-a10d-c2f90997cd2e" TYPE="ext2" 
            ~]# tune2fs -j /dev/sda3
                  tune2fs 1.42.9 (28-Dec-2013)
            Creating journal inode: done
            ~]# blkid /dev/sda3
                  /dev/sda3: UUID="87a8af11-c075-48b8-a10d-c2f90997cd2e" SEC_TYPE="ext2" TYPE="ext3" 

        -L LABEL:修改卷標。
            ~]# tune2fs -L 'LABEL' /dev/sda3
            `       tune2fs 1.42.9 (28-Dec-2013)
            ~]# e2label /dev/sda3
                  LABEL
            ~]# tune2fs -l /dev/sda3
                  tune2fs 1.42.9 (28-Dec-2013)
                  Filesystem volume name:   LABEL
                  .....

        -m #:調整預留空間百分比;
              ~]# tune2fs -m 2 /dev/sda3
                    tune2fs 1.42.9 (28-Dec-2013)
                    Setting reserved blocks percentage to 2% (6144 blocks)

        -O [^]FEATHER:開啓或關閉某種特性;
                   dir_index
                   dir_nlink
                   extra_isize
                   filetype
                   flex_bg
                   has_journal
                   huge_file
                   large_file
                   resize_inode
                   mmp   
                   sparse_super
                   uninit_bg        

        -o [^]mount_options:開啓或關閉某種默認掛載選項
                  debug
                  bsdgroups
                  user_xattr
                  acl
                  uid16
                  journal_data
                  journal_data_ordered
                  journal_data_writeback
                  nobarrier
                  block_validity
                  discard
                  nodelalloc

        注意:塊大小創建後不可修改。
---------------------------------------------------------------------------------------------
      dumpe2fs命令:顯示ext系列文件系統的屬性信息
        dumpe2fs  [-h] device
---------------------------------------------------------------------------------------------
###:dumpe2fs:顯示 ext2/ext3/ext4 文件系統的屬性信息
SYNOPSIS:
       dumpe2fs [ -bfhixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device
OPTIONS:
      -h:只顯示超級塊信息,不顯示塊組描述符的詳細信息。
            ~]# dumpe2fs -h /dev/sda3
---------------------------------------------------------------------------------------------
###:lsmod:在內核中顯示模塊的狀態
---------------------------------------------------------------------------------------------


文件系統檢測的工具:
      因進程意外中止或系統崩潰等 原因導致定稿操作非正常終止時,可能會造成文件損壞;此時,應該檢測並修復文件系統; 建議,離線進行。
---------------------------------------------------------------------------------------------
###:e2fsck:檢查 ext2/ext3/ext4 文件系統
SYNOPSIS:
            e2fsck [OPTIONS]  device
OPTIONS:
            -y:對所有問題自動回答爲yes。
            -f:即使文件系統處於clean狀態,也要強制進行檢測。
---------------------------------------------------------------------------------------------
###:fsck:檢查和修補Linux文件系統
SYNOPSIS:
       fsck [-lrsAVRTMNP] [-C [fd]] [-t fstype] [filesystem...]  [--] [fs-specific-options]
OPTIONS:
      -t fstype:指明文件系統類型。
            ~]# fsck -t ext4

      -a:無須交互而自動修復所有錯誤。
            ~]# fsck -a
                    fsck from util-linux 2.23.2

      -r:交互式修復;
            ~]# fsck -r
                    fsck from util-linux 2.23.2
---------------------------------------------------------------------------------------------



掛載與卸載
---------------------------------------------------------------------------------------------
###:mount:掛載一個文件系統
SYNOPSIS:
       mount [-lhV]
       mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
       mount [-fnrsvw] [-o option[,option]...]  device|dir
       mount [-fnrsvw] [-t vfstype] [-o options] device dir
DESCRIPTION:
      根文件系統這外的其它文件系統要想能夠被訪問,都必須通過“關聯”至根文件系統上的某個目錄來實現,此關聯操作即爲“掛載”;此目錄即爲“掛載點。
      掛載點:mount_point,用於作爲另一個文件系統的訪問入口。
        (1) 事先存在。
        (2) 應該使用未被或不會被其它進程使用到的目錄。
        (3) 掛載點下原有的文件將會被隱藏。
OPTIONS:
        -r:readonly,只讀掛載。
        -w:read and write, 讀寫掛載。
        -n:默認情況下,設備掛載或卸載的操作會同步更新至/etc/mtab文件中;-n用於禁止此特性。
        -t vfstype:指明要掛載的設備上的文件系統的類型;多數情況下可省略,此時mount會通過blkid來判斷要掛載的設備的文件系統類型。
        -L LABEL:掛載時以卷標的方式指明設備。
              mount -L LABEL dir
        -U UUID:掛載時以UUID的方式指明設備。
              mount -U UUID dir
      -o options:掛載選項。
        sync/async:同步/異步操作。
        atime/noatime:文件或目錄在被訪問時是否更新其訪問時間戳。
        diratime/nodiratime:目錄在被訪問時是否更新其訪問時間戳。
        remount:重新掛載。
        acl:支持使用facl功能。
          # mount -o acl  device dir
          # tune2fs  -o  acl  device
        ro:只讀
        rw:讀寫
        dev/nodev:設備上是否允許創建設備文件。
        exec/noexec:是否允許運行程序文件(可執行文件)
        auto/noauto:自動掛載,必須在fstab存在
        user/nouser:是否允許普通用戶掛載此文件系統
        suid/nosuid:是否允許程序文件上的suid和sgid生效
        defaults:Use default option rw,suid dev exec auto nouser async ,and relatime.

使用技巧:
      綁定操作:將目錄綁定到另外一個目錄上,當做其臨時訪問入口。
            mount --bind 源目錄 目標目錄
      所有已掛載的設備:
            1,  mount
            2, cat /etc/mtab
            3, cat /proc/mounts
      掛載光盤:
            mount -r /dev/cdroom mount_point
            光盤設備文件:/dev/cdrom /dev/cdrw (sr0 或者 hdc)
            mount -r /dev/cdrom /media/cdrom
      掛載u盤:
            識別U盤設備文件。
      掛載本地的迴環設備
            mount -o loop 源文件 目標目錄

設定除根文件系統以外的其它文件系統能夠開機時自動掛載:/etc/fstab文件 
    每行定義一個要掛載的文件系統及相關屬性:
      6個字段:
        (1) 要掛載的設備:
          設備文件;
          LABEL
          UUID
          僞文件系統:如sysfs, proc, tmpfs等
        (2) 掛載點 
          swap類型的設備的掛載點爲swap;
        (3) 文件系統類型;
        (4) 掛載選項
          defaults:使用默認掛載選項;
          如果要同時指明多個掛載選項,彼此間以事情分隔;
            defaults,acl,noatime,noexec
        (5) 轉儲頻率
          0:從不備份;
          1:每天備份;
          2:每隔一天備份;
        (6) 自檢次序
          0:不自檢;
          1:首先自檢,通常只能是根文件系統可用1;
          2:次級自檢
          ...
        
      mount  -a:可自動掛載定義在此文件中的所支持自動掛載的設備;
---------------------------------------------------------------------------------------------
###:umount:卸載一個文件系統
SYNOPSIS:
       umount [-hV]
       umount -a [-dflnrv] [-t vfstype] [-O options]
       umount [-dflnrv] {dir|device}...
DESCRIPTION:
      注意:正在被進程訪問到的掛載點無法被卸載;
OPTIONS:
      umount        device | dir

      查看被哪個或哪些進程所戰用:
        ~]# lsof  掛載點 
        ~]# fuser -v  掛載點
      終止所有正在訪問某掛載點的進程:
        ~]# fuser  -km  掛載點
---------------------------------------------------------------------------------------------
###:mkswap:設置一個交換區
SYNOPSIS:
       mkswap [options] device [size]
DESCRIPTION:
    usr var 可以是單獨的分區。
    bin sbin 等必須在根分區上。
    Linux上的交換分區必須使用獨立的文件系統,且文件系統的System ID必須爲82。
OPTIONS:
       -f, --force:強制
          ~]# mkswap -f /dev/sda3
                mkswap: /dev/sda3: warning: wiping old ext2 signature.
                Setting up swapspace version 1, size = 307196 KiB
                no label, UUID=79b32869-c56a-49f7-8330-2a04eeda2a2b

       -L, --label label:指明卷標
            ~]# mkswap -L 'Label' /dev/sda3

      開啓與關閉交換分區:
          啓用交換分區:swapon device
                  -a:所有swap設備(定義在/etc/fstab 文件中的所有swap設備。)
          禁用交換分區:swapoff device

      設定開機自動掛載(除根文件以外的文件系統):/etc/fstab
            設備(設備文件 LABEL uuid 僞文件系統) 
            掛砸點:swap比較特殊(swapon 激活)
            文件系統 
            掛載選項:defaults,指明多個掛載點逗號分隔。
                    defaults,acl,noatime,noexec
            轉儲頻率(備份)
                  0:從不備份
                  1:每天備份
                  2:每隔一天備份
          自檢次序
                0:不自檢
                1:首先自檢
                2:次級自檢
                .....
                9
---------------------------------------------------------------------------------------------


統計與查看
---------------------------------------------------------------------------------------------
###:df:查看磁盤使用狀態
OPTIONS:
    -l:只顯示本地文件系統
    -h:轉換單位。
    -i:inode使用量
---------------------------------------------------------------------------------------------
###:du:評估文件大小
OPTIONS:
    -s:整體顯示
    -h:換算單位
---------------------------------------------------------------------------------------------
###:free -m :查看內存使用狀態
OPTIONS:
      -a:以M單位
      -g:以G單位

發佈了86 篇原創文章 · 獲贊 18 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章