linux查找系统大文件命令
linux查找系统大文件命令详细介绍
在 Linux 系统中,查找大文件常用的命令有 find、du 和 ls 等,以下是具体方法:
1.
使用 find 命令查找指定大小以上的文件
find 命令可以按文件大小过滤文件,支持以块(block)、千字节(KB)、兆字节(MB)、吉字节(GB)为单位搜索。
常用参数:
-size +N:查找大于N对应单位的文件
(c:字节,k:KB,M:MB,G:GB)-exec du -h {} +:配合du显示文件大小(人类可读格式)
示例:
- 查找大于 100MB 的文件(在根目录下,谨慎使用!):
bash/ f +100M +(
-type f限定只查找普通文件,避免搜索目录) - 查找当前目录下大于 500KB 的文件:
bashf +500k +
2.
使用 du 命令统计目录大小并排序
du 用于查看目录或文件的磁盘占用空间,结合 sort 可按大小排序。
常用参数:
-h:以人类可读格式显示(如 KB/MB/GB)-a:显示所有文件(包括子文件)-S:不包含子目录的大小(仅当前目录下的文件)--max-depth=1:指定搜索深度(避免遍历深层目录)
示例:
- 查找当前目录下占用空间最大的 10 个文件 / 目录:
bash(
-r逆序排序,head -n 10取前 10 名) - 查找根目录下各顶级目录的大小(按从大到小排序):
bash--max-depth /
3.
使用 ls 命令结合通配符快速筛选
ls 可直接列出文件大小,但需配合通配符或手动指定路径,适合已知大致路径的场景。
示例:
- 列出当前目录下大于 1GB 的文件(按大小排序):bash
(
-S按大小排序,grep '^-'过滤普通文件,awk提取大小和文件名)
4.
按文件类型筛选(如日志、视频等)
结合 find 的文件类型参数,可进一步缩小范围:
bash
/var/log f +50M +
注意事项:
- 权限问题:搜索系统目录(如
/)需用sudo,否则可能无法访问部分文件。 - 性能影响:根目录搜索耗时较长,建议先确定大致路径(如
/home、/var)再搜索。 - 单位换算:
find中的1M等于 1024KB,而du/ls中的1M通常按 1000KB 计算,可能存在细微差异。
根据需求选择合适的命令,find 适合精准筛选,du 适合快速统计目录大小,灵活组合参数可高效定位大文件。