使用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)
结合 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,基本能应对绝大多数查找大文件的需求。关键是根据场景选择合适命令,搭配管道和排序提升效率。不复杂但容易忽略细节,比如单位和路径范围。










