上一篇
Linux如何快速查看目录大小
- Linux
- 2025-07-06
- 2
使用
du -sh 目录名
命令查看目录大小,
-s
汇总显示总大小,
-h
以易读格式(如KB/MB/GB)输出,du -sh /home
查看/home目录大小,也可用
ncdu`工具交互式查看,需先安装。
du
命令(最常用)
功能:统计目录或文件的磁盘使用量(Disk Usage)。
常用参数:
-h
:以人类可读格式显示(如 KB、MB、GB)。-s
:仅显示总大小(不显示子目录详情)。--max-depth=N
:限制统计的目录层级深度。-c
:在结果末尾显示总计。
示例:
# 查看当前目录大小 du -sh # 查看指定目录总大小(如 /var) du -sh /var # 查看目录下所有一级子目录的大小 du -h --max-depth=1 /home # 查看多个目录并显示总计 du -shc /var/log /tmp
输出解读:
12G /var/log
5.6G /tmp
17.6G total
ncdu
命令(交互式分析)
功能:基于终端的交互式磁盘分析工具,支持导航和排序。
安装:
# Debian/Ubuntu sudo apt install ncdu # CentOS/RHEL sudo yum install ncdu
使用:
ncdu /path/to/directory # 扫描目录
操作:
- 方向键:浏览目录。
d
:删除选中的文件/目录(谨慎使用)。r
:刷新统计。q
:退出。
优势:直观展示目录占比,适合分析大目录。
图形化工具(桌面环境)
-
Baobab(磁盘使用分析器)
- GNOME 桌面默认工具,通过环形图或树状图可视化空间占用。
- 安装:
sudo apt install baobab
(Ubuntu/Debian) - 使用:终端运行
baobab
或从应用菜单启动。
-
Filelight(KDE 工具)
- 以彩色区块展示目录大小。
- 安装:
sudo apt install filelight
(Debian系)或通过 KDE 软件中心。
其他实用技巧
-
排除特定文件类型(如不统计
.log
文件):du -sh --exclude="*.log" /var
-
按大小排序子目录:
du -h --max-depth=1 /path | sort -h
-
追踪大文件(结合
find
):find /var -type f -size +100M -exec du -h {} + | sort -rh
️ 注意事项
- 权限问题:无权限的目录会显示
du: cannot access...
,需用sudo
执行。 - 符号链接:默认
du
统计链接指向的实际内容,添加-L
可追踪链接。 - 性能影响:扫描超大目录(如 )时可能耗时,建议指定具体路径。
方法对比
场景 | 推荐命令 |
---|---|
快速查看目录总大小 | du -sh |
分析子目录大小分布 | du --max-depth=1 |
交互式探索大目录 | ncdu |
可视化空间占用 | baobab /Filelight |
引用说明:
du
命令文档:GNU Coreutils 手册(https://www.gnu.org/software/coreutils/manual/)ncdu
官方指南:https://dev.yorhel.nl/ncdu- Baobab 文档:GNOME 帮助中心(https://help.gnome.org/users/baobab/)