文件系統管理

文件系統管理

文件系統包含着文件中的數據而且還有文件系統的結構;所有Linux用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。

Linux中普通文件和目錄文件保存在稱爲塊物理設備的磁盤上。一套Linux系統支持若干物理盤,每個物理盤可定義一個或者多個文件系統。每個文件系統由邏輯塊的序列組成,一個邏輯盤空間一般劃分爲幾個用途各不相同的部分,即引導塊、超級塊、inode區以及數據區等

引導塊:在文件系統的開頭,通常爲一個扇區,其中存放引導程序,用於讀入並啓動操作系統;超級塊:用於記錄文件系統的管理信息。特定的文件系統定義了特定的超級塊;inode區(索引節點):一個文件或目錄佔據一個索引節點。第一個索引節點是該文件系統的根節點。利用根節點,可以把一個文件系統掛在另一個文件系統的非葉節點上;數據區:用於存放文件數據或者管理數據。

磁盤也叫硬盤;硬盤的接口類型有並行和串行,並行的有IDEHSCSI,串行的有SATASASUSB

磁盤設備的設備文件命令格式爲:/dev/DEV_FILE

         IDE:  /dev/hd...

         SCSI,SATA,SAS,USB:  /dev/sd...

                不同的設備後面跟的不同,一般是a-z

                        例:/dev/sda/dev/sdb......

            同一設備上的不同分區:12...

                  例:/dev/sda1/dev/sda5

硬盤現在有機械式硬盤和固態硬盤。機械式硬盤包括磁道、柱面和扇區。分區是按柱面進行的。還有一個扇區不屬於任何分區,就叫0磁道0扇區吧,它有512bytes;裏面存放上整個磁盤管理的內容後,就叫MBRMaster Boot Record)了。這512bytes中,前446bytes用來存bootloader(引導加載器)的,後面64bytes用來存放分區表,最後2bytes存放416進制數,來標識MBR的有效性(如果是55AA,前面的字節所存的信息有效;否則,無效)。16bytes標識一個分區,所以一個磁盤最多有4個主分區。隨着科技的發展,磁盤越來越大,所以一般是3個主分區和一個擴展分區(這個擴展分區可以再分多個邏輯分區,這個擴展分區不能存儲數據,邏輯分區的編號一般從5開始)

MBR只能識別2T大小的硬盤,要是更大的硬盤就需要使用GPT

分區管理工具有fdiskpartxsfdisk

fdisk:對於一塊硬盤來說,最多隻能管理15個分區

fdisk -l [-u] [device...]——查看磁盤分區的信息,如果後面不跟設備名,顯示所有設備磁盤分區信息

wKioL1XcRWGwRASCAAL51Vq5Ljk891.jpg

fdisk  device(設備名)

      子命令:管理功能

             p:print, 顯示已有分區

    m: 獲取幫助

    n: new, 創建

             d:delete, 刪除

             w:write, 保存並退出

             q:quit, 放棄更新並退出

             t:調整分區id

             l:列表顯示所有分區id

wKiom1XcRPLwH571AAJ_XsEokoQ500.jpg

在裏面分好後查看下,在這裏查看到,並不意味着在內核中已經實現了,需要查看/proc/partitions文件,如果裏面也同步了,意味着在內核中實現了新的分區

wKiom1XcRQGA6S4kAAILF-J8fgE495.jpg

wKiom1XcRSGBs8LJAALdAmJ3-nY941.jpg

從中可以看出沒有同步到內核中,

要通知內核讀取新的分區需要使用partx命令來識別

partx  –a /dev/sda就行了;或者使用partx  –a –n 4:6 /dev/sda

使用kpartx  –a  /dev/sda同樣可以

wKioL1XcR0yjn1cDAAHy_99Ocso748.jpg

         再次查看,就可以看到存在了

                 wKiom1XcRUrRSwF_AADxYPtBuq4838.jpg

Linux文件系統:

Linux文件系統包括 ext2, ext3, ext4,xfs, btrfs, reiserfs, jfs, swap(交換分區,就是把磁盤空間當內存使用)等

根據其是否支持“journal”(日誌)功能分爲:

      日誌型文件系統:ext3,ext4,xfs,...

      非日誌型文件系統:ext2,vfat

文件系統的組成部分:

    內核中的模塊:ext4

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

用戶面對的不是這個組成部分,而是Linux虛擬文件系統(VFS),就是消除底層的不同,爲上層提供一個相同的服務

創建文件系統:

    (A)、mkfs命令:

         使用格式:(1mkfs.FS_TYPE /dev/DEVICE

                                                                 ext4xfsbtrfsvfat

              2mkfs -t FS_TYPE /dev/DEVICE

                                                                   -L 'LABEL': 設定卷標

wKioL1XcR3HB6hFbAABRbA5FaFs435.jpg

wKioL1XcR4eQ5QmJAAJs_w9jM9E152.jpg

使用blkid /dev/sda5可以查看磁盤分區的信息

wKiom1XcRX7B8HQYAAB6Gfy1F4g733.jpg

 

    (B)、mke2fsext系列文件系統專用管理工具

       -t {ext2|ext3|ext4}

       -b {1024|2048|4096}

       -L 'LABEL'

       -j: 相當於 -t ext3

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

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

       -m #: 爲管理人員預留的空間佔據的百分比;

       -O FEATURE[,...]:啓用指定特性

       -O ^FEATURE:關閉指定特性

創建ext3的文件系統可以使用:mkfs.ext3 mkfs -t ext3 mke2fs -j mke2fs -t ext3

      C)、mkswap:創建交換分區

            mkswap [options]device

               -L 'LABEL'

這個命令有個前提:其分區的ID必須爲爲82;如果不是要使用fdisk命令的-t選項調整爲82

其它常用工具:

1blkid:塊設備屬性信息查看

blkid [OPTION]... [DEVICE]

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

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

2e2label:管理ext系列文件系統的LABEL

# e2label DEVICE [LABEL]

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

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

-L 'LABEL':修改卷標

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

-j: ext2升級爲ext3

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

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

-U UUID: 修改UUID號;

文件系統檢測:

           1fsck: File System CheCk

                  fsck.FS_TYPE/dev/DEVICE

(檢測某個文件系統,必須使用相對應的文件系統,FS_TYPE一定要與分區上已經文件類型相同)

                 fsck-t FS_TYPE

                    -a:自動修復錯誤

                    -r:交互式修復錯誤

                   wKioL1XcR67goEPHAAB_6MYet94472.jpg

           2e2fsckext系列文件專用的檢測修復工具

                 -y:自動回答爲yes;

                 -f:強制修復;

設備文件的掛載使用mount命令,卸載使用umount,查看當前內核已掛載的設備,使用mount回車,或者使用cat /pron/mounts,或者df都可以。


    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章