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