日期:2014-05-16  浏览次数:20718 次

Linux上查看磁盘空间及文件夹的大小
在服务器上搭载了多台虚拟机,突然间有台装有MySQL的虚拟机的硬盘空间的使用率达到了100%。
使用df命令可以显示目前所有文件系统的可用空间及使用情形。
引用
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       28G   26G  222M 100% /
/dev/hda1              99M   12M   83M  13% /boot
tmpfs                 742M     0  742M   0% /dev/shm

参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。

我查看了文件临时文件、MySQL下的relay文件,基本上没有可以删除的。想到du命令可以查询文件或文件夹的磁盘使用空间,就对根目录执行了du命令。
引用
$ du -sm * | sort -n
0       misc
0       net
0       proc
0       selinux
0       sys
1       dev
1       home
1       lost+found
1       media
1       mnt
1       opt
1       srv
1       tmp
7       bin
7       boot
29      sbin
75      lib
117     etc
2560    usr
8141    root
15331   var

参数 -sm  * 会对每个目录/文件,按M进行统计大小。sort -n 表示对结果按照使用量大小进行排序。

发现root和var目录所占空间比较多,在var下再次使用du命令,原来是log目录中,有8G的mysqld.log,删掉它剩余空间终于有了。

不过还不要满足,root目录中只有4个文件,为什么会有8G呢。是隐藏文件,/root/.Trash 是一个Linux环境下的垃圾回收站,文件删除的时候会被先放到这里,由于回收站没有清空,所以空间占用了8G。清空了回收站,空间又都回来了。
引用
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       28G   12G   15G  45% /
/dev/hda1              99M   12M   83M  13% /boot
tmpfs                 742M     0  742M   0% /dev/shm