温馨提示×

怎么清理CentOS大文件呢

小樊
39
2026-07-08 21:52:27
栏目: 智能运维

在 CentOS 上清理“大文件”通常分 查找大文件 → 判断是否可以删除 → 安全清理 三步。下面给你一套常用、安全的做法,从简单到进阶。


一、先找出大文件(最重要)

1️⃣ 查找指定目录下的大文件

find / -type f -size +500M 2>/dev/null

常见参数说明:

  • /:从根目录搜索(可换成 /var/home 等)
  • +500M:大于 500MB
  • 2>/dev/null:忽略权限错误

2️⃣ 按大小排序(推荐)

du -ah / | sort -rh | head -20

常见目录建议优先查:

du -ah /var | sort -rh | head -20
du -ah /home | sort -rh | head -20

二、常见“大文件元凶”(重点检查)

1️⃣ 日志文件(最常见)

ls -lh /var/log/

常见大文件:

  • /var/log/messages
  • /var/log/secure
  • /var/log/maillog
  • /var/log/nginx/
  • /var/log/httpd/

安全清理方式(不要直接 rm)

truncate -s 0 /var/log/messages

或:

echo > /var/log/messages

2️⃣ journal 日志(系统日志)

journalctl --disk-usage

清理:

journalctl --vacuum-time=7d

或:

journalctl --vacuum-size=500M

3️⃣ Docker / 容器(如果是服务器)

docker system df

清理:

docker system prune -a

⚠️ 会删除未使用的容器、镜像、网络


4️⃣ 已删除但未释放空间(很常见)

有时 rm 了文件,但空间没释放:

lsof | grep deleted

找到占用进程后:

kill -9 PID

或重启相关服务。


三、清理软件缓存

1️⃣ yum 缓存

yum clean all

2️⃣ 旧内核(谨慎)

rpm -qa | grep kernel

保留当前内核,删除旧版本(不建议新手操作)


四、安全删除大文件

✅ 推荐方式:

rm -f 文件名

⚠️ 不要直接 rm -rf /rm -rf /*


五、快速排查脚本(实用)

#!/bin/bash
echo "Top 20 大文件:"
du -ah / 2>/dev/null | sort -rh | head -20

六、建议你这样操作(顺序)

  1. du 找出大目录
  2. ls -lh 看具体文件
  3. 判断是不是日志 / 缓存 / 临时文件
  4. truncaterm 清理
  5. 检查 lsof | grep deleted

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(6 / 7 / 8 / Stream)
  • ✅ 磁盘使用情况(df -h
  • ✅ 是服务器还是个人电脑

我可以直接帮你制定清理方案,避免误删。

0