一、Linux文件系統簡介
任何一個操作系統中,文件管理是其基本功能之一,而文件的管理是由文件系統來完成的。文件系統主要用于組織和管理計算機存儲設備上的大量文件, 并提供用戶交互接口。
數據在硬盤上是二進制的,文件系統可以将這些二進制數據還原為相應文件形式,并實現數據的查詢和存儲等。存儲數據的物理設備有硬盤、U盤、SD卡、Flash、網絡存儲設備等。不同的存儲設備有不同的物理結構,因此就需要不同的文件系統去管理,比如管理Nand Flash使用Yaffs文件系統,管理硬盤/SD卡使用ext文件系統等。
Linux支持的文件系統格式很多,主要分為以下幾類:
二、Linux磁盤文件系統
接下來主要介紹磁盤文件系統。目前Ext4(Extended file sytem,擴展文件系統)是廣泛使用的一種磁盤文件系統格式。是在Ext3基礎上發展起來的,對有效性保護、數據完整性、數據訪問速度、向下兼容性等方面做了改進,其特點是日志文件系統:可将整個磁盤的寫入動作完整地記錄在磁盤的某個區域上,以便在必要時回溯追蹤。
磁盤是一種計算機的外部存儲器設備,由一個或多個覆蓋有磁性材料的鋁制或玻璃制的碟片組成,用來存儲用戶的信息,這種信息可以反複地被讀取和改寫,主要分為以下幾類:
Linux中硬盤以及分區等設備均表示為文件,其命名規則如下:
下面是一些具體的命名實例:
/dev/hda #表示第一個IDE硬盤
/dev/hda1 #表示第一塊IDE硬盤的第一個主分區
/dev/hda2 #表示第一塊IDE硬盤的擴展分區(或第二個主分區)
/dev/hda5 #表示第一塊IDE硬盤的第一個邏輯分區
/dev/hda8 #表示第一塊IDE硬盤的第四個邏輯分區
/dev/hdb #表示第二個IDE硬盤
/dev/sda #表示第一個SCSI硬盤
/dev/sda1 #表示第一個SCSI硬盤的第一個主分區
/dev/sdd3 #表示第四個SCSI硬盤的第三個主分區
為了便于管理和使用,通常會對磁盤進行分區:
下圖中的分區方案為:2個主分區 1個擴展分區,其中擴展分區又分割出了2個邏輯分區
交換分區(swap):安裝系統時建立的,一塊特殊的硬盤空間,當實際内存不夠用時,操作系統會從内存中取出部分暫時不用的數據,放在swap中,為當前程序騰出足夠的内存空間。swap不會使用到目錄樹的挂載,無需指定挂載點(即cd無法進入)。
三、Linux文件系統結構
Linux采用載入/挂載的方式将分區與目錄聯系起來,通過訪問目錄就可以訪問分區的存儲空間。挂載點就是硬盤分區挂載到文件系統的某目錄後,該目錄就是相應分區的挂載點。
在挂載點創建的文件,實際上是存儲到硬盤的分區上,通過挂載點可以訪問分區上的文件,若将硬盤分區與目錄的挂載關系删除,分區上的文件不會被删除,隻是原挂載點不能訪問到分區上的文件。
除了swap分區外,其他分區都是在根分區(/)目錄上操作的。Linux文件系統是一個樹形的分層組織結構,根作為整個文件系統的惟一起點,其他所有目錄都從該點出發,如下圖:
由于Linux是完全開源的軟件,因此衆多Linux發行版本的目錄結構不盡相同。為了規範文件目錄命名和存放标準,頒發了文件層次結構标準(FHS),Ubuntu系統也遵循該标準。
四、文件系統與磁盤管理相關命令
文件系統與磁盤管理相關命令非常多,下面僅對幾個較常用的命令做簡單介紹
⏩ df命令:disk free,用于列出文件系統的整體磁盤使用量,命令的格式為:
df [-a -h -i -k -H -T -m] [目錄或文件名]
不加參數使用時,默認會将系統内所有的(特殊内存與swap除外)都以Kbytes容量列出來。常用的選項如下示:
⏩ du命令:disk used,用于查看文件和目錄磁盤使用空間的,命令的格式為:
du [-a -h -s -k -m] 文件或目錄名稱
不加參數使用時,默認會分析當前所在目錄裡的子目錄所占用的硬盤空間。常用的選項如下示:
⏩ fdisk命令:磁盤分區表操作工具,命令的格式為:
fdisk [-l] 裝置名稱
常用的選項如下示:
⏩ file命令:用于辨識文件類型,命令的格式為:
file [-b -c -L -v -z][-f <名稱文件>][文件或目錄...]
常用的選項如下示:
⏩ mkdir命令:make directory的縮寫,用于創建目錄,命令的格式為:
mkdir [-p] dirName
常用的選項如下示:
⏩ ln命令:link files,為某一個文件在另外一個位置建立一個同步的鍊接。命令的格式為:
ln [參數][源文件或目錄][目标文件或目錄]
常用的選項如下示:
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!