一、查看磁盘空间使用情况
在进行磁盘管理前,需先明确空间占用状态。常用命令如下:
df -h:查看各分区的磁盘使用情况(包括总大小、已用空间、可用空间及挂载点),-h 参数以人类可读格式(GB/MB)显示,便于快速识别空间不足的分区。lsblk:列出所有块设备(如硬盘、分区、逻辑卷)的层级结构,帮助理解系统的存储拓扑(例如区分物理卷与逻辑卷)。du -sh /path/to/directory:分析指定目录的磁盘占用,-s 显示总计,-h 人类可读,可递归查看子目录大小(如 du -sh /var/* 查看 /var 下各目录的占用)。ncdu:基于文本的交互式磁盘分析工具,更直观地展示目录树的空间占用(需安装:sudo apt install ncdu),支持按大小排序、进入子目录查看,适合快速定位大文件。二、清理APT缓存与残留配置
APT包管理器的缓存是磁盘空间的常见占用源,清理可释放大量空间:
sudo apt clean 会删除 /var/cache/apt/archives 下所有已下载的 .deb 软件包;sudo apt autoclean 则仅删除旧版本的缓存包(保留当前版本的包)。sudo apt purge package-name 彻底删除软件包及其配置文件(避免残留的 .conf 文件占用空间);sudo apt autoremove 自动移除不再需要的依赖包(如软件卸载后遗留的开发库)。sudo apt install deborphan 安装 deborphan 工具,运行 sudo deborphan | xargs sudo apt purge -y 删除所有孤儿包。三、管理日志文件
日志文件(尤其是 /var/log 目录)随时间增长会占用大量空间,需定期清理:
logrotate 管理日志:logrotate 是Debian默认的日志轮转工具,可自动压缩、删除旧日志(配置文件位于 /etc/logrotate.conf 及 /etc/logrotate.d/ 下的子配置)。手动触发轮转:sudo logrotate -f /etc/logrotate.conf。/var/log/syslog、内核日志 /var/log/kern.log),注意备份重要日志后再操作:sudo truncate -s 0 /var/log/syslog(将文件大小截断为0);或使用 journalctl 清理systemd日志:sudo journalctl --vacuum-time=7d(删除7天前的日志)。四、查找并删除大文件/目录
定位大文件是释放空间的关键,可通过以下命令快速查找:
find 命令:查找指定目录下超过一定大小的文件(如查找 /home 下大于100MB的文件):sudo find /home -type f -size +100M -exec ls -lh {} \;(-type f 仅查找文件,-size +100M 大于100MB,-exec ls -lh {} \; 显示文件详情)。ncdu 工具:通过交互式界面查看目录占用排名,进入目标目录后,按 S 键按大小排序,快速定位大文件或目录。五、清理临时文件与缓存
临时文件(如 /tmp 目录)通常可安全删除,不会影响系统运行:
/tmp 目录:/tmp 下的文件多为临时使用,可直接删除(建议先检查是否有重要文件):sudo rm -rf /tmp/*;或使用 find 查找7天未修改的临时文件:sudo find /tmp -type f -atime +7 -delete。bleachbit:sudo apt install bleachbit,图形化界面选择清理项目;或 apt 缓存的压缩包:sudo apt clean)。六、管理与卸载不常用软件
不常用软件会占用磁盘空间,需定期清理:
sudo apt remove package-name 卸载指定软件(保留配置文件,若需彻底删除则用 purge);sudo apt remove --purge firmware-package-name 删除不必要的固件(如打印机、网卡固件,减少空间占用)。apache2、bind9),减少服务占用的日志和缓存空间:sudo systemctl stop apache2、sudo systemctl disable apache2。七、调整分区大小(扩展空间)
若现有分区空间不足,可通过以下方式扩展:
sudo vgdisplay(关注 Free PE / Size 字段);sudo lvextend -L +5G /dev/mapper/vg-name-lv-name(增加5GB,替换为实际路径);sudo resize2fs /dev/mapper/vg-name-lv-name(适用于ext4文件系统,自动扩展至逻辑卷大小)。fdisk/parted 分区、mkfs 创建文件系统,然后将新分区挂载到现有目录(如 /home):sudo mount /dev/new-partition /home,并修改 /etc/fstab 实现开机自动挂载。八、监控清理效果
清理后需验证空间释放情况,确保操作有效:
df -h 对比清理前后的分区使用率(如 / 分区的可用空间是否增加);ncdu /var 查看 /var 目录(日志、缓存集中地)的大小变化,确认日志和缓存是否减少;lsof | grep deleted 查看是否有已删除但仍被进程占用的文件(这些文件会占用空间直到进程重启),若有则重启对应进程释放空间。注意事项:
/home、/etc 目录),避免误删导致数据丢失;/tmp 中7天未访问的文件:0 0 * * * find /tmp -type f -atime +7 -delete)。