温馨提示×

centos cleanup怎样找大文件

小樊
39
2026-09-21 09:01:44
栏目: 智能运维

在 CentOS 上清理磁盘、查找大文件,常用方法如下:


一、查找大文件(最常用)

1️⃣ 使用 find 查找大文件

# 查找大于 100MB 的文件
find / -type f -size +100M

# 只查某目录,例如 /var
find /var -type f -size +100M

# 按大小排序显示(前20个)
find / -type f -size +100M -exec ls -lh {} \; | sort -k5 -rh | head -20

2️⃣ 使用 du 查找占用空间大的目录

# 查看根目录下各目录占用
du -h --max-depth=1 /

# 查看 /var 下占用
du -h --max-depth=1 /var

3️⃣ 交互式工具(推荐)

# 安装 ncdu(非常好用)
yum install -y ncdu

# 扫描根目录
ncdu /

✅ 可用方向键浏览、按 d 删除


二、常见“大文件”来源(清理重点)

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

/var/log/

清理方式:

# 清空日志(不删文件)
truncate -s 0 /var/log/messages
truncate -s 0 /var/log/secure

# 或使用 logrotate
logrotate -f /etc/logrotate.conf

2️⃣ Docker(如果用 Docker)

docker system df
docker system prune -a

3️⃣ 被删除但仍被进程占用的文件

lsof | grep deleted

释放方法:重启对应进程或:

> /proc/PID/fd/FD

4️⃣ YUM 缓存

yum clean all

5️⃣ 核心转储文件

find / -name "core.*" -size +100M

三、快速定位“谁占满了磁盘”

df -h
du -h --max-depth=1 /

四、安全清理建议

  • ❌ 不要直接 rm -rf /
  • ✅ 先 du 定位目录
  • ✅ 用 ncdu 更直观
  • ✅ 日志优先 truncate

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

  • CentOS 版本(6 / 7 / 8)
  • 磁盘满在哪个挂载点(/、/var、/home)
  • 是否用 Docker / MySQL / Nginx

我可以给你精准清理命令。

0 踩