温馨提示×

怎样进行Linux磁盘清理

小樊
64
2026-09-26 15:21:32
栏目: 智能运维

在 Linux 下进行磁盘清理,通常可以按**“先看占用 → 再清安全项 → 最后处理大文件/旧数据”**的思路来做。下面给你一套实用方法(适用于 CentOS / Ubuntu / Debian 等常见发行版)。


一、先查看磁盘使用情况

1. 查看整体磁盘占用

df -h

重点关注 /(根分区)是否接近 100%。

2. 查看目录占用情况

du -h --max-depth=1 /

或更有用的:

du -h --max-depth=1 /var /home /tmp

3. 快速定位大目录(推荐)

ncdu /

(如未安装:yum install ncdu 或 apt install ncdu)


二、清理系统安全可回收内容

1. 清理包管理器缓存

CentOS / RHEL

yum clean all
# 或
dnf clean all

Ubuntu / Debian

apt-get clean
apt-get autoclean

2. 删除无用依赖包

# Ubuntu / Debian
apt-get autoremove

# CentOS
package-cleanup --leaves

三、清理日志文件(很常见爆盘原因)

1. 查看日志大小

du -sh /var/log/*

2. 清理旧日志(安全)

# 只保留最近 7 天
find /var/log -type f -name "*.log" -mtime +7 -delete

3. 使用 journald(systemd 系统)

journalctl --disk-usage
journalctl --vacuum-time=7d

四、清理临时文件

rm -rf /tmp/*
rm -rf /var/tmp/*

⚠️ 不要在系统运行时删 /tmp 中正在使用的文件(一般重启后清最安全)


五、清理 Docker(如果是服务器常见爆盘点)

docker system df
docker system prune -a

⚠️ 会删除未使用的镜像、容器、网络(确认无误再执行)


六、查找并清理大文件

查找大于 100MB 的文件

find / -type f -size +100M -exec ls -lh {} \;

常见“隐藏大户”

  • /var/log
  • /home/*/Downloads
  • 备份文件(.bak, .tar.gz)
  • core dump 文件
find / -name "core" -type f

七、释放已删除但仍被占用的空间

有时 df 显示满,但 du 不大:

lsof | grep deleted

重启对应进程即可释放空间。


八、建议的清理顺序(安全)

  1. df -h
  2. ncdu /
  3. 清理 apt / yum 缓存
  4. 清理 journal & 日志
  5. 清理 /tmp
  6. 检查 Docker
  7. 删除明确无用的大文件

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

  • 是什么系统(CentOS / Ubuntu / 龙蜥 / 麒麟等)
  • 是服务器还是桌面
  • df -h 的输出截图或结果

我可以帮你针对性给出清理命令,避免误删。

0 踩