編程學習網 > 服務器 > Linux > 在 Linux 下你所不知道的 df 命令的那些功能
2015
02-02

在 Linux 下你所不知道的 df 命令的那些功能

問題: 我知道在Linux上我可以用df命令來查看磁盤使用空間。你能告訴我df命令的實際例子使我可以最大限度得利用它嗎?

對于磁盤存儲方面,有很多命令行或基于GUI的工具,它可以告訴你關于當前磁盤空間的使用情況。這些工具用各種人們可讀的格式展示磁盤利用率的詳細信息,比如易于理解的總結,詳細的統計信息或直觀的 可視化報告 。如果你只想知道不同文件系統有多少空閑的磁盤空間,那么df命令可能是你所需要的。

df命令可以展示任何“mounted”文件系統的磁盤利用率。該命令可以用不同的方式調用。這里有一些 有用的 df 命令例子 .

用人們可讀的方式展示

默認情況下,df命令用1K為塊來展示磁盤空間,這看起來不是很直觀。“-h”參數使df用更可讀的方式打印磁盤空間(例如 100K,200M,3G)。

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  909G  565G  299G  66% /
none                     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                     3.9G  4.0K  3.9G   1% /dev
tmpfs                    785M  1.2M  784M   1% /run
none                     5.0M     0  5.0M   0% /run/lock none 3.9G 63M 3.8G 2% /run/shm
none 100M 48K 100M 1% /run/user /dev/sda1 228M 98M 118M 46% /boot

展示Inode使用情況

當你監視磁盤使用情況時,你必須注意的不僅僅是磁盤空間還有“inode”的使用情況。在Linux中,inode是用來存儲特定文件的元數據的一種數據結構,在創建一個文件系統時,inode的預先定義數量將被分配。這意味著, 一個文件系統可能耗盡空間不只是因為大文件用完了所有可用空間,也可能是因為很多小文件用完了所有可能的inode 。用“-i”選項展示inode使用情況。

$ df -i
Filesystem                Inodes   IUsed    IFree IUse% Mounted on
/dev/mapper/ubuntu-root 60514304 1217535 59296769    3% /
none                     1004417      13  1004404    1% /sys/fs/cgroup
udev                     1000623     552  1000071    1% /dev
tmpfs                    1004417     608  1003809    1% /run
none                     1004417      11  1004406    1% /run/lock none 1004417 288 1004129 1% /run/shm
none 1004417 28 1004389 1% /run/user /dev/sda1 124496 346 124150 1% /boot

展示磁盤總利用率

默認情況下, df命令顯示磁盤的單個文件系統的利用率。如果你想知道的所有文件系統的總磁盤使用量,增加“ --total ”選項(見最下面的匯總行)。

$ df -h --total
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu-root  909G  565G  299G  66% /
none                     4.0K     0  4.0K   0% /sys/fs/cgroup
udev                     3.9G  4.0K  3.9G   1% /dev
tmpfs                    785M  1.2M  784M   1% /run
none                     5.0M     0  5.0M   0% /run/lock none 3.9G 62M 3.8G 2% /run/shm
none 100M 48K 100M 1% /run/user /dev/sda1 228M 98M 118M 46% /boot
total 918G 565G 307G 65% -

展示文件系統類型

默認情況下,df命令不顯示文件系統類型信息。用“-T”選項來添加文件系統信息到輸出中。

$ df -T
Filesystem              Type     1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root ext4     952893348 591583292 312882844  66% /
none                    tmpfs            4         0         4   0% /sys/fs/cgroup
udev                    devtmpfs   4002492         4   4002488   1% /dev
tmpfs                   tmpfs       803536      1196    802340   1% /run
none                    tmpfs         5120         0      5120   0% /run/lock none                    tmpfs 4017668 60176 3957492 2% /run/shm
none                    tmpfs 102400 48 102352 1% /run/user /dev/sda1               ext2 233191 100025 120725 46% /boot

包含或排除特定的文件系統類型

如果你想知道特定文件系統類型的剩余空間,用“-t ”選項。你可以多次使用這個選項來包含更多的文件系統類型。

$ df -t ext2 -t ext4
Filesystem 1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583380 312882756 66% /
/dev/sda1 233191 100025 120725 46% /boot

排除特定的文件系統類型,用“-x ”選項。同樣,你可以用這個選項多次來排除多種文件系統類型。

$ df -x tmpfs

顯示一個具體的掛載點磁盤使用情況

如果你用df指定一個掛載點,它將報告掛載在那個地方的文件系統的磁盤使用情況。如果你指定一個普通文件(或一個目錄)而不是一個掛載點,df將顯示包含這個文件(或目錄)的文件系統的磁盤利用率。

$ df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583528 312882608 66% /
$ df /home/dev
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591583528 312882608 66% /

顯示虛擬文件系統的信息

如果你想顯示所有已經存在的文件系統(包括虛擬文件系統)的磁盤空間信息,用“-a”選項。這里,虛擬文件系統是指沒有相對應的物理設備的假文件系統,例如,tmpfs,cgroup虛擬文件系統或FUSE文件安系統。這些虛擬文件系統大小為0,不用“-a”選項將不會被報告出來。

$ df -a
Filesystem              1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 952893348 591578716 312887420  66% /
proc                            0         0         0    - /proc
sysfs                           0         0         0    - /sys
none                            4         0         4   0% /sys/fs/cgroup
none                            0         0         0    - /sys/fs/fuse/connections
none                            0         0         0    - /sys/kernel/debug
none                            0         0         0    - /sys/kernel/security
udev                      4002492         4   4002488   1% /dev
devpts                          0         0         0    - /dev/pts
tmpfs                      803536      1196    802340   1% /run
none                         5120         0      5120   0% /run/lock none 4017668 58144 3959524 2% /run/shm
none 102400 48 102352 1% /run/user none 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
/dev/sda1 233191 100025 120725 46% /boot
vmware-vmblock 0 0 0 - /run/vmblock-fuse

via: http://ask.xmodulo.com/check-disk-space-linux-df-command.html

譯者: mtunique 校對: wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取