Linux上查看磁盘空间及文件夹的大小

LUOPING0 2010-07-26

在服务器上搭载了多台虚拟机,突然间有台装有MySQL的虚拟机的硬盘空间的使用率达到了100%。

使用df命令可以显示目前所有文件系统的可用空间及使用情形。

引用
$ df -h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/VolGroup00-LogVol00

28G26G222M100%/

/dev/hda199M12M83M13%/boot

tmpfs742M0742M0%/dev/shm

参数-h表示使用「Human-readable」的输出,也就是在档案系统大小使用GB、MB等易读的格式。

上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mountedon)分别是档案系统及其挂入点。接下来的四个字段Size、Used、Avail、及Use%分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。

我查看了文件临时文件、MySQL下的relay文件,基本上没有可以删除的。想到du命令可以查询文件或文件夹的磁盘使用空间,就对根目录执行了du命令。

引用
$ du -sm * | sort -n

0misc

0net

0proc

0selinux

0sys

1dev

1home

1lost+found

1media

1mnt

1opt

1srv

1tmp

7bin

7boot

29sbin

75lib

117etc

2560usr

8141root

15331var

参数-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

28G12G15G45%/

/dev/hda199M12M83M13%/boot

tmpfs742M0742M0%/dev/shm

相关推荐