Linux 磁盘清理 & 查看常用指令笔记

一、磁盘查看类(定位空间占用)

1. df -h

  • 命令:df -h
  • 字母含义:
    • d = disk(磁盘)
    • f = free(空闲)
    • -h = human-readable(以 GB/MB 显示,而非原始字节)
  • 作用:查看系统各分区的总容量、已用、可用、使用率,快速定位哪个分区满了。

2. du -h --max-depth=1 2>/dev/null | sort -hr

  • 命令:du -h --max-depth=1 2>/dev/null | sort -hr
  • 字母 / 参数含义:
    • d = disk(磁盘)
    • u = usage(占用)
    • -h = human-readable(显示为 GB/MB)
    • --max-depth=1:只查看当前目录下的一级子目录,不递归深入
    • 2>/dev/null:将错误信息(如权限不足)丢弃,只显示有效结果
    • |:管道符,把前一个命令的输出传给后一个命令
    • sort:排序
    • -h:让 sort 识别 GB/MB 单位并正确排序
    • -r = reverse(反向,从大到小排序)
  • 作用:查看当前目录下,各子目录的占用大小,按从大到小排序,快速找到 "元凶" 目录。

二、安全清理类(释放磁盘空间)

1. 清理 APT 包缓存

  • 命令: bash

    运行

    复制代码
    sudo apt clean
    sudo apt autoremove -y
  • 含义:

    • apt:Debian/Ubuntu 包管理工具
    • clean:清理所有已下载的 .deb 安装包缓存
    • autoremove:卸载不再被依赖的无用软件包
    • -y:自动确认所有操作,无需手动输入 Y
  • 作用:清理系统软件缓存,通常可释放 1-3GB 空间。


2. 清理系统日志(最有效)

  • 命令:sudo journalctl --vacuum-size=100M
  • 含义:
    • journalctl:systemd 日志管理工具
    • --vacuum-size=100M:将所有系统日志的总大小限制在 100MB 以内
  • 作用:清理系统日志,解决日志爆炸式增长问题,通常可释放 5-10GB 空间。

3. 清理临时文件

  • 命令:sudo rm -rf /tmp/*
  • 含义:
    • rm = remove(删除)
    • -r = recursive(递归删除目录下所有文件)
    • -f = force(强制删除,不提示)
    • /tmp/*:系统临时目录下的所有文件
  • 作用:清理系统临时文件,这些文件重启后也会被清理,手动清理安全无风险。

4. 清理 /var/cache/apt 缓存

  • 命令:sudo rm -rf /var/cache/apt/archives/*
  • 含义:删除 APT 工具下载的软件包缓存。
  • 作用:进一步释放包缓存占用的空间,与 apt clean 效果一致。

5. 清理崩溃日志

  • 命令:sudo rm -rf /var/crash/*
  • 含义:删除系统崩溃时生成的错误报告文件(通常体积很大)。
  • 作用:清理无用的崩溃日志,释放空间。

6. 清理 Snap 包旧版本

  • 命令:sudo snap set system refresh.retain=2
  • 含义:设置 Snap 包只保留最新的 2 个版本,自动删除旧版本。
  • 作用:解决 Snap 包多版本占用空间的问题。

三、高级 / 可选清理(如使用 Docker)

命令:sudo docker system prune -a

  • 含义:
    • docker system prune:清理 Docker 无用资源
    • -a:清理所有未使用的镜像、容器、网络、卷(除正在运行的容器外)
  • 作用:释放 Docker 占用的磁盘空间,通常可释放 3-20GB 不等。

四、关键注意事项

  1. 绝对禁止删除的目录

    • /dev:设备目录,存放硬件接口文件,删除会直接导致系统崩溃。
    • /bin//sbin//etc//usr:系统核心目录,删除会导致系统无法启动。
    • /var/lib:存放系统服务数据(如数据库、Docker 数据),删除会导致数据丢失。
  2. 只可清理内容,不可删除目录本身

    • /var/log/var/cache 等目录,只能删除目录下的文件,不能删除目录本身,否则系统会报错。
  3. 操作前备份:重要数据建议先备份或创建虚拟机快照,避免误操作导致数据丢失。


附:一键安全清理脚本(可直接复制)

运行

复制代码
#!/bin/bash
# 一键安全清理脚本(适用于 Ubuntu/Debian)
echo "=== 开始清理系统空间 ==="

# 1. 清理 APT 缓存
echo "清理 APT 缓存..."
sudo apt clean -y
sudo apt autoremove -y

# 2. 清理系统日志
echo "清理系统日志..."
sudo journalctl --vacuum-size=100M

# 3. 清理临时文件
echo "清理临时文件..."
sudo rm -rf /tmp/*

# 4. 清理崩溃日志
echo "清理崩溃日志..."
sudo rm -rf /var/crash/*

# 5. 清理 Snap 旧版本
echo "清理 Snap 旧版本..."
sudo snap set system refresh.retain=2

echo "=== 清理完成!当前磁盘使用情况: ==="
df -h

保存为 clean_disk.sh,执行 chmod +x clean_disk.sh 赋予执行权限,即可一键运行。

相关推荐
小陈phd5 小时前
多模态大模型学习笔记(三十)—— 基于YOLO26 Pose实现车牌检测
笔记·学习
野指针YZZ5 小时前
XV6操作系统:trap机制学习笔记
笔记·学习
-许平安-7 小时前
MCP项目笔记九(插件 bacio-quote)
c++·笔记·ai·plugin·mcp
Xudde.8 小时前
班级作业笔记报告0x10
笔记·学习·安全·web安全·php
降临-max8 小时前
Git 协同开发与冲突解决
笔记·git
南境十里·墨染春水10 小时前
Linux学习进展 进程管理命令 及文件压缩解压
linux·运维·笔记·学习
航Hang*10 小时前
第2章:进阶Linux系统——第4节:配置与管理NFS服务器
linux·运维·服务器·笔记·学习·vmware
ZhiqianXia10 小时前
Pytorch 学习笔记(8): PyTorch FX
pytorch·笔记·学习
xuhaoyu_cpp_java11 小时前
Boyer-Moore 投票算法
java·经验分享·笔记·学习·算法