当前位置:首页 > Linux > 正文

Linux如何快速查看目录大小

使用 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:退出。

优势:直观展示目录占比,适合分析大目录。


图形化工具(桌面环境)

  1. Baobab(磁盘使用分析器)

    • GNOME 桌面默认工具,通过环形图或树状图可视化空间占用。
    • 安装:sudo apt install baobab(Ubuntu/Debian)
    • 使用:终端运行 baobab 或从应用菜单启动。
  2. Filelight(KDE 工具)

    • 以彩色区块展示目录大小。
    • 安装:sudo apt install filelight(Debian系)或通过 KDE 软件中心。

其他实用技巧

  1. 排除特定文件类型(如不统计 .log 文件):

    du -sh --exclude="*.log" /var
  2. 按大小排序子目录

    du -h --max-depth=1 /path | sort -h
  3. 追踪大文件(结合 find):

    find /var -type f -size +100M -exec du -h {} + | sort -rh

️ 注意事项

  1. 权限问题:无权限的目录会显示 du: cannot access...,需用 sudo 执行。
  2. 符号链接:默认 du 统计链接指向的实际内容,添加 -L 可追踪链接。
  3. 性能影响:扫描超大目录(如 )时可能耗时,建议指定具体路径。

方法对比

场景 推荐命令
快速查看目录总大小 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/)
0