作为系统维护人员,你肯定遇到过硬盘被占满的情况。日志文件往往是占用大量磁盘空间的“罪魁祸首”,但要找出这些“隐形”的大块头并非易事。以下是一些高效的命令和方法,帮助你快速定位并管理这些占用空间的大文件。
一、使用du命令找出大目录
du(磁盘使用情况)命令是查找大文件和目录的基本工具。使用-h参数可以让输出结果以易读的格式显示,而-a参数则显示所有文件和目录的大小。
du -ah 要找的目录 | sort -rh | head -n 10
这条命令会显示指定目录下最大的10个文件和目录。
二、使用find命令定位大文件
find命令可以帮助你查找特定大小以上的文件。
find 要查找的目录 -type f -size +20M -print0 | xargs -0 du -h | sort -nr
这个命令会找出所有超过20MB的文件。
三、使用ncdu进行交互式检查
一般以上两个系统自带的工具就够用了,如果你想有一个更为直观的界面来查看和操作大文件,你可以使用 ncdu(NCurses Disk Usage),它是一个交互式的磁盘使用情况查看工具。
如果未安装,请先安装它:
sudo apt-get install ncdu # 对于基于Debian的系统
sudo yum install ncdu # 对于基于RPM的系统
然后运行:
ncdu 要找的目录
通过上述方法,你可以迅速定位到那些占用大量空间的文件,从而有效地管理磁盘空间。当然,找出这些日志后你可以编写脚本定时删除这些目录下的日志,以避免日志无限增长占用过多空间,这个后面再介绍如何编写脚本管理你的日志。