在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
开始,它提供了最直观的界面来查找大文件。