du命令介紹
du(disk usage)命令可以計(jì)算文件或目錄所占的磁盤空間。沒有指定任何選項(xiàng)時(shí),它會(huì)測(cè)量當(dāng)前工作目錄與其所有子目錄,,分別顯示各個(gè)目錄所占的快數(shù),,最后才顯示工作目錄所占總快數(shù)。
du命令格式
du [OPTION]… [FILE]…
-a, –all
包括了所有的文件,,而不只是目錄
–apparent-size
print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due
to holes in (’sparse’) files, internal fragmentation, indirect blocks, and the like
-B, –block-size=SIZE use SIZE-byte blocks
-b, –bytes 以字節(jié)為計(jì)算單位
-k 以千字節(jié)(KB)為計(jì)算單位
-m 以兆字節(jié)(M)為計(jì)算單位
-c, –total 最后加上一個(gè)總計(jì)(系統(tǒng)缺?。?br />
-D, –dereference-args
dereference FILEs that are symbolic links
-H 跟 - -si效果一樣。
-h, –human-readable 以比較閱讀的方式輸出文件大小信息 (例如,,1K 234M 2G),。注:該選項(xiàng)在很多其他命令(df, ls)中也有效。
–si 跟-h 效果一樣,,只是以1000為換算單位
-l, –count-links 計(jì)算所有的文件大小,,對(duì)硬鏈接文件,則計(jì)算多次,。
-L, –dereference 顯示選項(xiàng)中所指定符號(hào)連接的源文件大小,。
-P, –no-dereference 不跟隨任何的符號(hào)連接(缺省)
-S, –separate-dirs 計(jì)算目錄所占空間時(shí)不包括子目錄的大小,。
-s, –summarize 只顯示工作目錄所占總空間
-x, –one-file-system 以一開始處理時(shí)的文件系統(tǒng)為準(zhǔn),,若遇上其它不同的文件系統(tǒng)目錄則略過。
-X FILE, –exclude-from=FILE 排除掉指定的FILE
–exclude=PATTERN 排除掉符合樣式的文件,Pattern就是普通的Shell樣式,,,?表示任何一個(gè)字符,*表示任意多個(gè)字符,。
–max-depth=N
只列出深度小于max-depth的目錄和文件的信息 –max-depth=0 的時(shí)候效果跟–s是 一樣
使用案例
root@ubuntu:/# cd /home/web/
root@ubuntu:/home/web# du -s
793832 .–不指定FILE名字計(jì)算出當(dāng)前目錄所占用的空間大小,。
root@ubuntu:/#$ du -sh
776M .–不指定FILE名字計(jì)算出當(dāng)前目錄所占用的空間大小。-h選項(xiàng)使得輸出結(jié)果跟容易閱讀(跟上例比較)
root@ubuntu:/#$ du –max-depth=1 -h
–輸出當(dāng)前目錄下各個(gè)子目錄所使用的空間
常用命令
du -h --max-depth=1 |grep [TG] |sort #查找上G和T的目錄并排序
du -sh #統(tǒng)計(jì)當(dāng)前目錄的大小,,以直觀方式展現(xiàn)
du -h --max-depth=1 |grep 'G' |sort #查看上G目錄并排序
du -sh --max-depth=1 #查看當(dāng)前目錄下所有一級(jí)子目錄文件夾大小
du -h --max-depth=1 |sort #查看當(dāng)前目錄下所有一級(jí)子目錄文件夾大小 并排序
du -h --max-depth=1 |grep [TG] |sort -nr #倒序排
linux中的du命令使用示例:
1> 要顯示一個(gè)目錄樹及其每個(gè)子樹的磁盤使用情況
du /home/linux
這在/home/linux目錄及其每個(gè)子目錄中顯示了磁盤塊數(shù),。
2> 要通過以1024字節(jié)為單位顯示一個(gè)目錄樹及其每個(gè)子樹的磁盤使用情況
du -k /home/linux
這在/home/linux目錄及其每個(gè)子目錄中顯示了 1024 字節(jié)磁盤塊數(shù)。
3> 以MB為單位顯示一個(gè)目錄樹及其每個(gè)子樹的磁盤使用情況
du -m /home/linux
這在/home/linux目錄及其每個(gè)子目錄中顯示了 MB 磁盤塊數(shù),。
4> 以GB為單位顯示一個(gè)目錄樹及其每個(gè)子樹的磁盤使用情況
du -g /home/linux
這在/home/linux目錄及其每個(gè)子目錄中顯示了 GB 磁盤塊數(shù),。
5>查看當(dāng)前目錄下所有目錄以及子目錄的大小:
du -h .
“.”代表當(dāng)前目錄下,。也可以換成一個(gè)明確的路徑
-h表示用K,、M、G的人性化形式顯示
6>查看當(dāng)前目錄下user目錄的大小,,并不想看其他目錄以及其子目錄:
du -sh user
-s表示總結(jié)的意思,,即只列出一個(gè)總結(jié)的值
du -h –max-depth=0 user
–max-depth=n表示只深入到第n層目錄,,此處設(shè)置為0,即表示不深入到子目錄,。
7>列出user目錄及其子目錄下所有目錄和文件的大?。?
du -ah user
-a表示包括目錄和文件
8>列出當(dāng)前目錄中的目錄名不包括xyz字符串的目錄的大小:
du -h –exclude=’*xyz*’
9>想在一個(gè)屏幕下列出更多的關(guān)于user目錄及子目錄大小的信息:
du -0h user
-0(杠零)表示每列出一個(gè)目錄的信息,,不換行,,而是直接輸出下一個(gè)目錄的信息。
10>只顯示一個(gè)目錄樹的全部磁盤使用情況
找出大文件
磁盤空間被耗盡的時(shí)候,,免不了要清理一下,,比如說/home目錄太大,就可以使用下面命令看看到底是誰:
du -s /home/* | sort -nr