如你所知,Linux 支援非常多的檔案系統,例如 ext4、ext3、ext2、sysfs、securityfs、FAT16、FAT32、NTFS 等等,當前被使用最多的檔案系統是 ext4。你曾經疑惑過你的 Linux 系統使用的是什麼型別的檔案系統嗎?沒有疑惑過?不用擔心!我們將幫助你。本指南將解釋如何在類 Unix 的作業系統中檢視已掛載的檔案系統型別。
有很多種方法可以在 Linux 中檢視已掛載的檔案系統型別,下面我將給出 8 種不同的方法。那現在就讓我們開始吧!
這是查出檔案系統型別最常使用的方法。findmnt
命令將列出所有已掛載的檔案系統或者搜尋出某個檔案系統。findmnt
命令能夠在 /etc/fstab
、/etc/mtab
或 /proc/self/mountinfo
這幾個檔案中進行搜尋。
findmnt
預裝在大多數的 Linux 發行版中,因為它是 util-linux
包的一部分。如果 findmnt
命令不可用,你可以安裝這個軟體包。例如,你可以使用下面的命令在基於 Debian 的系統中安裝 util-linux
包:
$ sudo apt install util-linux
下面讓我們繼續看看如何使用 findmnt
來找出已掛載的檔案系統。
假如你只敲 findmnt
命令而不帶任何的引數或選項,它將像下面展示的那樣以樹狀圖形式列舉出所有已掛載的檔案系統。
$ findmnt
範例輸出:
正如你看到的那樣,findmnt
展示出了目標掛載點(TARGET
)、源裝置(SOURCE
)、檔案系統型別(FSTYPE
)以及相關的掛載選項(OPTIONS
),例如檔案系統是否是可讀可寫或者唯讀的。以我的系統為例,我的根(/
)檔案系統的型別是 EXT4 。
假如你不想以樹狀圖的形式來展示輸出,可以使用 -l
選項來以簡單平凡的形式來展示輸出:
$ findmnt -l
你還可以使用 -t
選項來列舉出特定型別的檔案系統,例如下面展示的 ext4
檔案系統型別:
$ findmnt -t ext4TARGET SOURCE FSTYPE OPTIONS/ /dev/sda2 ext4 rw,relatime,commit=360└─/boot /dev/sda1 ext4 rw,relatime,commit=360,data=ordered
findmnt
還可以生成 df
型別的輸出,使用命令
$ findmnt --df
或
$ findmnt -D
範例輸出:
SOURCE FSTYPE SIZE USED AVAIL USE% TARGETdev devtmpfs 3.9G 0 3.9G 0% /devrun tmpfs 3.9G 1.1M 3.9G 0% /run/dev/sda2 ext4 456.3G 342.5G 90.6G 75% /tmpfs tmpfs 3.9G 32.2M 3.8G 1% /dev/shmtmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroupbpf bpf 0 0 0 - /sys/fs/bpftmpfs tmpfs 3.9G 8.4M 3.9G 0% /tmp/dev/loop0 squashfs 82.1M 82.1M 0 100% /var/lib/snapd/snap/core/4327/dev/sda1 ext4 92.8M 55.7M 30.1M 60% /boottmpfs tmpfs 788.8M 32K 788.8M 0% /run/user/1000gvfsd-fuse fuse.gvfsd-fuse 0 0 0 - /run/user/1000/gvfs
你還可以展示某個特定裝置或者掛載點的檔案系統型別。
檢視某個特定的裝置:
$ findmnt /dev/sda1TARGET SOURCE FSTYPE OPTIONS/boot /dev/sda1 ext4 rw,relatime,commit=360,data=ordered
檢視某個特定的掛載點:
$ findmnt /TARGET SOURCE FSTYPE OPTIONS/ /dev/sda2 ext4 rw,relatime,commit=360
你甚至還可以檢視某個特定標籤的檔案系統的型別:
$ findmnt LABEL=Storage
更多詳情,請參考其 man 手冊。
$ man findmnt
findmnt
命令已足夠完成在 Linux 中檢視已掛載檔案系統型別的任務,這個命令就是為了這個特定任務而生的。然而,還存在其他方法來檢視檔案系統的型別,假如你感興趣的話,請接著往下看。
blkid
命令被用來查詢和列印塊裝置的屬性。它也是 util-linux
包的一部分,所以你不必再安裝它。
為了使用 blkid
命令來檢視某個檔案系統的型別,可以執行:
$ blkid /dev/sda1
在類 Unix 的作業系統中,df
命令被用來報告檔案系統的磁碟空間使用情況。為了檢視所有已掛載檔案系統的型別,只需要執行:
$ df -T
範例輸出:
關於 df
命令的更多細節,可以參考下面的指南。
同樣也可以參考其 man 手冊:
$ man df
file
命令可以判讀出某個特定檔案的型別,即便該檔案沒有檔案字尾名也同樣適用。
執行下面的命令來找出某個特定分割區的檔案系統型別:
$ sudo file -sL /dev/sda1[sudo] password for sk:/dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=83a1dbbf-1e15-4b45-94fe-134d3872af96 (needs journal recovery) (extents) (large files) (huge files)
檢視其 man 手冊可以知曉更多細節:
$ man file
fsck
命令被用來檢查某個檔案系統是否健全或者修復它。你可以像下面那樣通過將分割區名字作為 fsck
的引數來檢視該分割區的檔案系統型別:
$ fsck -N /dev/sda1fsck from util-linux 2.32[/usr/bin/fsck.ext4 (1) -- /boot] fsck.ext4 /dev/sda1
如果想知道更多的內容,請檢視其 man 手冊:
$ man fsck
fstab
是一個包含檔案系統靜態資訊的檔案。這個檔案通常包含了掛載點、檔案系統型別和掛載選項等資訊。
要檢視某個檔案系統的型別,只需要執行:
$ cat /etc/fstab
更多詳情,請檢視其 man 手冊:
$ man fstab
lsblk
命令可以展示裝置的資訊。
要展示已掛載檔案系統的資訊,只需執行:
$ lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINTloop0 squashfs /var/lib/snapd/snap/core/4327sda├─sda1 ext4 83a1dbbf-1e15-4b45-94fe-134d3872af96 /boot├─sda2 ext4 4d25ddb0-5b20-40b4-ae35-ef96376d6594 /└─sda3 swap 1f8f5e2e-7c17-4f35-97e6-8bce7a4849cb [SWAP]sr0
更多細節,可以參考它的 man 手冊:
$ man lsblk
mount
被用來在類 Unix 系統中掛載本地或遠端的檔案系統。
要使用 mount
命令檢視檔案系統的型別,可以像下面這樣做:
$ mount | grep "^/dev"/dev/sda2 on / type ext4 (rw,relatime,commit=360)/dev/sda1 on /boot type ext4 (rw,relatime,commit=360,data=ordered)
更多詳情,請參考其 man 手冊的內容:
$ man mount
好了,上面便是今天的全部內容了。現在你知道了 8 種不同的 Linux 命令來檢視已掛載的 Linux 檔案系統的型別。假如你知道其他的命令來完成同樣的任務,請在下面的評論部分讓我們知曉,我將確認並相應地升級本教學。
更過精彩內容即將呈現,請保持關注!