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系统的磁盘空间,保持系统流畅运行。需注意:清理前务必确认文件是否为系统关键文件或个人重要数据,避免误删。