如何在 Linux 中檢視已掛載的檔案系統型別

2018-11-04 23:00:00

如你所知,Linux 支援非常多的檔案系統,例如 ext4、ext3、ext2、sysfs、securityfs、FAT16、FAT32、NTFS 等等,當前被使用最多的檔案系統是 ext4。你曾經疑惑過你的 Linux 系統使用的是什麼型別的檔案系統嗎?沒有疑惑過?不用擔心!我們將幫助你。本指南將解釋如何在類 Unix 的作業系統中檢視已掛載的檔案系統型別。

在 Linux 中檢視已掛載的檔案系統型別

有很多種方法可以在 Linux 中檢視已掛載的檔案系統型別,下面我將給出 8 種不同的方法。那現在就讓我們開始吧!

方法 1 – 使用 findmnt 命令

這是查出檔案系統型別最常使用的方法。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 中檢視已掛載檔案系統型別的任務,這個命令就是為了這個特定任務而生的。然而,還存在其他方法來檢視檔案系統的型別,假如你感興趣的話,請接著往下看。

方法 2 – 使用 blkid 命令

blkid 命令被用來查詢和列印塊裝置的屬性。它也是 util-linux 包的一部分,所以你不必再安裝它。

為了使用 blkid 命令來檢視某個檔案系統的型別,可以執行:

$ blkid /dev/sda1

方法 3 – 使用 df 命令

在類 Unix 的作業系統中,df 命令被用來報告檔案系統的磁碟空間使用情況。為了檢視所有已掛載檔案系統的型別,只需要執行:

$ df -T

範例輸出:

關於 df 命令的更多細節,可以參考下面的指南。

同樣也可以參考其 man 手冊:

$ man df

方法 4 – 使用 file 命令

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

方法 5 – 使用 fsck 命令

fsck 命令被用來檢查某個檔案系統是否健全或者修復它。你可以像下面那樣通過將分割區名字作為 fsck 的引數來檢視該分割區的檔案系統型別:

$ fsck -N /dev/sda1fsck from util-linux 2.32[/usr/bin/fsck.ext4 (1) -- /boot] fsck.ext4 /dev/sda1

如果想知道更多的內容,請檢視其 man 手冊:

$ man fsck

方法 6 – 使用 fstab 命令

fstab 是一個包含檔案系統靜態資訊的檔案。這個檔案通常包含了掛載點、檔案系統型別和掛載選項等資訊。

要檢視某個檔案系統的型別,只需要執行:

$ cat /etc/fstab

更多詳情,請檢視其 man 手冊:

$ man fstab

方法 7 – 使用 lsblk 命令

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

方法 8 – 使用 mount 命令

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 檔案系統的型別。假如你知道其他的命令來完成同樣的任務,請在下面的評論部分讓我們知曉,我將確認並相應地升級本教學。

更過精彩內容即將呈現,請保持關注!