插件窝 干货文章 在Linux系统中没有duf命令,如何有效地管理磁盘空间?

在Linux系统中没有duf命令,如何有效地管理磁盘空间?

文件 bash 磁盘 工具 963    来源:    2025-04-09

在Linux系统中若没有duf命令(一个结合dfdu功能的现代工具),仍可通过以下方案高效管理磁盘空间:


1. 使用基础命令组合

查看磁盘使用情况(类似 df

df -h  # 人类可读格式显示磁盘空间
df -i  # 查看inode使用情况(避免大量小文件耗尽inode)

查找大文件/目录(类似 du

du -sh /path/* | sort -rh  # 统计目录大小并排序
du -ah /path | sort -rh | head -n 20  # 显示前20大文件/目录

组合分析

# 快速定位根目录下占用最大的子目录
sudo du -sh /* 2>/dev/null | sort -rh

2. 替代工具推荐

安装 ncdu (终端交互式工具)

sudo apt install ncdu  # Debian/Ubuntu
sudo yum install ncdu  # RHEL/CentOS

用法

ncdu /path  # 扫描目录,按大小排序,支持交互式删除

使用 baobab (图形化工具)

sudo apt install baobab  # Debian/Ubuntu
sudo yum install baobab  # RHEL/CentOS

通过图形界面直观分析磁盘占用。


3. 高级排查技巧

查找特定类型文件

# 查找大于100MB的文件
find /path -type f -size +100M -exec ls -lh {} \;

# 删除7天前的日志文件
find /var/log -type f -mtime +7 -exec rm -f {} \;

清理常见垃圾文件

# 清理APT缓存
sudo apt clean

# 删除旧内核(Ubuntu)
sudo apt autoremove --purge

# 清空用户回收站
rm -rf ~/.local/share/Trash/*

4. 自动化监控

定期扫描脚本

#!/bin/bash
echo "Disk Usage:"
df -h
echo -e "\nTop 10 Large Directories:"
du -ah / 2>/dev/null | sort -rh | head -n 10

保存为 check_space.sh 并添加定时任务(crontab -e)。


5. 临时解决方案:手动安装 duf

若需使用duf,可直接下载预编译版本:

wget https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_amd64.deb
sudo dpkg -i duf_*.deb

或通过包管理器安装(部分发行版支持)。


总结建议

  • 快速分析df -h + du -sh * | sort -rh
  • 交互式工具:优先安装 ncdu
  • 图形界面:使用 baobab
  • 深度清理:结合 find 命令定位大文件/旧文件

通过组合这些工具,即使没有duf也能高效管理磁盘空间。