1. 程式人生 > >linux檢視目錄大小

linux檢視目錄大小

資料出處:http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html
du:查詢檔案或資料夾的磁碟使用空間
    如果當前目錄下檔案和資料夾很多,使用不帶引數du的命令,可以迴圈列出所有檔案和資料夾所使用的空間。這對檢視究竟是那個地方過大是不利的,
所以得指定深入目錄的層數,引數:--max-depth=,這是個極為有用的引數!如下,注意使用“*”,可以得到檔案的使用空間大小.
    提醒:一向命令比linux複雜的FreeBSD,它的du命令指定深入目錄的層數卻是比linux簡化,為 -d。
 
以下是程式碼片段:
[root@bsso yayu]# du -h --max-depth=1 work/testing
27M     work/testing/logs
35M     work/testing
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
8.0K    work/testing/func.php
27M     work/testing/logs
8.1M    work/testing/nohup.out
8.0K    work/testing/testing_c.php
12K     work/testing/testing_func_reg.php
8.0K    work/testing/testing_get.php
8.0K    work/testing/testing_g.php
8.0K    work/testing/var.php
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
27M     work/testing/logs/
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
24K     work/testing/logs/errdate.log_show.log
8.0K    work/testing/logs/pertime_show.log
27M     work/testing/logs/show.log


例如檢視根目錄下檔案和資料夾的大小,--max-depth指定深度:
[root@lC-ICP-DNS1 dnsdata]#  du -h --max-depth=1 /
265G/dnsdata
137M/root
16K/tmp
4.0K/2011-12-19
148K/dev
8.0K/media
8.0K/mnt
16K/lost+found
0/misc
40M/sbin
29M/lib64
8.0K/srv
6.0G/Release
143M/lib
4.0K/.lftp
6.4M/boot
208G/txtdata
532M/opt
100K/tftpboot
8.9M/bin
0/proc
499M/package
48K/OldData
37M/home
8.0K/.automount
8.0K/selinux
116M/etc
5.5G/usr
0/net
292M/var
0/sys
4.0K/inputbackup
486G/


只檢視當前目錄的大小,而不察看其子目錄大小:
[root@localhost cjj]# du -sh ./
7.8G./
[root@localhost cjj]# du -sh /usr/
2.5G/usr/


[root@lC-ICP-DNS1 dnsdata]# 
    值得注意的是,看見一個針對du和df命令異同的文章:《du df 差異導致檔案系統誤報解決》。
    du 統計檔案大小相加 
    df  統計資料塊使用情況
    如果有一個程序在開啟一個大檔案的時候,這個大檔案直接被rm 或者mv掉,則du會更新統計數值,df不會更新統計數值,還是認為空間沒有釋放。直到這個開啟大檔案的程序被Kill掉。
    如此一來在定期刪除 /var/spool/clientmqueue下面的檔案時,如果沒有殺掉其程序,那麼空間一直沒有釋放。
    使用下面的命令殺掉程序之後,系統恢復。
    fuser -u /var/spool/clientmqueue
http://www.yayu.org/look.php?id=162
 
檢視linux檔案目錄的大小和資料夾包含的檔案數
    統計總數大小
    du -sh xmldb/  //統計xmldb目錄的總大小
    du -sm * | sort -n //統計當前目錄大小 並安大小 排序
    du -sk * | sort -n
    du -sk * | grep guojf //看一個人的大小
    du -m | cut -d "/" -f 2 //看第二個/ 字元前的文字
    檢視此資料夾有多少檔案 /*/*/* 有多少檔案
    du xmldb/
    du xmldb/*/*/* |wc -l
    40752
    解釋:
    wc [-lmw]
    引數說明:
    -l :多少行
    -m:多少字元
    -w:多少字