centos中清理大文件的步骤
导读:CentOS清理大文件的步骤 1. 准备工作:确认磁盘空间状态 在清理前,先通过以下命令查看磁盘使用情况,明确哪些分区空间不足: df -h # 查看各分区挂载点及使用率(重点关注/dev/sdaX等根分区) df -i # 查看ino...
CentOS清理大文件的步骤
1. 准备工作:确认磁盘空间状态
在清理前,先通过以下命令查看磁盘使用情况,明确哪些分区空间不足:
df -h # 查看各分区挂载点及使用率(重点关注/dev/sdaX等根分区)
df -i # 查看inode使用率(若inode耗尽,即使磁盘空间充足也无法创建文件)
2. 使用find命令查找并删除大文件
find
是CentOS下最基础的大文件查找工具,可通过文件大小、类型、修改时间等条件精准定位:
- 查找指定目录下大于100MB的文件(如/home目录):
find /home -type f -size +100M
-type f
限制只查找普通文件,-size +100M
表示大于100MB(支持+1G
、+500k
等单位)。 - 直接删除符合条件的文件(谨慎使用,建议先运行查找命令确认):
find /home -type f -size +100M -exec rm -f { } \;
-exec rm -f { } \;
会对每个找到的文件执行rm -f
(强制删除)。 - 查找7天前的旧日志并删除(如/var/log目录):
find /var/log -type f -name "*.log.*" -mtime +7 -exec rm -f { } \;
-mtime +7
表示修改时间超过7天的文件,*.log.*
匹配日志文件(可根据实际扩展名调整)。
3. 使用du+sort组合查找大文件/目录
du
(disk usage)可统计目录/文件的磁盘占用,结合sort
排序能快速定位最大的文件或目录:
- 查看当前目录下最大的10个文件/目录:
du -ah --max-depth=1 | sort -rh | head -n 10
du -ah
显示所有文件/目录的大小(人类可读格式,如K/M/G),--max-depth=1
限制只显示当前目录下一层,sort -rh
按数值降序排列,head -n 10
取前10条。 - 查找指定目录下最大的文件(如/usr/local):
du -ah /usr/local --max-depth=1 | sort -rh | head -n 10
4. 使用ncdu工具(交互式可视化分析)
ncdu
(NCurses Disk Usage)是文本界面的磁盘分析工具,比命令行更直观,支持交互式删除:
- 安装ncdu:
sudo yum install ncdu -y
- 扫描指定目录(如/home):
扫描完成后,界面会显示目录/文件的大小排名,使用方向键导航,按ncdu /home
Enter
进入子目录,按d
键删除文件/目录(删除前需确认)。
5. 清理系统临时文件与缓存
系统临时文件和缓存会占用大量空间,定期清理可快速释放空间:
- 清理/tmp目录(临时文件,重启后可能恢复):
rm -rf /tmp/*
- 清理/var/tmp目录(长期临时文件):
rm -rf /var/tmp/*
- 清理YUM缓存(软件包缓存):
yum clean all
- 清理journal日志(系统日志,保留最近3天):
journalctl --vacuum-time=3d
6. 清理旧日志文件
日志文件是磁盘空间的“大户”,可通过以下方式清理:
- 手动删除指定日志(如/var/log/messages):
rm -f /var/log/messages
- 使用logrotate工具(自动轮转压缩日志):
编辑/etc/logrotate.conf
或/etc/logrotate.d/
下的配置文件,设置日志保留天数、压缩规则等,实现自动管理。
注意事项
- 备份重要数据:删除文件前,确认文件是否为系统关键文件或个人重要数据,避免误删导致系统故障或数据丢失。
- 权限问题:若查找/删除系统目录(如/root、/etc)的文件,需使用
sudo
提升权限。 - 避免误删:
rm -rf
命令会递归删除目录及其内容,无法恢复,建议先使用find
命令查看文件列表再删除。 - 定期清理:建议每月执行1-2次大文件清理,保持系统磁盘空间充足。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos中清理大文件的步骤
本文地址: https://pptw.com/jishu/724372.html