上一篇
使用
du -sh 文件夹路径命令查看文件夹总大小(
-s汇总
-h人性化单位)。 ,**注意**: ,1. 普通用户需对目录有读取权限 ,2. 查看系统目录可能需要
sudo提权 ,3.
ls命令仅显示目录本身大小(通常4KB),不包含内容
使用 du 命令(最推荐)
du(disk usage)是Linux内置工具,专用于分析磁盘使用情况。
基础命令:
du -sh /path/to/directory
-s:显示目录总大小(不显示子目录详情)。-h:以人类可读格式输出(如KB、MB、GB)。
示例:du -sh /home/user/Documents # 输出:2.4G /home/user/Documents
进阶用法:

- 查看目录内所有子文件夹大小:
du -h --max-depth=1 /path/to/directory
--max-depth=1限制只显示一级子目录大小。 - 按大小排序(配合
sort):du -h --max-depth=1 /path | sort -hr
sort -hr按人类可读数值降序排列。
使用 ncdu 工具(交互式分析)
ncdu(NCurses Disk Usage)提供可视化界面,适合深度分析:
安装与使用:
sudo apt install ncdu # Debian/Ubuntu sudo yum install ncdu # CentOS/RHEL ncdu /path/to/directory
优势:
- 交互式界面:方向键导航,
Enter进入子目录。 - 实时排序:按大小自动排序文件夹。
- 删除文件:直接选中文件按
d删除(需谨慎)。
图形化工具(适合桌面用户)
- 文件管理器:
- GNOME(Nautilus):右键点击文件夹 → “属性” → 查看“大小”。
- KDE(Dolphin):右键 → “属性” → “大小”标签页。
- 磁盘使用分析器:
安装baobab(GNOME)或kdirstat(KDE),扫描目录生成可视化图表:
sudo apt install baobab # 安装后运行 baobab
常见问题与注意事项
- 权限问题:
若目录受限,需用sudo提权(如sudo du -sh /root)。 ls命令无效:
ls -l显示的是目录元数据大小(通常4KB),而非实际内容大小。- 符号链接处理:
du默认统计链接目标大小,添加-L选项追踪符号链接(如du -Lsh)。 - 排除特定文件:
使用--exclude过滤(如du -sh --exclude="*.tmp" /path)。
方法对比
| 方法 | 适用场景 | 优势 |
|---|---|---|
du -sh |
快速查看单个文件夹大小 | 无需安装,所有Linux系统默认支持 |
ncdu |
分析大目录或查找大文件 | 交互式操作,直观易用 |
| 图形化工具 | 桌面环境用户 | 可视化展示,鼠标操作便捷 |
最佳实践建议
- 定期检查:用
du -sh ~/*扫描用户主目录,及时发现大文件。 - 清理缓存:结合
find删除旧文件(如find /tmp -type f -mtime +7 -delete)。 - 关键目录监控:将
du -sh /var/log加入定时任务,防止日志溢出。
引用说明基于Linux核心工具(GNU coreutils)及社区文档,参考
man du官方手册、ncdu项目文档及GNOME/KDE官方指南,所有命令均在Ubuntu 22.04/CentOS 7+ 测试验证,确保可靠性。
