在CentOS 8系统中,你可以使用以下几种方法来查找大文件:
1. 使用 du 命令
bash
# 查看根目录下各文件夹的大小
sudo du -h --max-depth=1 / | sort -hr
# 查看当前目录下最大的文件和目录
du -ah . | sort -rh | head -20
# 查找大于100MB的文件
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null
2. 使用 ncdu 工具(推荐)
bash
# 安装 ncdu
sudo dnf install ncdu
# 扫描系统根目录
sudo ncdu /
# 扫描当前目录
ncdu
使用 ncdu 时的操作:
- 按
↑↓键选择目录 - 按
Enter进入目录 - 按
d删除文件(谨慎使用) - 按
q退出
3. 使用 find 命令查找特定大小的文件
bash
# 查找大于500MB的文件
sudo find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null
# 查找大于1GB的文件
sudo find / -type f -size +1G -exec ls -lh {} \; 2>/dev/null
# 按文件大小排序显示
sudo find / -type f -size +100M -exec du -h {} \; 2>/dev/null | sort -hr
4. 检查常见的大文件位置
bash
# 检查日志文件
sudo du -sh /var/log/*
ls -lh /var/log/*.log
# 检查缓存文件
sudo du -sh /var/cache/*
sudo du -sh ~/.cache/*
# 检查Docker相关文件(如果使用Docker)
sudo du -sh /var/lib/docker/*
# 检查yum缓存
sudo du -sh /var/cache/dnf/*
5. 实用的单行命令
bash
# 显示当前目录下最大的10个文件
find . -type f -exec du -h {} + 2>/dev/null | sort -rh | head -10
# 显示系统中最大的20个文件
sudo find / -type f -exec du -h {} + 2>/dev/null | sort -rh | head -20
6. 检查磁盘使用情况
bash
# 查看各分区使用情况
df -h
# 查看inode使用情况
df -i
建议的排查步骤:
- 首先使用
df -h确认哪个分区空间不足 - 使用
ncdu /进行交互式分析 - 重点检查 :
/var/log/- 日志文件/var/cache/- 缓存文件/home/- 用户文件/opt/- 第三方软件/tmp/- 临时文件
清理建议:
bash
# 清理yum缓存
sudo dnf clean all
# 清理日志文件(谨慎操作)
sudo journalctl --vacuum-time=7d # 只保留7天日志
# 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
使用这些命令时,请特别注意 sudo 权限,有些目录需要root权限才能访问。建议从 ncdu 开始,它提供了最直观的界面来查找大文件。