<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    df 和 du 命令詳解

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    df命令詳細用法 

    a:顯示全部的檔案系統和各分割區的磁盤使用情形 
    i:顯示i -nodes的使用量 
    k:大小用k來表示 (默認值) 
    t:顯示某一個檔案系統的所有分割區磁盤使用量 
    x:顯示不是某一個檔案系統的所有分割區磁盤使用量 
    T:顯示每個分割區所屬的檔案系統名稱 
    常用命令:df -hi 

    操作詳解 

    引用 
    指令 df 可以顯示目前所有檔案系統的最大可用空間及使用情形,請看下列這個例子: 

    # df -h 
    Filesystem Size Used Avail Capacity Mounted on 
    /dev/ad0s1a 1.9G 389M 1.4G 21% / 
    devfs 1.0K 1.0K 0B 100% /dev 
    /dev/ad0s1d 989M 54K 910M 0% /tmp 
    /dev/ad0s1f 4.8G 3.8G 657M 86% /usr 
    /dev/ad0s1e 1.9G 149M 1.6G 8% /var 
    /dev/ad0s1g 26G 890K 24G 0% /volume2 
    /dev/da0s1d 325G 261G 38G 87% /volume1 

    我們加了參數 -h 表示使用「Human-readable」的輸出,也就是在檔案系統大小使用 GB、MB 等易讀的格式。 

    上面的指令輸出的第一個字段及最后一個字段分別是檔案系統及其掛入點。我們可以看到 /dev/ad0s1a 這個分割區被掛在根目錄下。我們在上一小節提到過 ad 所代表的是 IDE 的硬盤,而 s1 表示第一個主要扇區。我另外有一個 SCSI 硬盤,它的代號是 da,它的容量很大,主要用來存放數據。devfs 是一個特別的檔案系統,該檔案系統并非真的磁盤,而是 FreeBSD 用來管理系統硬件裝置的虛擬檔案系統。 

    接下來的四個字段 Size、Used、Avail、及 Capacity 分別是該分割區的容量、已使用的大小、剩下的大小、及使用的百分比。當硬盤容量已滿時,您可能會看到已使用的百分比超過 100%,因為 FreeBSD 會留一些空間給 root,讓 root 在檔案系統滿時,還是可以寫東西到該檔案系統中,以進行管理。 

    另外,我們還可以使用參數 -i 來查看目前檔案系統 inode 的使用情形。有的時候雖然檔案系統還有空間,但若沒有足夠的 inode 來存放檔案的信息,一樣會不能增加新的檔案。 

    # df -ih 
    Filesystem Size Used Avail Capacity iused ifree %iused Mounted on 
    /dev/ad0s1a 1.9G 389M 1.4G 21% 20495 262127 7% / 
    devfs 1.0K 1.0K 0B 100% 0 0 100% /dev 
    /dev/ad0s1d 989M 62K 910M 0% 24 141286 0% /tmp 
    /dev/ad0s1f 4.8G 3.8G 657M 86% 311439 348015 47% /usr 
    /dev/ad0s1e 1.9G 149M 1.6G 8% 1758 280864 1% /var 
    /dev/ad0s1g 26G 890K 24G 0% 12 3532786 0% /volume2 
    /dev/da0s1d 325G 261G 38G 87% 707277 43311409 2% /volume1 
    我們可以看到根目錄的已經用掉的 inode 數量為 20495,還有 262127 的可用 inode。 

    小提示 
    還記得什么是 inode 嗎?所謂的 inode 是用來存放檔案及目錄的基本信息 (metadata),包含時間、檔名、使用者及群組等。在分割扇區時,系統會先做出一堆 inode 以供以后使用,inode 的數量關系著系統中可以建立的檔案及目錄總數。如果要存的檔案大部分都很小,則同樣大小的硬盤中會有較多的檔案,也就是說需要較多的 inode 來掛檔案及目錄。 


    du:查詢檔案或目錄的磁盤使用空間 

    a:顯示全部目錄和其次目錄下的每個檔案所占的磁盤空間 
    b:大小用bytes來表示 (默認值為k bytes) 
    c:最后再加上總計 (默認值) 
    s:只顯示各檔案大小的總合 (summarize) 
    x:只計算同屬同一個檔案系統的檔案 
    L:計算所有的檔案大小 
    常用命令:du -a 

    操作詳解 

    引用 
    指令 du 能以指定的目錄下的子目錄為單位,顯示每個目錄內所有檔案所占用的磁盤空間大小。例如: 

    # du -h /etc 
    104K /etc/defaults 
    6.0K /etc/X11 
    8.0K /etc/bluetooth 
    4.0K /etc/gnats 
    52K /etc/isdn 
    388K /etc/mail 
    68K /etc/mtree 
    2.0K /etc/ntp 
    38K /etc/pam.d 
    44K /etc/periodic/daily 
    6.0K /etc/periodic/monthly 
    42K /etc/periodic/security 
    16K /etc/periodic/weekly 
    110K /etc/periodic 
    6.0K /etc/ppp 
    318K /etc/rc.d 
    2.0K /etc/skel 
    130K /etc/ssh 
    10K /etc/ssl 
    1.7M /etc 
    我們目樣使用 -h 參數來顯示 human-readable 的格式。在應用時,我們可以使用 du 這個指令來查看哪個目錄占用最多的空間。不過,du 的輸出結果通常很長,我們可以加上 -s 參數來省略指定目錄下的子目錄,而只顯示該目錄的總合即可: 

    # du -sh /etc 
    1.7M /etc 
    在查看目錄的使用情形時,我們可以將輸出結果導到 sort 指令進行排序,以了解哪個檔案用了最多的空間: 

    # du /etc | sort -nr | more 
    1746 /etc 
    388 /etc/mail 
    318 /etc/rc.d 
    130 /etc/ssh 
    110 /etc/periodic 
    104 /etc/defaults 
    68 /etc/mtree 
    52 /etc/isdn 
    44 /etc/periodic/daily 
    42 /etc/periodic/security 
    38 /etc/pam.d 
    16 /etc/periodic/weekly 
    10 /etc/ssl 
    8 /etc/bluetooth 
    6 /etc/ppp 
    6 /etc/periodic/monthly 
    6 /etc/X11 
    4 /etc/gnats 
    2 /etc/skel 
    2 /etc/ntp 
    sort 的參數 -nr 表示要以數字排序法進行反向排序,因為我們要對目錄大小做排序,所以不可以使用 human-readable 的大小輸出,不然目錄大小中會有 K、M 等字樣,會造成排序不正確。

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全