linux磁盤管理及文件系統

linux磁盤管理及文件系統

硬盤存儲術語
?    head:磁頭 ?

        track:磁道 ?

        cylinder: 柱面 ?

        secotr: 扇區,512bytes

分區
?   兩種分區方式:MBR,GPT ?

       MBR:

               Master Boot Record,1982年,使用32位表示扇區 數,分區不超過2T ?

       如何分區:

               按柱面 ?

       0磁道0扇區:

              512bytes 446bytes: boot loader

              64bytes:分區表

             16bytes: 標識一個分區

             2bytes: 55AA ?

            4個主分區;3主分區+1擴展(N個邏輯分區)

        GPT:

                GUID patition table 支持128個分區,使用64位,支 持8Z( 512Byte/block )64Z ( 4096Byte/block) ?

                使用128位UUID 表示磁盤和分區 GPT分區表自動備份在頭 和尾兩份,并有CRC校驗位 ?

                UEFI (統一擴展固件接口)硬件支持GPT

Linux磁盤管理常用三個命令為df、du和fdisk。

         df:列出文件系統的整體磁盤使用量 

         du:檢查磁盤空間使用量

         fdisk:用于磁盤分區

df命令

      df命令參數功能:檢查文件系統的磁盤空間占用情況??梢岳迷撁顏慝@取硬盤被占用了多少空間,目前還剩下多少空間等信息。

語法:

        df +選項+文件

選項與參數:

  • -a :列出所有的文件系統,包括系統特有的 /proc 等文件系統;

  • -k :以 KBytes 的容量顯示各文件系統;

  • -m :以 MBytes 的容量顯示各文件系統;

  • -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;

  • -H :以 M=1000K 取代 M=1024K 的進位方式;

  • -T :顯示文件系統類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;

  • -i :不用硬盤容量,而以 inode 的數量來顯示

列出所有文件系統   df -a

image.png

將容量結果以易讀的容量格式顯示出來    df -h

image.png

將系統內的所有特殊文件格式及名稱都列出來   df -aT

image.png

將 /etc 底下的可用的磁盤容量以易讀的容量格式顯示   df -h /etc

image.png

du命令

linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有一些區別的,這里介紹Linux du命令

語法  du + 選項+文件或者目錄名稱

選項與參數:

  • -a :列出所有的文件與目錄容量,因為默認僅統計目錄底下的文件量而已。

  • -h :以人們較易讀的容量格式 (G/M) 顯示;

  • -s :列出總量而已,而不列出每個各別的目錄占用容量;

  • -S :不包括子目錄下的總計,與 -s 有點差別。

  • -k :以 KBytes 列出容量顯示;

  • -m :以 MBytes 列出容量顯示;

實例:

列出/etc所有的文件目錄容量    du -a

image.png

與 df 不一樣的是,du 這個命令其實會直接到文件系統內去搜尋所有的文件數據。


分區工具fdisk和gdisk

語法:

     fdisk +選項+裝置名

     gaisk+選項+裝置名

          -l :輸出后面接的裝置所有的分區內容。若僅有 fdisk -l 時, 則系統將會把整個系統內能夠搜尋到的裝置的分區均列出來

image.png


創建分區

image.png

子命令: ?

       p 分區列表 ?

       t 更改分區類型 ?

       n 創建新分區 ?

       d 刪除分區 ?

       w 保存并退出 ?

       q 不保存并退出

 查看內核是否已經識別新的分區:

           # cat /proc/partitions

image.png

       通知內核重新讀取硬盤分區表

        新增分區用

               partx -a -n M:N /dev/DEVICE

               kpartx -a /dev/DEVICE -f: force

       刪除分區用

               partx -d -n M:N /dev/DEVICE centos6: –nr N-M ?

    CentOS 5,7: 使用partprobe ?

     partprobe [/dev/DEVICE]


parted命令 ?

        parted的操作都是實時生效的,小心使用 ?

            用法:

                   parted [選項]… [設備 [命令 [參數]…]…]

                   parted /dev/sdb mklabel gpt|msdos

                   parted /dev/sdb print parted /dev/sdb mkpart primary 1 200 (默認M)

                   parted /dev/sdb rm 1

                   parted -l

文件系統
?    文件系統是操作系統用于明確存儲設備或分區上的文件的方 法和數據結構;即在存儲設備上組織文件的方法。操作系統 中負責管理和存儲文件信息的軟件結構稱為文件管理系統, 簡稱文件系統。 ?

        從系統角度來看,文件系統是對文件存儲設備的空間進行組 織和分配,負責文件存儲并對存入的文件進行保護和檢索的 系統。具體地說,它負責為用戶建立文件,存入、讀出、修 改、轉儲文件,控制文件的存取,安全控制,日志,壓縮, 加密等。

