Ubuntu磁盘管理

2025-08-26 178

在使用Linux Ubuntu系统的过程中,磁盘空间不足是常见问题,下面站长百科将详细介绍查看Ubuntu磁盘空间的具体方法,以及实用的磁盘清理技巧。

一、如何查看Ubuntu磁盘空间使用情况

当系统弹出磁盘空间不足提示,或需定期排查磁盘占用时,可通过以下三类命令工具,从不同维度了解磁盘使用详情。

1、使用df命令

df(Disk Filesystem)命令是Linux系统中最基础的磁盘查看工具,能直观展示各分区的磁盘空间使用、剩余容量及文件系统类型,尤其适合快速掌握系统整体磁盘状态。

最常用的命令为:

df -h

输出示例(参考格式):

Ubuntu磁盘管理

df命令参数说明:

  • -h是 “Human-readable” 的缩写,会将磁盘容量以 KB、MB、GB 等易读单位显示,避免原始数字的混淆。
  • -a:显示所有文件系统,包括 /sys/fs/cgroup 这类 0 容量的伪文件系统,适合深度排查系统挂载情况。
  • -T:额外显示文件系统类型(如 ext4、tmpfs),例如通过 df -Th 可快速区分机械硬盘、SSD 或临时文件系统的分区。
  • -i:查看 inode 使用情况而非磁盘块占用。inode 用于存储文件元信息(如权限、修改时间),若 inode 耗尽,即使磁盘有剩余空间也无法创建新文件,此时需用 df -i 排查。
  • -t <类型> / -x <类型>:筛选或排除指定类型的文件系统,例如 df -t ext4 仅显示 ext4 格式的分区,df -x tmpfs 则排除临时文件系统。

2、使用du命令

df侧重整体分区,而du(Disk Usage)命令能精准分析单个目录或文件的磁盘占用,帮你快速找到 空间大户。

若想查看某个目录的总占用大小,可执行:

du -sh /path/to/directory

参数说明:

  • -s(Summary):仅显示目录的总容量,不递归列出子目录细节,避免输出冗余。
  • -h:同样以易读单位显示,如 “2.1G”“500M”。

输出示例:

2.1G /var/log

该结果表示 /var/log(系统日志目录)总占用 2.1GB 空间。

du 的其他常用参数可满足更精细的需求:

  • -a:显示目录下所有文件及子目录的占用大小,例如 du -a /home/user/Documents 会列出该目录下每个文件的具体容量。
  • -c(Total):在输出末尾添加 “总计” 行,常与 -a 搭配使用,如 du -ac /home/user/Downloads,方便统计整个目录的总占用。
  • -d <depth> / –max-depth=<depth>:限制目录层级深度,避免递归过深导致输出混乱。例如 du -h –max-depth=1 /var 仅显示 /var 下一级目录(如 /var/log、/var/cache)的大小,适合快速定位大目录。

实用示例:du -h /home/user 会递归显示 /home/user 下所有子目录的占用,帮你找到如 “Downloads”“Videos” 等占用较高的文件夹。

3、使用ncdu命令

若觉得纯命令行输出不够直观,ncdu(NCurses Disk Usage)是绝佳选择,基于终端的图形化界面,支持鼠标操作,能交互式展示目录占用,操作门槛更低。

步骤1:安装ncdu

Ubuntu默认未预装ncdu,需先通过APT安装:

sudo apt-get update && sudo apt-get install ncdu

步骤2:使用ncdu扫描磁盘

安装完成后,执行以下命令开始扫描(以根目录 / 为例,扫描全系统需一定时间):

ncdu /

操作说明:

  • 扫描完成后,界面会按目录占用大小排序(默认从大到小),右侧显示容量和百分比。
  • 按方向键可选中目录,按 Enter 进入子目录查看细节,按 q 退出当前目录或工具。
  • 若发现异常大的目录,可直接在界面中标记并删除(需谨慎操作),尤其适合对命令不熟悉的用户快速定位冗余文件。

二、如何清理Ubuntu的磁盘空间

当通过上述方法发现磁盘使用率过高(如超过80%)时,需及时清理冗余文件。以下是5种实用的清理方案,覆盖系统缓存、旧内核、日志等常见占用场景。

1、清理APT缓存

Ubuntu通过APT包管理器安装软件时,会将下载的.deb包文件缓存到/var/cache/apt/archives目录。这些缓存文件在安装完成后已无实际用途,长期积累可能占用数GB甚至数十GB空间。

清理命令:

sudo apt-get clean

该命令会彻底删除 /var/cache/apt/archives 及子目录下的所有 .deb 包文件,释放全部缓存空间。

若想保留最近安装的包缓存(方便后续重装时无需重新下载),可改用:

sudo apt-get autoclean

autoclean 仅删除 “已过期”(即当前软件仓库中已不存在的旧版本)的包缓存,兼顾空间释放与实用性。

2、删除不再使用的旧内核

Ubuntu系统升级时,会保留旧版本内核(以防新内核故障时回滚),但长期不清理会导致 /boot 分区(存放内核文件)被占满。尤其是 /boot 分区独立且容量较小的系统,可能因旧内核过多无法正常升级。

