统计文件大小
统计 Linux 文件夹及其子目录的总大小,最核心和高效的工具是 du (disk usage) 命令。下面的表格汇总了最常用的命令和方法,方便你快速选择。
| 命令/工具 | 核心用法 | 主要特点与适用场景 |
|---|---|---|
du (最常用) |
du -sh /path/to/directory |
直接高效:专为统计磁盘使用量设计,结果是文件夹在磁盘上占用的总空间。 |
ncdu (交互式) |
ncdu /path/to/directory |
可视化分析:交互式界面,可导航并排序,直观发现大文件/夹。 |
结合 sort 排序 |
`du -h /path/to/dir | sort -hr` |
🐧 使用 du 命令(推荐)
du(disk usage)是完成这个任务的专用工具,几乎所有 Linux 系统都预装了它。
-
统计文件夹总大小:使用
-s(或--summarize)选项来显示指定目录的总用量,避免输出所有子目录的细节。结合-h(或--human-readable)选项,让结果以 K, M, G 等易读的单位显示。du -sh /path/to/your/directory -
查看目录内各子项的大小:如果你还想知道目标目录下每个文件和子目录分别占用了多少空间,可以使用以下命令。添加
--max-depth=1选项来控制遍历的深度,例如只显示目标目录下一级子目录和文件的大小。# 查看目录下一级子项的大小 du -h --max-depth=1 /path/to/your/directory
🔍 使用 ncdu 进行可视化分析
如果你需要一个更直观的、可交互的工具来探索磁盘使用情况,ncdu 是一个非常好的选择。
- 安装与使用:通常系统不会预装
ncdu,你需要先安装它。例如,在 Ubuntu/Debian 上:sudo apt install ncdu。安装后,只需运行:ncdu /path/to/your/directory - 交互界面:它会扫描指定目录,然后提供一个界面。你可以使用键盘方向键在不同条目间导航,按 Enter 键进入子目录,按 d 键删除文件(需谨慎),按 q 键退出。
⚙️ 实用技巧与注意事项
掌握基础命令后,下面这些技巧能让你的磁盘空间管理更加得心应手。
-
排序找出最大项:结合
sort命令,可以轻松找出某个目录下最大的子目录或文件。例如,以下命令会将指定目录下所有项按大小逆序(从大到小)排列,并显示前 10 个:du -h --max-depth=1 /path/to/directory | sort -hr | head -n 10注意:为确保
sort命令正确识别数字单位,建议在使用管道排序时,du命令优先使用-m(以MB为单位)或-k(以KB为单位)而非-h,因为sort -n是依据纯数字排序。 -
排除特定文件或目录:使用
--exclude选项可以在统计时忽略符合特定模式的文件或目录。例如,排除所有.log文件:du -sh --exclude="*.log" /path/to/directory -
权限问题:如果你要统计的目录(如
/var或/usr)当前用户没有读权限,du命令会报错。这时可能需要使用sudo来提升权限:sudo du -sh /path/to/protected/directory
💎 总结
| 需求场景 | 推荐命令 |
|---|---|
| 快速查看文件夹总大小 | du -sh /path/to/directory |
| 分析文件夹内各子项大小 | du -h --max-depth=1 /path/to/directory |
| 找出占用空间最大的项 | `du -h --max-depth=1 /path/to/directory |
| 直观浏览和探索磁盘使用情况 | ncdu /path/to/directory |
希望这些命令和技巧能帮助你有效地管理磁盘空间!如果你在操作中遇到任何具体问题,比如某个命令的输出不太明白,随时可以再问我。

浙公网安备 33010602011771号