文件系統類型
?    Linux文件系統: ext2, ext3, ext4, xfs(SGI), btrfs( Oracle), reiserfs, jfs(AIX), swap swap: 交換分區 光盤:iso9660 ?

       Windows:fat32, ntfs ?

       Unix: FFS(fast), UFS(unix), JFS2 ?

       網絡文件系統:NFS, CIFS ?

       集群文件系統:GFS2, OCFS2(oracle) ?

       分布式文件系統:ceph, moosefs, mogilefs, glusterfs, Lustre ?

       RAW:未經處理或者未經格式化產生的文件系統

文件系統分類
?   根據其是否支持"journal"功能:

             日志型文件系統: ext3, ext4, xfs, …

             非日志型文件系統: ext2, vfat ?

      文件系統的組成部分:

             內核中的模塊:ext4, xfs, vfat

             用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat ?

       Linux的虛擬文件系統:VFS ?

       查前支持的文件系統:cat /proc/filesystems

磁盤格式化(創建文件系統)

       磁盤分割完畢后自然就是要進行文件系統的格式化,格式化的命令非常的簡單,使用 mkfs(make filesystem) 命令。

       語法:mkfs [-t 文件系統格式] 裝置文件名

mkfs命令:

      (1) # mkfs.FS_TYPE /dev/DEVICE ext4 xfs btrfs vfat

image.png

      (2) # mkfs -t FS_TYPE /dev/DEVICE -L 'LABEL': 設定卷標

image.png

創建ext文件系統

    ?mke2fs:ext系列文件系統專用管理工具

                   -t {ext2|ext3|ext4}

                   -b {1024|2048|4096}

                   -L 'LABEL'

                   -j: 相當于 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

                   -i #: 為數據空間中每多少個字節創建一個inode;此大 小不應該小于block的大小

                   -N #:為數據空間創建個多少個inode

                   -I 一個inode記錄大小128—4096

                   -m #: 默認5%,為管理人員預留空間占總空間的百分比

                   -O FEATURE[,…]:啟用指定特性

                   -O ^FEATURE:關閉指定特性

        blkid:塊設備屬性信息查看

                blkid [OPTION]… [DEVICE]

                       -U UUID: 根據指定的UUID來查找對應的設備

image.png

                       -L LABEL:根據指定的LABEL來查找對應的設備 ?

                       e2label:管理ext系列文件系統的LABEL # e2label DEVICE [LABEL]

           ?findfs :查找分區

                       findfs [options] LABEL=<label>

                       findfs [options] UUID=<uuid>

tune2fs
?    tune2fs:重新設定ext系列文件系統可調整參數的值

                    -l:查看指定文件系統超級塊信息;super block

                    -L 'LABEL':修改卷標

                    -m #:修預留給管理員的空間百分比

                    -j: 將ext2升級為ext3

                    -O: 文件系統屬性啟用或禁用,

                    –O ^has_journal

                   -o: 調整文件系統的默認掛載選項,–o ^acl

                    -U UUID: 修改UUID號 ?

          dumpe2fs:

                    -h:查看超級塊信息(分組信息),分區用分組管理

磁盤檢驗

       fsck(file system check)用來檢查和維護不一致的文件系統。
      若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。

語法:fsck [-t 文件系統] [-ACay] 裝置名稱

選項與參數:

  • -t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數

  • -s : 依序一個一個地執行 fsck 的指令來檢查

  • -A : 對/etc/fstab 中所有列出來的 分區(partition)做檢查

  • -C : 顯示完整的檢查進度

  • -d : 打印出 e2fsck 的 debug 結果

  • -p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行

  • -R : 同時有 -A 條件時,省略 / 不檢查

  • -V : 詳細顯示模式

  • -a : 如果檢查有錯則自動修復

  • -r : 如果檢查有錯則由使用者回答是否修復

  • -y : 選項指定檢測每個文件是自動輸入yes,在不確定那些是不正常的時候,可以執行 # fsck -y 全部檢查修復。

查看系統有多少文件系統支持的 fsck 命令

image.png

檢查分區/dev/sdc2

image.png

掛載mount ?

      掛載:    將額外文件系統與根文件系統某現存的目錄建立起關聯 關系,進而使得此目錄做為其它文件訪問入口的行為

      卸載:   為解除此關聯關系的過程 ?

      把設備關聯掛載點:mount Point mount ?

      卸載時:可使用設備,也可以使用掛載點 umount ?

      掛載點下原有文件在掛載完成后會被臨時隱藏 ?

      掛載點目錄一般為空

Linux 的磁盤掛載使用 mount 命令,卸載使用 umount 命令

語法:mount [-t 文件系統] [-L Label名] [-o 額外選項] [-n]  裝置文件名  掛載點

image.png

image.png

mount常用命令選項 ?

          -t vsftype:指定要掛載的設備上的文件系統類型 ?

          -r: readonly,只讀掛載

      ?-w: read and write, 讀寫掛載 ?

          -n: 不更新/etc/mtab,相當于#mount ?

          -a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab 文件中,且掛載選項中有auto功能)

       ?-L 'LABEL': 以卷標指定掛載設備 ?

          -U 'UUID': 以UUID指定要掛載的設備 ?

          -B, –bind: 綁定目錄到另一個目錄上 ?

      查看內核追蹤到的已掛載的所有設備:

          cat /proc/mounts

