Centos清理垃圾查找大文件
在 CentOS 系统中清理垃圾文件和查找大文件是维护系统性能的重要操作。以下是详细的操作方法:
查找大文件和目录
1. 使用du
命令查找大文件(常用方法)
# 查看当前目录下各文件/目录的大小(按从大到小排序)
du -sh * | sort -hr
# 查看指定目录下占用空间最大的前10个文件/目录
du -a /path/to/directory | sort -nr | head -n 10
# 递归查看目录大小(以人类可读格式显示)
du -h --max-depth=1 /path/to/directory
示例:查看根目录下占用空间最大的目录:
du -h --max-depth=1 /
2. 使用find
命令结合文件大小筛选
# 查找大于100MB的文件
find / -type f -size +100M 2>/dev/null
# 查找大于1GB的文件并按大小排序
find / -type f -size +1G -exec du -h {} \; | sort -hr
3. 使用ncdu
工具(可视化磁盘使用情况)
# 安装ncdu(若未安装)
yum install ncdu
# 启动ncdu分析当前目录
ncdu .
# 分析根目录(需root权限)
sudo ncdu /
清理系统垃圾文件
1. 清理 YUM 缓存
# 清理所有YUM缓存
yum clean all
# 仅保留最新的缓存(可选)
yum clean expire-cache
2. 删除旧的 RPM 包和依赖
# 删除不再需要的依赖包
yum autoremove
# 删除未使用的包(需先安装yum-utils)
yum install yum-utils
package-cleanup --oldkernels # 删除旧内核
package-cleanup --unused # 删除未使用的包
3. 清理日志文件
# 查看日志目录大小
du -sh /var/log/*
# 手动清理部分日志(示例,谨慎操作)
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/secure
# 或使用logrotate自动管理(系统默认已配置)
4. 清理临时文件
# 清理/tmp目录(需root权限)
rm -rf /tmp/* /tmp/.* # 注意保留正在使用的文件
5. 清理 Docker 容器和镜像(如果安装了 Docker)
# 停止并删除所有容器
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
# 删除未使用的镜像
docker image prune -a
# 清理所有无用资源(容器、镜像、网络等)
docker system prune -a --volumes
6. 检查并删除大文件(结合查找结果)
# 示例:删除/var/log目录下大于500MB的日志
find /var/log -type f -size +500M -exec rm -f {} \;
三、释放磁盘空间后的验证
df -h
若某分区空间仍紧张,可结合du
和find
进一步排查具体文件。
四、自动化清理(定时任务)
# 编辑crontab
crontab -e
# 示例:每周日凌晨2点清理YUM缓存和临时文件
0 2 * * 0 yum clean all && rm -rf /tmp/* /tmp/.*
注意事项
THE END