di:比 df 更有用的磁碟信息工具
英文:MyLinuxBook,翻譯:Linux中國/Luoxcat
linux.cn/article-2187-1.html
如有好文章投稿,請點擊 這裡了解詳情
如果你是個Linux命令行用戶,你肯定會使用df命令檢查文件系統的磁碟使用情況。儘管df是一個受歡迎的命令,但仍然不能提供一些高級的功能,如一個用戶實際的磁碟可用空間,以及各種有用的顯示格式等。還有另一個命令行實用工具可用,不僅提供了這些高級功能也提供了df的所有特性。在本文中,我們將討論磁碟信息工具 — di
di – 磁碟信息工具
從這個di幫助手冊頁很明顯的發現 di 提供了一些很有價值的特性,值得一試。讓我們看一些這個工具實際使用的例子。
測試環境
OS – Ubuntu 13.04
Shell – Bash 4.2.45
Application – di 4.30
一個簡短的教程
下面是一些 di 工具的示例:
1. 默認的輸出
默認情況下di命令生成人們易讀的輸出格式
這裡有個示例:
$di
Filesystem Mount Size UsedAvail%Used fsType
/dev/sda6/28.1G20.2G6.5G77%ext4
udev/dev1.5G0.0G1.5G%devtmpfs
tmpfs/run300.2M0.9M299.3M%tmpfs
所以你能發現用千兆位元組(G)和兆位元組(M)做磁碟使用情況的數據單位。這絕對是比 df 默認的輸出產生的效果好。(譯註:df也可以輸出帶類似單位的顯示,只是需要額外加參數 -h)
2. 用 -A 選項列印類似掛載點、特殊設備名稱等全部欄位
選項 -A可以用來極詳細的列印掛載點,特殊設備名稱等。
這裡有個示例:
$di-A
Mount fs Type Filesystem
Options
Size UsedFree%Used%Free
Size UsedAvail%Used%Free
Size UsedAvail%Used
Inodes IusedIfree%Iused
/ext4/dev/sda6
rw,errors=remount-ro
28.1G20.2G8.0G72%28%
28.1G21.6G6.5G77%23%
26.7G20.2G6.5G75%
1884160389881149427921%
/dev devtmpfs udev
rw,mode=0755
1.5G0.0G1.5G%100%
1.5G0.0G1.5G%100%
1.5G0.0G1.5G%
/run tmpfs tmpfs
rw,noexec,nosuid,size=10%,mode=0755
300.2M0.9M299.3M%100%
300.2M0.9M299.3M%100%
300.2M0.9M299.3M%
所以你可以看到所有的欄位,可以用於調試目的時列印輸出。
3. 用 -a選項列印所有掛載設備
這裡是個示例:
$di-a
Filesystem Mount Size UsedAvail%Used fsType
/dev/sda6/28.1G20.2G6.5G77%ext4
udev/dev1.5G0.0G1.5G%devtmpfs
devpts/dev/pts0.0M0.0M0.0M%devpts
proc/proc0.0M0.0M0.0M%proc
binfmt_misc/proc/sys/fs/bi0.0M0.0M0.0M%binfmt_misc
tmpfs/run300.2M0.9M299.3M%tmpfs
none/run/lock0.0M0.0M0.0M%tmpfs
none/run/shm0.0M0.0M0.0M%tmpfs
none/run/user0.0M0.0M0.0M%tmpfs
gvfsd-fuse/run/user/himan0.0M0.0M0.0M%fuse.gvfsd-fuse
sysfs/sys0.0M0.0M0.0M%sysfs
none/sys/fs/cgroup0.0M0.0M0.0M%tmpfs
none/sys/fs/fuse/co0.0M0.0M0.0M%fusectl
none/sys/kernel/deb0.0M0.0M0.0M%debugfs
none/sys/kernel/sec0.0M0.0M0.0M%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,%,devtmpfs
tmpfs,/run,300.2M,0.9M,299.3M,%,tmpfs
如上,你可以看到列印了用逗號分隔符輸出的值。(譯註:這種輸出便於作為其他程序的輸入解析)
5. 用 -g 選項通過千兆位元組(G)列印大小
下面是個示例:
$di-g
Filesystem Mount Gibis UsedAvail%Used fsType
/dev/sda6/28.120.26.577%ext4
udev/dev1.50.01.5%devtmpfs
tmpfs/run0.30.00.3%tmpfs
當然,你能看到所有與大小有關的值都用千兆位元組(G)列印出來。
同樣的你可以用 -k 和 -m 選項來分別的顯示千位元組(K)大小和兆位元組(M)大小。
6. 通過 -I 選項顯示特定的文件系統類型的相關信息
假設你想顯示只跟tmpfs文件系統相關的信息。下面將告訴你如何用 -I 選項完成任務。
$di-Itmpfs
Filesystem Mount Size UsedAvail%Used fs Type
tmpfs/run300.2M0.9M299.3M%tmpfs
none/run/lock5.0M0.0M5.0M%tmpfs
none/run/shm1.5G0.0G1.5G%tmpfs
none/run/user100.0M0.0M100.0M%tmpfs
none/sys/fs/cgroup0.0M0.0M0.0M%tmpfs
Ok 你能看到只有tmpfs類型相關文件系統信息被輸出並顯示出來了。
7. 用 -n 選項跳過標題行的輸出
如果你正試圖通過一個腳本(或程序)解析該命令的輸出結果並希望 di 命令跳過顯示的標題行,那麼用 -n 選項是絕佳的方法。
下面是個示例:
$di-n
/dev/sda6/28.1G20.2G6.5G77%ext4
udev/dev1.5G0.0G1.5G%devtmpfs
tmpfs/run300.2M0.9M299.3M%tmpfs
如上,你能發現輸出中並沒有顯示標題行。
8. 通過 -t 選項在文件系統列表底下再列印一行總計行
如果想要顯示所有相關列的總數,用 -t 選項。
示例:
$di-t
Filesystem Mount Size UsedAvail%Used fsType
/dev/sda6/28.1G20.2G6.5G77%ext4
udev/dev1.5G0.0G1.5G%devtmpfs
tmpfs/run300.2M0.9M299.3M%tmpfs
Total29.9G20.2G8.3G72%
觀察到最後一行的值為所有文件系統的統計數據。
9. 通過 -s 選項 排序輸出
-s選項可用於排序該命令的輸出結果(譯註:默認按照掛載點名稱排序)
下面告訴你如何反向排序輸出:
$di-sr
Filesystem Mount Size UsedAvail%Used fs Type
tmpfs/run300.2M0.9M299.3M%tmpfs
udev/dev1.5G0.0G1.5G%devtmpfs
/dev/sda6/28.1G20.2G6.5G77%ext4
你也可以在-s後添加子選項』r』逆序排序輸出。
類似的,你可以使用 -s 選項做一些其他類型的排序.以下是摘自man手冊供您參考:
-s 排序方式
可以指定排序方式。默認排序方式的按照掛載點的名稱進行排序。支持如下的排序方式:
m :按照掛載點名稱排序(默認)
n :不排序(即按照在掛載表/etc/fstab中的順序)
s :按照特殊設備名稱
t :按照文件系統類型
r :逆序排序
排序方式可以組合使用,如: di –stsrm :按照類型、設備、掛載點逆序排序。di –strsrm :按照類型、設備逆序、掛載點逆序排序。
10. 通過 -f 選項指定輸出格式
你可以通過結合-f選項和其子選項指定輸出格式字元串。
例如,用 -fm,列印掛載點的名稱。
示例:
$di-fm
Mount
/
/dev
/run
如上你可以看到只有掛載點的名字被列印出來。
同樣的,列印文件系統的類型,用 -ft
示例:
$di-ft
fsType
ext4
devtmpf
tmpfs
如果你想快速查找,這裡有個其他可用的格式選項截圖.
優點
提供了許多高級功能
跨平台
缺點
在大多數的Linux發行版沒有預裝
大量選項需要學習
結論
最後,di命令提供了一些非常有用的特性,比df命令更強大。如果你正在尋找一個類似df,但比df更強大的關於磁碟信息的命令行工具,那麼di是最理想的選擇。試試吧,包你滿意!!!
你試過di或任何其他類似df工具?請跟我們分享你的經驗!
看完本文有收穫?請分享給更多人
關注「Linux 愛好者」,提升Linux技能


TAG:Linux愛好者 |