更新時間: 2013-12-11
介紹
du 是用來查看整棵目錄樹內檔案大小的指令來
du 的應用
tree /root/test/
/root/test/ ├── a │ └── cur │ └── 1.txt ├── b │ └── cur │ └── 2.txt ├── c │ └── cur │ └── 3.txt ├── d │ └── cur │ └── 4.txt └── files.txt
#當前目錄大小:
# --summarize & --human-readable
du -sh
40K .
# -x, --one-file-system
du -xh | sort -n
4.0K ./a/cur 8.0K ./a 4.0K ./b/cur 8.0K ./b 4.0K ./d/cur 8.0K ./d 4.0K ./c/cur 8.0K ./c 40K .
# follow link also
-L, --dereference # 會 count symbolic links 目標的的大小
# Unit
-b, --bytes # Default
# -l, --count-links count sizes many times if hard linked
ls -lh
total 2.1G
-rw-r--r-- 2 root root 1.0G May 16 16:11 test1.bin
-rw-r--r-- 2 root root 1.0G May 16 16:11 test2.bin
du -h
1.0G .
du -lh
2.1G .
# 純計隱藏檔案(--exclude)
# --exclude=Shell-Pattern # 不是 regex. 只支援 "*" 及 "?"
du -sh \.* --exclude='..'
List Hide File
du -sh .[^.]*
與 Window 比較 Folder Size
Linux
du -sb .
它是會比 Windows 多 4096 bytes 的. 原因係包含了 "."
測試
# 沒有 "." 的統計
ls -al | awk 'FNR > 3 {sum += $5} END {print sum}'