步骤1:查看当前运行的内核版本

首先确认当前正在使用的内核,避免误删导致系统无法启动:

uname -r

输出示例:5.15.0-88-generic(该版本为当前在用内核,需保留)。

步骤2:列出所有已安装的内核

执行以下命令查看系统中所有内核镜像文件:

dpkg –list | grep linux-image

输出示例(简化):

ii linux-image-5.15.0-86-generic 5.15.0-86.96 amd64 Linux kernel image for version 5.15.0 on 64 bit x86 SMP
ii linux-image-5.15.0-88-generic 5.15.0-88.98 amd64 Linux kernel image for version 5.15.0 on 64 bit x86 SMP

其中,ii 表示 “已安装”,linux-image-xxx-generic 即为内核包名,除当前运行的 5.15.0-88-generic 外,5.15.0-86-generic 即为可删除的旧内核。

步骤3:删除旧内核

使用 apt-get remove –purge 命令彻底删除旧内核(包括配置文件):

sudo apt-get remove –purge linux-image-5.15.0-86-generic

若需同时删除旧内核的依赖文件(如内核头文件),可补充删除对应的 linux-headers 包:

sudo apt-get remove –purge linux-headers-5.15.0-86-generic linux-headers-5.15.0-86

注意:务必保留当前运行的内核,且至少保留 1 个备用内核(以防新内核故障),不要删除所有旧内核。

3、清理系统日志文件

系统日志(如 /var/log/syslog、/var/log/auth.log)会记录系统运行、用户操作、服务故障等信息,长期不清理可能占用数百 MB 甚至 GB 空间。尤其服务器系统,日志生成速度更快,需定期清理。

推荐使用 journalctl 命令(系统日志管理工具)清理日志,该命令能安全控制日志保留时间,避免误删关键日志:

sudo journalctl –vacuum-time=3d

参数说明:

–vacuum-time=3d 表示仅保留最近 3 天的日志,删除超过 3 天的历史日志。可根据需求调整时间:如 1d(1 天)、1w(1 周)、1month(1 个月)。

若想按日志大小清理(如保留不超过 100MB 的日志),可执行:

sudo journalctl –vacuum-size=100M

/var/log 目录下的部分日志文件(如 kern.log.1、syslog.2.gz)是按时间轮转的旧日志,也可手动删除(需用 sudo 权限),但建议优先使用 journalctl 清理,避免破坏日志轮转机制。

4、查找并删除大文件

系统中可能存在被遗忘的大文件(如备份包、下载的 ISO 镜像、未清理的临时文件),这些文件往往占用大量空间却无实际用途。可通过 find 命令快速定位大文件,再手动判断是否删除。

查找系统中大于 100MB 的文件

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

参数说明:

  • /:指定搜索范围为整个系统(若仅想搜索用户目录,可替换为 /home/user)。
  • -type f:仅搜索文件(排除目录)。
  • -size +100M:筛选大小超过 100MB 的文件(可根据需求调整,如 +1G 表示大于 1GB)。
  • 2>/dev/null:忽略权限不足的错误提示(如 /proc、/sys 目录下的文件无读取权限,该参数可避免输出混乱)。

查找结果处理:

命令执行后,会列出所有符合条件的大文件路径,例如:

/home/user/Downloads/ubuntu-22.04.iso
/var/backups/system-backup.tar.gz
/tmp/large-temp-file.txt

可通过以下方式进一步处理:

  • 查看文件详情:用 ls -lh /path/to/file 查看文件大小、修改时间,判断是否有用。
  • 安全删除:确认无用后,用 rm -f /path/to/file 删除(-f 强制删除,避免提示)。

注意:删除前务必确认文件用途,尤其是 /var、/usr 等系统目录下的文件,误删可能导致系统故障。

5、使用BleachBit

若偏好图形化操作,BleachBit 是 Ubuntu 下的优秀清理工具 —— 它支持一键清理系统缓存、浏览器缓存、应用日志、无效快捷方式等,还能深度清理特定应用(如 Firefox、Chrome、LibreOffice)的冗余数据,操作简单直观。

步骤1:安装BleachBit

sudo apt-get update && sudo apt-get install bleachbit

步骤2:运行BleachBit并清理

桌面用户:可在 “应用程序菜单” 中找到 BleachBit 图标,点击启动;也可通过命令启动:

sudo bleachbit # 用管理员权限运行,可清理系统级文件(推荐)
# 若仅清理当前用户的文件,直接执行 bleachbit(无需sudo)

清理操作:

启动后,左侧列表会显示可清理的项目(如 “APT 缓存”“系统日志”“Firefox 缓存”“临时文件” 等)。勾选需要清理的项目(首次使用建议勾选 “APT 缓存”“临时文件”“系统日志” 等安全项)。

点击界面上方的 “清洁” 按钮,BleachBit会先扫描可清理文件,确认后开始清理,清理完成后会显示释放的空间大小。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
WordPress
上一篇: WordPress MCP集成
Ubuntu
下一篇: Ubuntu安装Odoo ERP