統(tǒng)計目錄中的文件的大小并以列表顯示: du [Path] -a 全部文件 包括隱藏的。 -h 以M 為單位顯示文件大小結果。 -s 統(tǒng)計此目錄中所有文件大小總和。 .. 這些是常用的 e.g.: du -sh du -ah
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于成都網站制作、做網站、邛崍網絡推廣、成都微信小程序、邛崍網絡營銷、邛崍企業(yè)策劃、邛崍品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供邛崍建站搭建服務,24小時服務熱線:13518219792,官方網址:www.cdcxhl.com
du [-abcDhHklmsSx] [-L 符號連接][-X 文件][--block-size][--exclude=目錄或文件] [--max-depth=目錄層數(shù)][--help][--version][目錄或文件]
常用參數(shù):
-a或-all 為每個指定文件顯示磁盤使用情況,或者為目錄中每個文件顯示各自磁盤使用情況。
-b或-bytes 顯示目錄或文件大小時,以byte為單位。
-c或–total 除了顯示目錄或文件的大小外,同時也顯示所有目錄或文件的總和。
-D或–dereference-args 顯示指定符號連接的源文件大小。
-h或–human-readable 以K,M,G為單位,提高信息的可讀性。
-H或–si 與-h參數(shù)相同,但是K,M,G是以1000為換算單位,而不是以1024為換算單位。
-k或–kilobytes 以1024 bytes為單位。
-l或–count-links 重復計算硬件連接的文件。
-L符號連接或–dereference符號連接 顯示選項中所指定符號連接的源文件大小。
-m或–megabytes 以1MB為單位。
-s或–summarize 僅顯示總計,即當前目錄的大小。
-S或–separate-dirs 顯示每個目錄的大小時,并不含其子目錄的大小。
-x或–one-file-xystem 以一開始處理時的文件系統(tǒng)為準,若遇上其它不同的文件系統(tǒng)目錄則略過。
-X文件或–exclude-from=文件 在文件指定目錄或文件。
–exclude=目錄或文件 略過指定的目錄或文件。
–max-depth=目錄層數(shù) 超過指定層數(shù)的目錄后,予以忽略。
–help 顯示幫助。
–version 顯示版本信息。
1 要顯示一個目錄樹及其每個子樹的磁盤使用情況
du /home/linux
這在/home/linux目錄及其每個子目錄中顯示了磁盤塊數(shù)。
2 要通過以1024字節(jié)為單位顯示一個目錄樹及其每個子樹的磁盤使用情況
du -k /home/linux
這在/home/linux目錄及其每個子目錄中顯示了 1024 字節(jié)磁盤塊數(shù)。
3 以MB為單位顯示一個目錄樹及其每個子樹的磁盤使用情況
du -m /home/linux
這在/home/linux目錄及其每個子目錄中顯示了 MB 磁盤塊數(shù)。
4 以GB為單位顯示一個目錄樹及其每個子樹的磁盤使用情況
du -g /home/linux
這在/home/linux目錄及其每個子目錄中顯示了 GB 磁盤塊數(shù)。
5查看當前目錄下所有目錄以及子目錄的大小:
du -h .
“.”代表當前目錄下。也可以換成一個明確的路徑
-h表示用K、M、G的人性化形式顯示
6查看當前目錄下user目錄的大小,并不想看其他目錄以及其子目錄:
du -sh user
-s表示總結的意思,即只列出一個總結的值
du -h --max-depth=0 user
--max-depth=n表示只深入到第n層目錄,此處設置為0,即表示不深入到子目錄。
7列出user目錄及其子目錄下所有目錄和文件的大?。?/p>
du -ah user
-a表示包括目錄和文件
8列出當前目錄中的目錄名不包括xyz字符串的目錄的大小:
du -h --exclude='*xyz*'
9想在一個屏幕下列出更多的關于user目錄及子目錄大小的信息:
du -0h user
-0(杠零)表示每列出一個目錄的信息,不換行,而是直接輸出下一個目錄的信息。
10只顯示一個目錄樹的全部磁盤使用情況
du -s /home/linux
11查看各文件夾大小:du -h --max-depth=1
一個比較經典的問題:
如果線上機器的磁盤占用率超級高,怎么辦?
這時候優(yōu)先想到的肯定是,定位到占用磁盤空間最大的那些文件,然后把可以刪的給刪掉。
那么,問題來了,如何定位到占用磁盤空間最大的文件?
一個辦法是執(zhí)行如下命令:
里面涉及三個指令:du、sort、more
既然用到了,就順便多了解一下這三個指令的用法,算是做下個人筆記。
首先是du
作用:用來查看文件所占用的磁盤情況。
格式:du [選項] [文件]
可用選項(如下為du --help展示的內容):
操作示例:
對幾個比較常用的選項單獨拿出來,在機器上實際操作,效果如下:
首先,當前目錄如下:
du:
其實吧,從圖里面可以看到,使用“du”的時候,最后一行就當前目錄的磁盤使用總量,所以,感覺一般情況下-c這個選項并沒有什么用。
du -s:只計算總量
不過,注意:-s與-a不能同時存在,會報錯的。
sort
作用:對輸出的結果進行排序
可用選項:
-r:代表逆序排序
-n:按照字符串數(shù)值排序
-g:按照常規(guī)數(shù)值排序
-f:忽略字母大小寫
實測效果:
首先是測試文件的原始狀態(tài):
測試一:sort
可以發(fā)現(xiàn):
空行排在了第一位;
不管數(shù)字有多大,字符串都會排在數(shù)字的后面;
數(shù)字之間排序的時候,優(yōu)先考慮首位數(shù)字(感覺是把數(shù)字也當成了一個字符串進行排序);
more
作用:用于一頁一頁地展示文件內容。
幾個常用操作:
空格:翻到下一頁
b:翻到上一頁
/:啟動字符串搜索(類似于vim)
此外:
more +n XXX:從XXX文件的第n行開始展示
more -n XXX:展示XXX文件,并且將n行視為一頁,也就是按空格時,只會顯示后續(xù)的N行
cat
作用:一次性的展示所有文件內容
cat有兩個比較有用的選項:
-n:輸出所有行號
-b:只對非空行輸出行號
此外,
cat支持同時輸出多個文件的內容:cat XXX YYYY ZZZZ
并且,cat可以與more結合使用:cat XXX | more 或者 cat XXX YYYY ZZZZ | more 或者 cat -n XXX | more
less:
作用:對文件或者輸出內容進行分頁展示,并且less可以用于打開多個文件
常用操作:
j:向上滾動一行
k:向下滾動一行(類似于vim)
g:跳到第一行
G:跳到最后一行
b:向上翻一頁
空格:翻頁
n%:跳轉到整個文件的n%處
:e :在使用less打開多個文件時,使用“:e”選擇跳轉到其他文件去
/:進行字符串搜索
v:啟動編輯
常用選項:
-N:在每一行前面都顯示行號
-m:顯示讀取文件的百分比
-M:顯示讀取文件的百分比、行號和總行數(shù)
注意:
其他兩個比較簡單的指令:
head:顯示一個文件的前N行
用法:head -n 行數(shù) 文件名
tail:顯示一個文件的最后N行
用法:tail -n 行數(shù) 文件名
不過,使用tai的時候,因為-f選項可以自動顯示新增加的內容,所以經常會使用如下方式:
tail -f 文件名
du [選項][文件]
顯示每個文件和目錄的磁盤使用空間。
-a或-all 顯示目錄中個別文件的大小。
-b或-bytes 顯示目錄或文件大小時,以byte為單位。
-c或--total 除了顯示個別目錄或文件的大小外,同時也顯示所有目錄或文件的總和。
-k或--kilobytes 以KB(1024bytes)為單位輸出。
-m或--megabytes 以MB為單位輸出。
-s或--summarize 僅顯示總計,只列出最后加總的值。
-h或--human-readable 以K,M,G為單位,提高信息的可讀性。
-x或--one-file-xystem 以一開始處理時的文件系統(tǒng)為準,若遇上其它不同的文件系統(tǒng)目錄則略過。
-L符號鏈接或--dereference符號鏈接 顯示選項中所指定符號鏈接的源文件大小。
-S或--separate-dirs 顯示個別目錄的大小時,并不含其子目錄的大小。
-X文件或--exclude-from=文件 在文件指定目錄或文件。
--exclude=目錄或文件 略過指定的目錄或文件。
-D或--dereference-args 顯示指定符號鏈接的源文件大小。
-H或--si 與-h參數(shù)相同,但是K,M,G是以1000為換算單位。
-l或--count-links 重復計算硬件鏈接的文件。
命令:
du
輸出:
說明:
只顯示當前目錄下面的子目錄的目錄大小和當前目錄的總的大小,最下面的11536當前目錄的總大小。
命令:
du hello.i
輸出:
命令:
du ./process
輸出:
命令:
du -s
輸出:
命令:
du -h
命令:du -ah
命令 du -c hello.i ./use_code
輸出
命令:
du -h |sort -nr|more
輸出:
命令:
du -h --max-depth=1
輸出: