導讀 | 如果你是個Linux命令列用戶,你一定會使用df指令檢查檔案系統的磁碟使用情況。儘管df是一個受歡迎的命令,但仍然不能提供一些高級的功能,例如一個用戶實際的磁碟可用空間,以及各種有用的顯示格式等。還有另一個命令列實用工具可用,不僅提供了這些高級功能也提供了df的所有特性。在本文中,我們將討論磁碟資訊工具 — di。 |
#從這個di幫助手冊頁很明顯的發現 di 提供了一些很有價值的特性,值得一試。讓我們來看一些這個工具實際使用的例子。
測試環境下面是一些 di 工具的範例:
1. 預設的輸出預設di指令產生人們易讀的輸出格式,這裡有個範例:
$ di Filesystem Mount Size Used Avail %Used fs Type /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4 udev /dev 1.5G 0.0G 1.5G 0% devtmpfs tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs
所以你能發現用千兆位元組(G)和兆位元組(M)做磁碟使用情況的資料單位。這絕對是比 df 預設的輸出產生的效果好。 (譯註:df也可以輸出帶類似單位的顯示,只是需要額外加參數 -h)
2. 以 -A 選項列印類似掛載點、特殊裝置名稱等全部欄位#選項 -A可以用來極詳細的列印掛載點,特殊設備名稱等,這裡有個範例:
$ di -A Mount fs Type Filesystem Options Size Used Free %Used %Free Size Used Avail %Used %Free Size Used Avail %Used Inodes Iused Ifree %Iused / ext4 /dev/sda6 rw,errors=remount-ro 28.1G 20.2G 8.0G 72% 28% 28.1G 21.6G 6.5G 77% 23% 26.7G 20.2G 6.5G 75% 1884160 389881 1494279 21% /dev devtmpfs udev rw,mode=0755 1.5G 0.0G 1.5G 0% 100% 1.5G 0.0G 1.5G 0% 100% 1.5G 0.0G 1.5G 0% 381805 571 381234 0% /run tmpfs tmpfs rw,noexec,nosuid,size=10%,mode=0755 300.2M 0.9M 299.3M 0% 100% 300.2M 0.9M 299.3M 0% 100% 300.2M 0.9M 299.3M 0% 384191 549 383642 0%
所以你可以看到所有的字段,可以用於調試目的時打印輸出。
3. 用 -a選項列印所有掛載裝置#這裡是個範例:
$ di -a Filesystem Mount Size Used Avail %Used fs Type /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4 udev /dev 1.5G 0.0G 1.5G 0% devtmpfs devpts /dev/pts 0.0M 0.0M 0.0M 0% devpts proc /proc 0.0M 0.0M 0.0M 0% proc binfmt_misc /proc/sys/fs/bi 0.0M 0.0M 0.0M 0% binfmt_misc tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs none /run/lock 0.0M 0.0M 0.0M 0% tmpfs none /run/shm 0.0M 0.0M 0.0M 0% tmpfs none /run/user 0.0M 0.0M 0.0M 0% tmpfs gvfsd-fuse /run/user/himan 0.0M 0.0M 0.0M 0% fuse.gvfsd-fuse sysfs /sys 0.0M 0.0M 0.0M 0% sysfs none /sys/fs/cgroup 0.0M 0.0M 0.0M 0% tmpfs none /sys/fs/fuse/co 0.0M 0.0M 0.0M 0% fusectl none /sys/kernel/deb 0.0M 0.0M 0.0M 0% debugfs none /sys/kernel/sec 0.0M 0.0M 0.0M 0% securityfs
所以你能看到與所有設備相關的所有訊息,被印出來了。
4. 用 -c 選項以逗號當值的分隔符號選項 -c 以指令分隔的值將附上雙引號,這裡有個範例:
$ di -c s,m,b,u,v,p,T /dev/sda6,/,28.1G,20.2G,6.5G,77%,ext4 udev,/dev,1.5G,0.0G,1.5G,0%,devtmpfs tmpfs,/run,300.2M,0.9M,299.3M,0%,tmpfs
如上,你可以看到印製了用逗號分隔符輸出的值。 (譯註:此輸出便於作為其他程式的輸入解析)
5. 用 -g 選項透過千兆位元組(G)列印大小#下面是個範例:
$ di -g Filesystem Mount Gibis Used Avail %Used fs Type /dev/sda6 / 28.1 20.2 6.5 77% ext4 udev /dev 1.5 0.0 1.5 0% devtmpfs tmpfs /run 0.3 0.0 0.3 0% tmpfs
當然,你能看到所有與大小有關的值都用千兆字節(G)打印出來,同樣的你可以用-k 和-m 選項來分別的顯示千字節(K)大小和兆位元組(M)大小。
6. 透過 -I 選項顯示特定的檔案系統類型的相關資訊假設你想顯示只跟tmpfs檔案系統相關的資訊。下面將告訴你如何用 -I 選項完成任務。
$ di -I tmpfs Filesystem Mount Size Used Avail %Used fs Type tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs none /run/lock 5.0M 0.0M 5.0M 0% tmpfs none /run/shm 1.5G 0.0G 1.5G 0% tmpfs none /run/user 100.0M 0.0M 100.0M 0% tmpfs none /sys/fs/cgroup 0.0M 0.0M 0.0M 0% tmpfs
你能看到只有tmpfs類型相關檔案系統資訊被輸出並顯示出來了。
7. 用 -n 選項跳過標題行的輸出#如果你正試圖透過一個腳本(或程式)解析該指令的輸出結果並希望 di 指令跳過顯示的標題行,那麼用 -n 選項是絕佳的方法,以下是個範例:
$ di -n /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4 udev /dev 1.5G 0.0G 1.5G 0% devtmpfs tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs
如上,你能發現輸出中並沒有顯示標題行。
8. 透過 -t 選項在檔案系統清單底下再列印一行總計行如果想要顯示所有相關欄位的總數,用 -t 選項,範例:
$ di -t Filesystem Mount Size Used Avail %Used fs Type /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4 udev /dev 1.5G 0.0G 1.5G 0% devtmpfs tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs Total 29.9G 20.2G 8.3G 72%
觀察到最後一行的值為所有檔案系統的統計資料。
9. 透過 -s 選項 排序輸出#-s選項可用來排序該指令的輸出結果,以下告訴你如何反向排序輸出:
$ di -sr Filesystem Mount Size Used Avail %Used fs Type tmpfs /run 300.2M 0.9M 299.3M 0% tmpfs udev /dev 1.5G 0.0G 1.5G 0% devtmpfs /dev/sda6 / 28.1G 20.2G 6.5G 77% ext4
你也可以在-s後面加上子選項’r’逆序排序輸出。類似的,你可以使用 -s 選項做一些其他類型的排序,以下是摘自man手冊供您參考:
-s 排序方式
可以指定排序方式。預設排序方式的依照掛載點的名稱進行排序。支援如下的排序方式:
m :依照掛載點名稱排序(預設)
n :不排序(即依照在掛載表/etc/fstab中的順序)
s :依照特殊設備名稱
t :按照文件系统类型
r :逆序排序
排序方式可以组合使用,如: di –stsrm :按照类型、设备、挂载点逆序排序。di –strsrm :按照类型、设备逆序、挂载点逆序排序。
你可以通过结合-f选项和其子选项指定输出格式字符串,例如用 -fm,打印挂载点的名称:
$ di -fm Mount / /dev /run
如上你可以看到只有挂载点的名字被打印出来,同样的,打印文件系统的类型用 -ft ,示例:
$ di -ft fsType ext4 devtmpf tmpfs
如果你想快速查找,这里有个其他可用的格式选项截图。
结论最后,di命令提供了一些非常有用的特性,比df命令更强大。如果你正在寻找一个类似df,但比df更强大的关于磁盘信息的命令行工具,那么di是最理想的选择。
以上是磁碟資訊工具 di的詳細內容。更多資訊請關注PHP中文網其他相關文章!