在Linux系统中查看所有文件夹大小有多种方法,以下列举几种常用且高效的命令及扩展知识:
1. `du` 命令(核心工具)
- 基础用法:
bash
du -h --max-depth=1 /path/to/directory
`-h` 以易读格式(KB/MB/GB)显示;`--max-depth=1` 仅显示指定目录下一级子目录的大小。
若需查看完整目录树的大小,可移除 `--max-depth` 参数,但可能耗时较长。
- 排序输出:
bash
du -h --max-depth=1 /path | sort -h
通过 `sort -h` 按人类可读的数值排序(升序),加 `-r` 参数可降序。
- 排除文件系统挂载点:
bash
du -h -x --max-depth=1 /
`-x` 忽略其他文件系统(如挂载的NFS或磁盘分区)。
2. `ncdu` 工具(交互式分析)
- 需安装:`sudo apt install ncdu`(Debian/Ubuntu)或 `sudo yum install ncdu`(RHEL/CentOS)。
运行 `ncdu /path` 后进入交互界面,支持按大小排序、导航目录及删除文件。
3. `ls` 与 `awk` 结合(快速但有限)
bash
ls -l | awk '/^d/ {print $9}' | xargs du -sh
仅统计当前目录下的文件夹大小,不递归子目录。适合快速概览。
4. 图形化工具
- Baobab(GNOME环境):通过 `baobab` 命令启动,可视化显示磁盘占用。
- K4DirStat(KDE环境):提供详细的块状分布图。
扩展知识:
`du` 与 `df` 的区别:
`du` 统计文件实际占用空间(含稀疏文件),而 `df` 报告文件系统总/可用块数,二者可能因文件系统预留空间或删除未释放的文件出现差异。
大文件定位:
结合 `find` 命令查找大文件:
bash
find /path -type f -size +100M -exec du -h {} + | sort -rh
排除符号链接:
`du -L` 会统计符号链接指向的文件大小,默认行为不跟进链接。
网络文件系统注意事项:
扫描NFS目录可能因网络延迟导致耗时增加,建议在非高峰时段操作。
根据需求选择合适方法:`du` 适合脚本处理,`ncdu` 适合交互式分析,图形工具更直观。
查看详情
查看详情