使用du、find和ncdu命令可高效查找Linux系统中占用空间较大的文件。首先通过du -h | sort -hr | head -10定位大目录,再用find /path -type f -size +500M查找特定大小文件,最后借助ncdu进行交互式分析,快速识别并处理占用空间最多的文件或目录。
在Linux系统中,查找占用空间较大的文件是日常运维和磁盘清理的常见需求。通过命令行可以快速定位这些“吃掉”磁盘空间的大文件或目录,从而进行优化或删除。
使用 du 命令查找大文件或目录du(disk usage)命令用于查看文件和目录的磁盘使用情况,是查找大文件最常用的工具之一。
常用组合如下:
du -h /path/to/dir:以人类可读的方式(如 KB、MB、GB)显示指定目录下各子目录的大小du -ah /path/to/dir:显示所有文件和目录的大小(包括文件)
du -h --max-depth=1 /home:查看 /home 目录下一级子目录的大小,便于快速定位大目录结合排序命令找出最大的几个项:du -h /home | sort -hr | head -10这条命令会列出 /home 目录下占用空间最大的前10个文件或目录。
使用 find 命令查找特定大小的文件find命令可以根据条件搜索文件,适合查找超过指定大小的文件。
常用用法示例:
find /home -type f -size +500M:查找 /home 目录下大于 500MB 的文件find /var -type f -size +1G:查找 /var 目录下大于 1GB 的文件find . -type f -size +100M -exec ls -lh {} \;:查找当前目录下大于 100MB 的文件,并显示详细信息
参数说明:
-type f表示只查找文件-size +N表示大于 N 的文件(单位可以是 c=字节, k=KB, M=MB, G=GB)
CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载结合 du 和 find 快速定位最大文件有时需要综合使用多个命令来精准定位。例如:find /home -type f -size +100M -exec du -h {} \; | sort -hr | head -20这条命令先找出大于 100MB 的文件,然后用 du 显示其大小,再按大小排序,输出前20个。
使用 ncdu 工具进行交互式分析(推荐)
ncdu是一个基于 ncurses 的磁盘使用率分析工具,提供可视化界面,操作更直观。
安装(以 Ubuntu/Debian 为例):sudo apt install ncdu
运行:
ncdu /或ncdu /home进入界面后可通过方向键浏览,按大小排序,支持删除操作,非常适合排查磁盘空间问题。
基本上就这些常用方法。掌握 du、find 和 ncdu,基本能应对绝大多数查找大文件的需求。关键是根据场景选择合适命令,搭配管道和排序提升效率。不复杂但容易忽略细节,比如单位和路径范围。
