du命令
磁碟管理
du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對檔案和目錄磁碟使用的空間的查看,還是和df命令有一些區別的。
文法
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 以一開始處理時的檔案系統為準,若遇上其它不同的檔案系統目錄則略過。
-L<符號連結>或--dereference<符號連結> 顯示選項中所指定符號連結的源檔案大小。
-S或--separate-dirs 顯示個別目錄的大小時,並不含其子目錄的大小。
-X<檔案>或--exclude-from=<檔案> 在<檔案>指定目錄或檔案。
--exclude=<目錄或檔案> 略過指定的目錄或檔案。
-D或--dereference-args 顯示指定符號連結的源檔案大小。
-H或--si 與-h參數相同,但是K,M,G是以1000為換算單位。
-l或--count-links 重複計算硬體連結的檔案。
執行個體
1、顯示目錄或者檔案所佔空間:
[root@localhost test]# du608 ./test6308 ./test44 ./scf/lib4 ./scf/service/deploy/product4 ./scf/service/deploy/info12 ./scf/service/deploy16 ./scf/service4 ./scf/doc4 ./scf/bin32 ./scf8 ./test31288 .
2、只顯示目前的目錄下面的子目錄的目錄大小和目前的目錄的總的大小,最下面的1288為目前的目錄的總大小
顯示指定檔案所佔空間:
複製代碼 代碼如下:
[root@localhost test]# du log2012.log
300 log2012.log
3、查看指定目錄的所佔空間:
[root@localhost test]# du scf4 scf/lib4 scf/service/deploy/product4 scf/service/deploy/info12 scf/service/deploy16 scf/service4 scf/doc4 scf/bin32 scf
4、顯示多個檔案所佔空間:
[root@localhost test]# du log30.tar.gz log31.tar.gz4 log30.tar.gz4 log31.tar.gz只顯示總和的大小:[root@localhost test]# du -s1288 .[root@localhost test]# du -s scf32 scf[root@localhost test]# cd ..[root@localhost soft]# du -s test1288 test
下面是書生的一些補充資料:
說明
du 是disk usage的縮寫,主要用於總結每個檔案的磁碟大小,以及統計多個檔案
相關命令
df
簡單一實例
我建立兩個檔案
複製代碼 代碼如下:
$du --help>du.txt
$man du > mandu.txt
1. 查看檔案大小
$du du.txt mandu.txt
如圖:
解釋:同時列印du.txt 和 mandu.txt的大小(預設單位是位元組bytes)
2. 查看一個目錄下檔案大小,
$du –a tmp/
如圖:
解釋: 圖中 tmp/ 就是目錄 大小為84位元
3. 統計幾個檔案的大小
$du –c du.txt mandu.txt
du的help
用法:du [選項]... [檔案]...
或:du [選項]... --files0-from=F
總結每個<檔案>的磁碟用量,目錄則取總用量。
長選項必須用的參數在使用短選項時也是必須的。
說明
-a, --all 列印所有檔案,包括目錄
--apparent-size 列印可見內容的大小,比du命令準確。雖然通常apparent size更小一些,但由於硬碟片段等原因,可能會比du更大
-B, --block-size=SIZE 使用者自己定義單位(b,k,m)
-b, --bytes 單位為1byte 等同於 `--apparent-size --block-size=1'
-c, --total 統計大小
-D, --dereference-args dereference FILEs that are symbolic links 用於軟串連檔案
--files0-from=F 統計檔案大小,被統計檔案檔案要以NUL結尾,並且在檔案F中被指定名稱
-H 單位1000而不是1024;等同於 --dereference-args (-D)
-h, --human-readable 按照易讀性方式列印(e.g., 1K 234M 2G)
--si like -h, but use powers of 1000 not 1024
-k like --block-size=1K
-l, --count-links 如果是永久連結就統計多次
-m like --block-size=1M
-L, --dereference 查看所有軟串連
-P, --no-dereference 不查看軟串連檔案(預設)
-0,(這裡是“零”) --null 每個輸出行用0位元組代替新起一行(同時輸出多個檔案時候,就是一行)
-S, --separate-dirs 不包括子目錄大小
-s, --summarize 只顯示總大小(-c 在這裡還會有一些其他統計資訊)
-x, --one-file-system 跳過其他檔案系統的分支
-X FILE, --exclude-from=FILE 排除符合RegexFILE的檔案.
--exclude=PATTERN Exclude files that match PATTERN.
--max-depth=N 列印目錄下所有檔案 (or 檔案, 用命令 --all),只有 目錄深度少於等於 參數命令N; --max-depth=0 等同於 --summarize 即全部
--time 顯示所有檔案的最後修改時間,包括子目錄的
--time=WORD
用以下單詞(WROD)代替顯示最後修改時間的輸出:atime, access, use, ctime or status
--time-style=STYLE
show times using style STYLE:
full-iso, long-iso, iso, +FORMAT
FORMAT is interpreted like `date'
--help 顯示此協助資訊並退出
--version 輸出版本資訊並退出
[大小]可以是以下的單位(單位前可加上整數):
kB 1000,K 1024,MB 1000000,M 1048576,還有 G、T、P、E、Z、Y
講解help
有關-0(這裡是零)
看看區別:
$du –a ./
如圖:
$du –a0 ./
加上-0,效果如圖:
執行個體:
1.$du -b du.txt
檔案太小,你可以用-m, -k,甚至自己定義大小
效果如圖:
2.$du –ak dir | sort –nrk 1 | head
-a 列出所有 -k是用1kb單位, sort排序,head列印前10個,dir是目錄
如圖:
收尾
這裡簡單說明一下,如果直接複製文中的命令,注意符號“-” 實際上被變了,需要修改一下。
本文出自 “書生” 部落格