image.png

mount常用命令選項
?   -o options:(掛載文件系統的選項),多個選項使用逗號分隔

       async:異步模式

       sync:同步模式,內存更改時,同時寫磁盤

       atime/noatime:包含目錄和文件

       diratime/nodiratime:目錄的訪問時間戳

       auto/noauto:是否支持自動掛載,是否支持-a選項

       exec/noexec:是否支持將文件系統上運行應用程序

       dev/nodev:是否支持在此文件系統上使用設備文件

       suid/nosuid:不否支持suid和sgid權限

       remount:重新掛載

       ro:只讀

       rw:讀寫

       user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載

       acl:啟用此文件系統上的acl功能 ?

       Defaults:相當于rw, suid, dev, exec, auto, nouser, async

卸載命令
?   查看掛載情況: #findmnt MOUNT_POINT ?

       查看正在訪問指定文件系統的進程:

               #lsof MOUNT_POINT #fuser -v MOUNT_POINT ?

       終止所有在正訪問指定的文件系統的進程:

               # fuser -km MOUNT_POINT ?

       卸載:

             # umount DEVICE

             # umount MOUNT_POINT

選項與參數:

  • -f :強制卸除!可用在類似網絡文件系統 (NFS) 無法讀取到的情況下;

  • -n :不升級 /etc/mtab 情況下卸除。

image.png

注:  顯示塊文件的三種方法

  1、lsblk

  2、ll /dev/sd*

  3、cat /proc/partitions


原創文章,作者:xiaoqiang512,如若轉載,請注明出處:http://www.www58058.com/40221

(0)
xiaoqiang512xiaoqiang512
上一篇 2016-08-26 09:11
下一篇 2016-08-26 09:11

相關推薦

  • drbd+corosync+pacemaker

    存儲分類: DAS:直接附加存儲;例如ide,sata,scsi,sas等 NAS:網絡附加存儲;即文件級別共享存儲;例如nfs等 SAN:存儲區域網絡;即塊級別共享存儲;例如ip-san,fc-san   共享存儲選型比較: SAN性能優良,價格昂貴; NAS性能基于文件系統級別,性能低下; 因此,另一個DRBD誕生,全稱為分布式復制塊設備,Di…

    Linux干貨 2017-11-13
  • 如何使用正則表達式

    正則表達式(Regular Expression)就是使用簡單的字符按照預先設定的規則來完成復雜的功能,說白了,正則表達式是一種字符串的匹配方式,就是用預先設定好的規則來描述我們想要表達的內容,它是由普通字符以及元字符組成的字符串,其中元字符不表示本身的意義,而是用于表達控制或通配等功能。 為什么要用這個東西那,我想,每一個學習計算機的人都應該明白,計算機就…

    Linux干貨 2015-10-27
  • Tomcat公貓

    官方站點:http://tomcat.apache.org/ Tomcat是一個能夠運行java頁面(jsp)的java’web服務器程序;安裝使用之前需要先安裝jdk包 jdk是JAVA的開發工具包,已隨base收錄進來,安裝jdk1.8版本:yum -y install java-1.8.0-openjdk-devel (其中jvm虛擬機的運行程序就叫j…

    2017-05-23
  • Linux中的包管理

    1. RPM介紹 rpm是linux中的包管理軟件,通過rpm用戶可以對rpm包進行查詢、安裝、卸載、升級和校驗等操作。 1.1 查詢 查詢 -q:可以查看某個包是否已經安裝 -qa:查看系統已經安裝的所有包 -qi:查詢某個安裝包的詳細情況 -ql:查詢安裝某個包之后會生成哪些文件 -qc:查詢某個軟件的配置文件 -qd:查詢某個軟件的所有文檔 &#821…

    Linux干貨 2017-04-17
  • 2016-11-4作業

    1、創建一個2G的文件系統,塊大小為2048byte,預留1%可用空間,文件系統ext4,卷標為TEST,要求此分區開機后自動掛載至/test目錄,且默認有acl掛載選項  mkfs.ext4 -b 2048  -L "TEST" -m 1 /dev/sdb6 2、寫一個腳本,完成如下功能: (1) 列出當前系統識別到…

    Linux干貨 2016-11-06
  • Linux 第四天: (07月28日) 練習和作業

    Linux 第四天: (07月28日) 練習和作業         定義別名命令baketc, 每天將/etc/目錄下所有文件, 備份到/testdir獨立的子目錄下, 并要求子目錄格式為backupYYYY-mm-dd, 備份過程可見 alias baketc='cp -a /etc/ /testdir/b…

    Linux干貨 2016-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-26 11:26

    linux磁盤和文件系統管理是基礎知識,對于分區工具,格式化工具等都需要能熟練運用,文章對這些知識總結的很全面你,建議下來多加練習。

欧美性久久久久