Linux 教程:如何查找服务器中的大文件
🧭 一、为什么要查找大文件?
- 磁盘空间不足,需快速定位占用源
- 清理日志、缓存、临时文件
- 优化备份策略,避免冗余数据
- 迁移数据前评估文件体积
🔍 二、使用 find
命令查找大文件
1. 查找大于 500MB 的文件
find / -type f -size +500M
/
:从根目录开始查找-type f
:只查找文件-size +500M
:文件大小超过 500MB
⚠️ 建议加
2>/dev/null
屏蔽权限报错:
find / -type f -size +500M 2>/dev/null
2. 查找当前目录下大于 100MB 的文件
find . -type f -size +100M
3. 查找并显示文件大小与路径
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null
ls -lh
:显示人类可读格式(如 MB、GB)
📊 三、结合排序列出前几个大文件
1. 列出前 10 个最大文件
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -k 5 -hr | head -n 10
sort -k 5 -hr
:按第 5 列(文件大小)倒序排列head -n 10
:取前 10 个结果
🧰 四、使用 du
命令查看目录大小(辅助定位)
du -ah / | sort -hr | head -n 20
-a
:包括文件和目录sort -hr
:按大小倒序排列head -n 20
:列出前 20 个占用空间最多的项
🧪 五、进阶技巧:按文件类型查找
1. 查找大日志文件
find /var/log -type f -name "*.log" -size +100M
2. 查找大图片或视频文件
find / -type f \( -iname "*.jpg" -o -iname "*.mp4" \) -size +200M
✅ 六、总结
查找大文件的核心命令是 find
和 du
,配合 ls
、sort
、head
等命令可以快速定位问题文件。建议将这些命令封装成脚本,定期执行并记录结果,提升运维效率。