一、du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments). with no arguments,`du` reports the disk space for the current directory。
很明顯,與df不同,它用來查看文件或目錄所占用的磁盤空間的大小。
二、du常用的選項:
-h:以人類可讀的方式顯示(表示以恰當的K/M/G單位展示)
-a:顯示目錄占用的磁盤空間大小,還要顯示其下目錄和文件占用磁盤空間的大小
-s:(summarize)顯示目錄占用的磁盤空間大小,不要顯示其下子目錄和文件占用的磁盤空間大小(即算總和)
-c:顯示幾個目錄或文件占用的磁盤空間大小,還要統計它們的總和
--apparent-size:顯示目錄或文件自身的大小
-l :統計硬鏈接占用磁盤空間的大小
-L:統計符號鏈接所指向的文件占用的磁盤空間大小
一、du -h:這個就不多說了。
二、du -a:使用此選項時,顯示目錄和目錄下子目錄和文件占用磁盤空間的大小。
常用的命令
du -sh [指定文件或目錄]: 查看當前目錄總共占的容量。而不單獨列出各子項占用的容量
du -lh --max-depth=1 : 查看當前目錄下一級子文件和子目錄占用的磁盤容量。--max-depth 選項控制深度(從0、1...開始)
示例:
1.
du -sh *
2.
du -ch *.tar.gz
-c
選項,是 --total 的縮寫形式,它表示的是針對輸出的各個對象來計算其磁盤使用量的總和
3.
du -lh --max-depth=1
當--max-depth設定為0時, 只顯示當前文件夾總大小
可見, --max-depth=0的作用, 相當於-s
du和ls的區別
- du 展示的是磁盤空間占用量。
- ls 展示的是文件內容的大小。
同時, du 和 ls 針對同一個文件,展示的大小是不一樣的 (抽象說:磁盤占用=內容+包裝)
因為大部分文件系統規定:
- 一個數據塊中最多存放一個文件的內容,當沒存滿時,剩余的空間不得被其他文件使用。
- 當一個文件的內容較大時,則可以存儲到多個數據塊中。