(via vpsee)经常收到我们的 VPS 用户询问,“我的 VPS 没装新东西,为什么硬盘越用越少了?”,这多半是因为系统上的各种日志长期积累下来的结果,比如 nginx, apache 等留下来的访问日志信息长时间不清理、而且访问量大的话会很容易就膨胀到 GB;有时候某种应用程序的日志藏在文件系统的深处,不易发觉;有时候自己拷贝了一些大文件放在某个地方时间长了就忘了。那么如何在 Linux 系统上找到这些占用硬盘空间的文件呢?
首先我们可以统计一下根目录下各个目录占用硬盘的情况,找出最占用硬盘的那个目录:
# du -sh /* 6.2M /bin 17M /boot 136K /dev 97M /etc 147G /home 584M /lib 16M /lib64 16K /lost+found 8.0K /media 12K /mnt 252K /opt 0 /proc 1.7G /root 28M /sbin 8.0K /selinux 3.1M /srv 0 /sys 20K /tmp 1.9G /usr 748M /var
从上面可看出 /home 占用了最多的硬盘,我们去看看 /home 下哪些用户占用了最多的空间:
# du -sh /home/* 4.0K /home/bak 106M /home/cos 28K /home/guest 16K /home/lost+found 105G /home/vpsee 33G /home/somebody 8.2G /home/abc
可以看到 vpsee 这个用户和他的 home 目录 /home/vpsee 用掉了最多的硬盘(105GB),我们再看看 /home/vpsee 下究竟哪些文件占用了空间,用下面的一行命令找出某个目录下(这里是 /home/vpsee)大小超过 500MB 的文件(打印前40行并按照 MB 从小到大排列):
# find /home/vpsee -printf "%k %p " | sort -g -k 1,1 | awk '{if($1 > 500000) print $1/1024 "MB" " " $2 }' |tail -n 40 647.68MB /home/vpsee/linux/debian-504-amd64-CD-1.iso 675.664MB /home/vpsee/linux/Fedora-13-i686-Live.iso 677.656MB /home/vpsee/unix/osol-0906-x86.iso 678.172MB /home/vpsee/linux/ubuntu-10.04-server-amd64.iso 700.133MB /home/vpsee/linux/ubuntu-10.04-desktop-i386.iso 1304.64MB /home/vpsee/mac/MacTeX.mpkg.zip
可以看到 /home/vpsee 是个 iso 收藏狂,收了一堆 Linxu ISO 安装文件,以前拨号上网时代大家都喜欢收集一些软件和工具存在硬盘里,现在网络这么发达,这些旧习惯已经没必要了,ISO 文件可有可无,需要的时候就去下一个最新的,用不着自己保留,网络就是我们的硬盘。
转自:http://www.vpser.net/manage/what-is-using-my-disk-space-up.html