温馨提示×

Linux如何清理磁盘空间

小樊
42
2026-07-07 00:15:55
栏目: 云计算

在 Linux 系统中清理磁盘空间,可以按从安全到深入的顺序来做。下面给你一套实用、可操作的清理方案,适用于大多数发行版(Ubuntu / Debian / CentOS / Rocky / Alma / Arch 等)。


一、先查看磁盘使用情况(非常重要)

1️⃣ 查看整体磁盘占用

df -h

2️⃣ 查看哪个目录占用最多

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

或(更直观):

ncdu /

如果没有 ncdu

apt install ncdu        # Debian/Ubuntu
yum install ncdu         # CentOS 7
dnf install ncdu         # CentOS 8+/Rocky/Alma

二、清理常见“大户”

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

Ubuntu / Debian

sudo apt clean
sudo apt autoclean
sudo apt autoremove --purge

CentOS / Rocky / Alma

sudo yum clean all
# 或
sudo dnf clean all

Arch

sudo pacman -Sc
sudo pacman -Rns $(pacman -Qtdq)

✅ 2. 清理日志文件(journalctl)

journalctl --disk-usage

保留最近 3 天

sudo journalctl --vacuum-time=3d

限制日志大小

sudo journalctl --vacuum-size=200M

✅ 3. 清理 /tmp 临时文件

sudo rm -rf /tmp/*

⚠️ 不要删除 /tmp 目录本身


✅ 4. 清理用户缓存

rm -rf ~/.cache/*

三、清理 Docker(如果是服务器)

查看 Docker 占用

docker system df

一键清理(⚠️ 会删除未使用容器/镜像)

docker system prune -a

若只想清理镜像:

docker image prune -a

四、查找并删除大文件

查找大于 500MB 的文件

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

查找大于 1GB 的文件

find / -xdev -type f -size +1G 2>/dev/null

⚠️ 删除前务必确认用途


五、清理旧内核(Ubuntu / Debian)

dpkg --list | grep linux-image

保留当前内核,删除旧版本:

sudo apt purge linux-image-xxx

六、清理 Snap(Ubuntu 特有)

sudo snap list --all

删除旧版本:

sudo snap remove --purge 包名

或一键清理脚本(推荐):

set -eu
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        sudo snap remove "$snapname" --revision="$revision"
    done

七、检查是否有“已删除但未释放”的文件

查看被进程占用的已删除文件

lsof +L1

重启相关服务即可释放空间:

sudo systemctl restart 服务名

八、常见目录占用参考

目录 说明
/var/log 日志
/var/cache 缓存
/var/lib/docker Docker
/usr/src 内核源码
/home 用户数据

九、快速清理脚本(安全版)

#!/bin/bash
sudo apt clean
sudo apt autoremove -y
sudo journalctl --vacuum-time=7d
rm -rf ~/.cache/*
sudo rm -rf /tmp/*

十、如果你愿意,我可以:

  • ✅ 根据你的 发行版 + 磁盘占用截图 精准分析
  • ✅ 帮你判断 哪些文件可以删
  • ✅ 针对 服务器 / 桌面 / Docker / K8s 场景优化

你可以直接贴:

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

0