1、查看當前文件夾下面各個文件的大小
```
ll -lh
```
2、查看某文件夾占用總的空間大小
```
du -h --max-depth=1 /usr/local/
8.0K /usr/local/etc
8.0K /usr/local/include
275M /usr/local/
```
參數--max-depth用來指定深入目錄的層數,為1就指定1層
使用"*",可以得到文件的使用空間大小.
```
du -h --max-depth=1 /usr/Java/jdk1.6.0_25/*
7.9M /usr/java/jdk1.6.0_25/sample
19M /usr/java/jdk1.6.0_25/src.zip
4.0K /usr/java/jdk1.6.0_25/THIRDPARTYLICENSEREADME.txt
```
3、查年磁盤空間的使用空間
```
df -h
```
值得注意的是,看見一個針對du和df命令異同的文章:《du df 差異導致文件系統誤報解決》。
du 統計文件大小相加
df 統計數據塊使用情況
如果有一個進程在打開一個大文件的時候,這個大文件直接被rm 或者mv掉,則du會更新統計數值,df不會更新統計數值,還是認為空間沒有釋放。直到這個打開大文件的進程被Kill掉。
如此一來在定期刪除 /var/spool/clientmqueue下面的文件時,如果沒有殺掉其進程,那么空間一直沒有釋放。
使用下面的命令殺掉進程之后,系統恢復。
```
fuser -u /var/spool/clientmqueue
```
查看linux文件目錄的大小和文件夾包含的文件數
統計總數大小
```
du -sh 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:多少字
Linux:ls以K、M、G為單位查看文件大小
# man ls
```
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
```
# ls
cuss.war nohup.out
# ls -l
total 30372
-rw-r--r-- 1 root root 31051909 May 24 10:07 cuss.war
-rw------- 1 root root 0 Mar 20 13:52 nohup.out
# ls -lh
total 30M
-rw-r--r-- 1 root root 30M May 24 10:07 cuss.war
-rw------- 1 root root 0 Mar 20 13:52 nohup.out