温馨提示×

怎样安全清理Linux磁盘

小樊
128
2026-09-05 12:37:08
栏目: 智能运维

在 Linux 系统中“安全清理磁盘”的核心原则是:不删系统关键文件、确认无误再删、优先释放可安全回收的空间。下面按「安全等级」和「使用场景」给你一套实用方案。


一、先搞清楚:磁盘被什么占用了(很重要)

1. 查看整体磁盘使用

df -h

2. 找出大目录(从根开始)

du -h --max-depth=1 / | sort -hr | head

3. 交互式分析(推荐)

ncdu /

比 du 直观,可浏览、可删除,新手友好且较安全


二、安全清理的“标准动作”

✅ 1. 清理包管理器缓存(最安全)

Debian / Ubuntu

sudo apt clean
sudo apt autoremove --purge

CentOS / RHEL

sudo yum clean all
# 或
sudo dnf clean all

✅ 2. 清理日志(journal / log)

systemd 日志

# 查看占用
journalctl --disk-usage

# 只保留最近 7 天
sudo journalctl --vacuum-time=7d

# 或限制大小
sudo journalctl --vacuum-size=500M

普通日志

sudo find /var/log -type f -name "*.log" -mtime +30 -delete

⚠️ 不建议直接删 /var/log 本身


✅ 3. 清理用户缓存

rm -rf ~/.cache/*

不会影响系统,只是程序缓存


✅ 4. 清理 Docker(如果用 Docker)

docker system prune -a

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


三、谨慎操作区(容易出事)

⚠️ 1. 删除大文件前先确认

ls -lh /path/to/file
file /path/to/file

⚠️ 2. 不要随便删这些

  • /bin, /sbin, /lib, /usr
  • /etc(配置)
  • 正在写入的日志(用 > file 清空比 rm 安全)

⚠️ 3. 正在被进程占用的文件

lsof | grep deleted

删了但空间不释放,通常是这个原因


四、高级但安全的做法

1. 找出“删了但不释放空间”的文件

sudo lsof +L1

2. 安全清空大文件(不删文件本身)

sudo truncate -s 0 /var/log/big.log
# 或
sudo sh -c ': > /var/log/big.log'

五、自动化(可选)

定时清理日志示例

sudo crontab -e
0 3 * * 0 journalctl --vacuum-time=14d

六、一句话总结

先 ncdu 看清楚,再 apt clean / 清日志,最后才考虑删文件;绝不盲删 /、/etc、/usr。

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

  • 用的是哪种 Linux(Ubuntu / CentOS / 容器?)
  • 磁盘满在哪(/home 还是 /var?)

我可以直接给你“针对性清理命令”。

0 踩