Linux系統下檢視目錄大小

cyzero發表於2013-05-02
    我們有個系統每天要下載資料,為了檢查下載資料是否正常,需要檢視下載資料目錄大小,因為每天的資料都差不多,如果變化太大就說明不正常。檢視目錄大小的命令是du(當然也可以檢視檔案大小),例如:du ems_data,就是檢視ems_data目錄下各子目錄的大小;du,就是檢視當前目錄下各子目錄的大小;du *,就是檢視當前目錄下各子目錄和檔案的大小

為了提高檢視效果,我們需要對結果進行排序,因為du的命令結果很亂,例如:

從大到小排列:du ems_data | sort -nr

按目錄名排列:du ems_data | sort +1 -2

選出排在前面的10個:du ems_data | sort -rn | head

選出排在後面的10個:du ems_data  | sort -rn | tail

當前目錄的大小:du -sh .

===================================================

附:linux中du命令引數的用法,並用示例進一步說明其使用方法。

Du命令功能說明:統計目錄(或檔案)所佔磁碟空間的大小。

語  法:du [-abcDhHklmsSx] [-L <符號連線>][-X <檔案>][--block-size][--exclude=<目錄或檔案>] [--max-depth=<目錄層數>][--help][--version][目錄或檔案]

常用引數:

-a或--all  為每個指定檔案顯示磁碟使用情況,或者為目錄中每個檔案顯示各自磁碟使用情況。

-b或--bytes 顯示目錄或檔案大小時,以byte為單位。

-c或--total 除了顯示目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和。

-D或--dereference-args 顯示指定符號連線的原始檔大小。

-h或--human-readable 以K,M,G為單位,提高資訊的可讀性。

-H或--si 與-h引數相同,但是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 以一開始處理時的檔案系統為準,若遇上其它不同的檔案系統目錄則略過。

-X<檔案>或--exclude-from=<檔案> 在<檔案>指定目錄或檔案。

--exclude=<目錄或檔案> 略過指定的目錄或檔案。

--max-depth=<目錄層數> 超過指定層數的目錄後,予以忽略。

--help 顯示幫助。

--version 顯示版本資訊。

linux中的du命令使用示例:

1> 要顯示一個目錄樹及其每個子樹的磁碟使用情況

du /home/linux

這在/home/linux目錄及其每個子目錄中顯示了磁碟塊數。

2> 要通過以1024位元組為單位顯示一個目錄樹及其每個子樹的磁碟使用情況

du -k /home/linux

這在/home/linux目錄及其每個子目錄中顯示了 1024 位元組磁碟塊數。

3> 以MB為單位顯示一個目錄樹及其每個子樹的磁碟使用情況

du -m /home/linux

這在/home/linux目錄及其每個子目錄中顯示了 MB 磁碟塊數。

4> 以GB為單位顯示一個目錄樹及其每個子樹的磁碟使用情況

du -g /home/linux

這在/home/linux目錄及其每個子目錄中顯示了 GB 磁碟塊數。

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目錄及其子目錄下所有目錄和檔案的大小:

du -ah user

-a表示包括目錄和檔案

8>列出當前目錄中的目錄名不包括xyz字串的目錄的大小:

du -h --exclude=’*xyz*’

9>想在一個螢幕下列出更多的關於user目錄及子目錄大小的資訊:

du -0h user

-0(槓零)表示每列出一個目錄的資訊,不換行,而是直接輸出下一個目錄的資訊。

10>只顯示一個目錄樹的全部磁碟使用情況

du  -s /home/linux

注意:引數是多個字元時,前面的減號“–”是兩個。

相關文章