Ubuntu磁盘空间管理指南
在管理磁盘空间前,需先明确当前空间占用状态,以下是常用命令:
df
命令(查看分区整体使用情况)
df -h
:以易读格式(GB/MB)显示所有挂载分区的总容量、已用空间、剩余空间及使用百分比,重点关注Use%
(使用百分比)列,若某分区使用率接近100%,需优先处理。
df -Th
:额外显示文件系统类型(如ext4
、xfs
),帮助区分机械硬盘、SSD或临时文件系统(如tmpfs
)。
df -h /
:专门查看根目录(/
)所在分区的剩余空间,快速判断系统级空间是否充足。
du
命令(分析目录/文件具体占用)
du -sh /path/to/directory
:统计指定目录的总占用大小(-s
汇总,-h
易读格式),例如du -sh /var/log
可查看系统日志目录的大小。
du -h --max-depth=1 /var
:限制目录层级深度(--max-depth=1
),仅显示/var
下一级子目录(如/var/log
、/var/cache
)的大小,快速定位大目录。
du -a /home/user | sort -n -r | head -n 10
:列出/home/user
目录下所有文件及子目录的大小(-a
),按数字降序排序(sort -n -r
),显示前10个占用最大的项目,精准找出“空间大户”。
图形化工具(直观查看)
磁盘使用分析器(Disk Usage Analyzer,又称baobab
):Ubuntu自带工具,通过图形界面展示磁盘使用情况。打开方法:应用菜单搜索“Disk Usage Analyzer”,选择需分析的目录(如主文件夹),即可通过树状图或饼图查看各文件夹的大小占比,支持点击进入子目录深入排查。
/var/cache/apt/archives
),占用大量空间。运行以下命令清理:sudo apt autoclean
:清理过时的软件包缓存(仅保留当前可用的版本);sudo apt clean
:完全清理APT缓存(删除所有下载的软件包)。/boot
分区空间(该分区通常较小),需定期清理。步骤如下:dpkg -l | grep linux-image
;uname -r
查看):sudo apt purge linux-image-x.x.x-x-generic
(替换为旧版本号);sudo apt autoremove
。系统日志(位于/var/log
)会随时间增长占用大量空间,尤其是/var/log/syslog
、/var/log/kern.log
等文件。可通过以下命令清理:
sudo journalctl --vacuum-size=100M
:将日志文件压缩至100MB以内,保留最近的日志;sudo journalctl --vacuum-time=3d
:删除3天前的旧日志;sudo rm -rf /var/log/*.gz
(删除压缩的旧日志)。/tmp
目录下的临时文件可安全删除,运行:sudo rm -rf /tmp/*
;sudo apt clean
已清理APT缓存,无需额外操作;Snap应用会保留旧版本(位于/var/lib/snapd/snaps
),占用较多空间。可通过以下方法清理:
du -h /var/lib/snapd/snaps
;sudo snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
缩略图缓存(位于~/.cache/thumbnails
)存储了文件的预览图,长期使用后会占用大量空间。运行以下命令清理:
rm -rf ~/.cache/thumbnails/*
(需删除用户目录下的缓存,不影响系统文件)。
通过以下命令卸载不再使用的软件包:
sudo apt remove package-name
:卸载指定软件(如sudo apt remove vlc
卸载VLC播放器);sudo apt autoremove --purge
:删除不再需要的依赖包及配置文件(彻底清理)。若清理后仍空间不足,可考虑扩展磁盘:
使用GParted调整分区
GParted是图形化分区工具,支持调整分区大小(需从Live USB启动,避免占用目标分区)。步骤:
① 安装GParted:sudo apt install gparted
;
② 启动GParted,选择需扩展的分区(如/dev/sda1
);
③ 右键点击“调整大小/移动”,拖动分区边界至所需大小,点击“应用”。
使用LVM(逻辑卷管理)
若系统采用LVM(逻辑卷管理),可通过以下命令扩展逻辑卷:
① 查看逻辑卷信息:lvdisplay
;
② 扩展逻辑卷:sudo lvextend -L +10G /dev/ubuntu-vg/root
(增加10GB,替换为实际路径和大小);
③ 调整文件系统大小:sudo resize2fs /dev/ubuntu-vg/root
(适用于ext4文件系统)。
添加新硬盘
若物理硬盘空间不足,可添加新硬盘:
① 插入新硬盘,通过lsblk
查看设备名(如/dev/sdb
);
② 分区:sudo fdisk /dev/sdb
(创建主分区并设置为Linux LVM
类型);
③ 格式化:sudo mkfs.ext4 /dev/sdb1
;
④ 挂载:编辑/etc/fstab
文件,添加挂载信息(如/dev/sdb1 /mnt/newdisk ext4 defaults 0 2
),重启后生效。
为避免磁盘空间再次不足,可设置定时任务自动清理:
/home/user/cleanup.sh
):#!/bin/bash
echo "开始清理缓存..."
sudo apt clean
sudo apt autoclean
sudo apt autoremove --purge
echo "清理日志文件..."
sudo journalctl --vacuum-size=100M
echo "清理缩略图缓存..."
rm -rf ~/.cache/thumbnails/*
echo "清理完成!"
② 赋予脚本执行权限:chmod +x /home/user/cleanup.sh
;crontab -e
,添加以下行(每天凌晨2点执行):0 2 * * * /home/user/cleanup.sh
。通过以上方法,可有效管理Ubuntu系统的磁盘空间,保持系统流畅运行。需注意:清理前务必确认文件是否为系统关键文件或个人重要数据,避免误删。