Linux查看文件和文件夹的大小
当磁盘大小超过标准时会有报警提示。
关于磁盘大小的管理,有两个命令很重要-----df和du命令
[root@iZ25znfdcmcZ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 16G 3.0G 85% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/xvdb1 2.0T 376G 1.5T 21% /alidata/www/node17
/dev/xvdc1 2.0T 340G 1.5T 19% /alidata/www/node18
/dev/xvdd1 2.0T 338G 1.5T 19% /alidata/www/node19
/dev/xvde1 2.0T 338G 1.5T 19% /alidata/www/node20
可以看出 /目录使用了85%。
如果当前目录下文件和文件夹很多,可以使用不带参数的du命令,循环列出所有的文件和文件夹使用的空间。但是如果是不建议根目录使用。根目录可以指定深入目录的层数来查看。
参数--max-depth= 。如果使用*,还可以得到文件的使用空间大小。如下所示:
[root@iZ25znfdcmcZ /]# du -h --max-depth=1
191M ./opt
23M ./lib64
366M ./lib
4.0K ./mnt
37M ./openfire
4.0K ./home
7.6M ./bin
5.8G ./var
16K ./lost+found
4.0K ./srv
23T ./alidata
4.0K ./selinux
30M ./etc
可见,alidata占用了很大空间。
如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。
如此一来在定期删除 /var/spool/clientmqueue下面的文件时,如果没有杀掉其进程,那么空间一直没有释放。

浙公网安备 33010602011771号