/usr/bin/du

(a) 所在系統及路徑.

系統:redhat linux 6.2+cle0.9
路徑:/usr/bin/du

(b) shared library. (可由 ldd 得到)

libc.so.6 => /lib/libc.so.6 (0x40019000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2 ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2

(c) 主要用途說明.

列出每個檔案的空間使用情形,包含在內層資料夾中的檔案. 功用和df很類似.
用法:
du[OPTION]... [FILE]...

(d) 支援的參數及其意義.

-a,
--all
列出所有的結果,而非僅資料夾.

--block-size=SIZE

使用SIZE-byte的blocks

-b,
--bytes
在印出空間大小時以bytes的型式.
-c,
--total
產生全部的總和.
-D,
--dereferencd-args
當為symbolic link時,不參照PATHs.

-h, --human-readable

以一般人方便閱讀的方式印出結果,計算時取1024的次方.
(EX.1K234M,2G)

-H, --si

以一般人方便閱讀的方式印出結果,但計算時取1000的次方而非1024.

-k,
--kilobytes
取block-size為1024
-l,
--local
限定只列出目前局部的檔案系統資料.
-L,
--dereference
不參照所有的symbolic link.
-m,
--megabytes
在取block時以1048576為單位.
-S,
--separate-dirs
不包含子目錄的大小.

-s, --summarize

只顯示所有檔案的總和.

-x,
--one-file-system
跳過在不同檔案系統上的資料夾.

-X FILE, --exclude-from=FILE

排除與FILE有任何樣式樣同的檔案.

--exclude=PAT

排除符合PAT的檔案.

--max-depth=N

只有在命令列參數下小於等於N層的資料夾或檔案才被印出. 當N=0時,意義同於 --summarize.

--help

印出說明文件並離開.

--version

顯示版本資訊並離開.

(e)
使用範例.
Example1:

[root@wind /root]# du -ch --max-depth=2
12k ./Desktop/Autostart
32k ./Desktop/Templates
8.0k ./Desktop/Trash
84k ./Desktop
148k ./.kde/share
152k ./.kde
324k .
324k total
###列出目前的檔案空間使用情形,資料夾的層數在2層以內.以人類易於看懂的計數型態 ###列出.並產生全部的總和.
(f) 其他.
和df的用法非常相像,所以在二者的使用上可以互相參考.


du:
1.系統:linux, 路徑/usr/bin/fsck
2.ldd:libc.so.6 =>/lib/libc.so.6(0x4002600)
/lib/ld-linux.so.2=>/lib/ld-linux.so.2(0x40000000)
3.目錄大小的檢查
4.參數:
-a 列出全部目錄和其次目錄下的每個檔案所站牧犖牬衁韃﹛C
-b 以bytes大小來列出磁碟空間(預設值是以k bytes為單位)

-c 最後再加上一個總計(預設)
-l 計算所有的檔案大小(包括那些硬連結檔harrd links,a的選項和預設選項 也 會印出連結檔的大小)
-s 只列出各檔案大小的總合
-x 只計算同屬同一個計算系統的檔案
-L 計算所有檔案大小(包括那些連結目錄,代斐應s結檔本身的大小,請和l比 較它們的不同)