本文為joshua317原創文章,轉載請注明:轉載自joshua317博客 https://www.joshua317.com/article/165
一、簡介
Linux下的mkfs(英文全拼:make file system)命令用於在特定的分區上建立 linux 文件系統。
在磁盤分區上創建ext2、ext3、ext4、ms-dos、vfat、xfs文件系統,默認情況下會創建ext2。mkfs用於在設備上構建Linux文件系統,通常是硬盤分區。文件要么是設備名稱(例如/dev/vda1,/dev/vdb1),要么是包含文件系統的常規文件。成功返回0,失敗返回1。
二、格式說明
mkfs [options] [-t <type>] [fs-options] <device> [<size>]
mkfs [參數]...[設備]...
Usage:
mkfs [options] [-t <type>] [fs-options] <device> [<size>]
Options:
-t, --type=<type> filesystem type; when unspecified, ext2 is used
fs-options parameters for the real filesystem builder
<device> path to the device to be used
<size> number of blocks to be used on the device
-V, --verbose explain what is being done;
specifying -V more than once will cause a dry-run
-V, --version display version information and exit;
-V as --version must be the only option
-h, --help display this help text and exit
三、選項說明
device 預備檢查的硬盤分區,例如:/dev/vda1
-t 給定文件系統的型式,Linux 的預設值為 ext2
-V 詳細顯示模式
-c 在制做文件系統前,檢查該partition 是否有壞軌
-l bad_blocks_file 將有壞軌的block資料加到 bad_blocks_file 里面
block 給定 block 的大小
四、命令功能
在特定的分區上建立 linux 文件系統
五、常見用法
5.1 在 /dev/vdb1上建一個 ext3的文件系統,同時檢查是否有壞軌存在,並且將過程詳細列出來
# mkfs -V -t ext3 -c /dev/vdb1
在這篇文章中也有提到為分區創建文件系統,一天一個 Linux 命令(26):fdisk 命令
5.2 將vda1分區格式化為ext4格式
# mfks -t ext4 /dev/vdb1
# df -hT /dev/vdb1
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 50G 23G 25G 49% /
5.3 查看mkfs可以創建的文件系統
輸入"mkfs",然后按兩次Tab鍵。 "mkfs"后沒有空格,只需按兩次Tab鍵即可。可用文件系統的列表顯示在終端窗口中。
其中,Linux 的預設值為 ext2
# mkfs
mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs
5.3.1 擴展知識1
Ext2 :Linux的第一個文件系統是MINIX文件系統。 后來,它被有史以來第一個專門為Linux編寫的文件系統Ext所取代。 Ext2是Ext的后繼者 。 Ext2不是日記文件系統。
Ext3 :這是Ext2的后繼產品,可以看作是帶有日志記錄的Ext2,它可以保護文件系統免受崩潰和突然斷電導致的數據損壞。
Ext4 :Ext4是May Linux發行版的標准文件系統。 它是一個可靠,可靠的可靠文件系統。 它具有減少文件碎片的功能,並且與Ext3相比,可用於更大的驅動器,分區和文件。
MINIX :最初由Andrew S. Tanenbaum創建,目的是作為一種教育工具, MINIX是一個“微型Unix”操作系統。 如今,它旨在提供一種自我修復和容錯的操作系統 。 MINIX 文件系統被設計為Unix File System的簡化版本。
CRAMFS : 壓縮ROM文件系統是一個只讀文件系統,設計用於嵌入式系統和專業只讀用途,例如Linux計算機的引導過程中。 通常會先加載一個小型的臨時文件系統,以便啟動引導進程來為要安裝的“實際”啟動系統做准備。
XFS:XFS文件系統是SGI開發的高級日志文件系統,XFS極具伸縮性,非常健壯。所幸的是SGI將其移植到了Linux系統中。采用XFS文件系統,當意想不到的宕機發生后,首先,由於文件系統開啟了日志功能,所以你磁盤上的文件不再會意外宕機而遭到破壞了。不論目前文件系統上存儲的文件與數據有多少,文件系統都可以根據所記錄的日志在很短的時間內迅速恢復磁盤文件內容。XFS文件系統采用優化算法,日志記錄對整體文件操作影響非常小。XFS查詢與分配存儲空間非常快。xfs文件系統能連續提供快速的反應時間。XFS 是一個全64-bit的文件系統,它可以支持上百萬T字節的存儲空間。對特大文件及小尺寸文件的支持都表現出眾,支持特大數量的目錄。最大可支持的文件大小為263 = 9 x 1018 = 9 exabytes,最大文件系統尺寸為18 exabytes。XFS使用高的表結構(B+樹),保證了文件系統可以快速搜索與快速空間分配。XFS能夠持續提供高速操作,文件系統的性能不受目錄中目錄及文件數量的限制。XFS 能以接近裸設備I/O的性能存儲數據。在單個文件系統的測試中,其吞吐量最高可達7GB每秒,對單個文件的讀寫操作,其吞吐量可達4GB每秒。
5.3.2 擴展知識2
ext文件系統(支持度最廣、但格式化超慢):ext系列的文件系統,在文件格式化時,采用的是規划出所有的inode、區塊、元數據等數據,未來系統可以直接使用,不需要再進行動態配置,但是這個做法在早期磁盤容量還不大的時候可以使用。如今,磁盤的容量越來越大,連傳統的MBR都已經被GPT取代。當使用磁盤容量在TB以上的傳統ext系列文件系統在格式化的時候,會消耗相當多的時間。 xfs文件系統(容量高,性能佳):由於虛擬化的應用越來越廣泛,虛擬化磁盤來源的舉行文件越來越常見,這些巨型文件在處理上考慮到刑恩那個問題,因此xfs比較適合高容量磁盤與巨型文件,且性能較佳的文件系統。
本文為joshua317原創文章,轉載請注明:轉載自joshua317博客 https://www.joshua317.com/article/165