Linux查看目录下所有文件夹大小的方法与技巧

admin
在Linux中查看目录下所有文件夹大小,常用du命令结合选项实现,基础用法为du -sh *-s汇总目录大小,-h以KB/MB/GB显示;du -h --max-depth=1可限制查看一级子目录,为方便排序,可通过du -sh * | sort -rh按大小降序排列,find命令可筛选特定目录,如find . -maxdepth 1 -type d -exec du -sh {} +;交互式工具ncdu能实时查看并动态更新,这些方法可灵活组合,高效掌握目录空间占用情况。

在Linux系统管理中,磁盘空间管理是一项重要任务,当需要排查某个目录下哪些文件夹占用空间过大时,快速、准确地查看所有子文件夹的大小就显得尤为关键,本文将介绍几种常用的Linux命令,帮助您高效查看目录下所有文件夹的大小,并附上具体示例和注意事项。

基础命令:du查看目录大小

du(disk usage)是Linux中用于统计文件和目录磁盘占用的核心命令,要查看目录下所有文件夹的大小,需结合特定参数优化输出。

查看当前目录下一级子文件夹大小(最常用)

使用du命令配合-h(人类可读格式)和--max-depth(最大递归深度)参数,可以快速列出当前目录下所有一级子文件夹的大小,不递归到子目录:

Linux查看目录下所有文件夹大小的方法与技巧

du -h --max-depth=1
  • -h:以人类可读格式显示大小(如K、M、G),默认显示字节;
  • --max-depth=1:只统计当前目录下一级子文件夹,不深入子目录(也可简写为-d 1)。

示例
假设当前目录为/var/log,执行命令后输出可能如下:

0K    ./cron
2.1M    ./kern.log
15M     ./syslog
8.0K    ./auth.log

这表示cron文件夹占用4KB,kern.log占用2.1MB,依此类推。

按文件夹大小排序(便于排查大目录)

默认输出顺序为文件夹创建顺序,若需按大小从大到小排序,可结合sort命令:

du -h --max-depth=1 | sort -hr
  • sort -hr-h表示按人类可读格式排序(如2.1M > 4.0K),-r表示降序(从大到小)。

示例输出

15M     ./syslog
2.1M    ./kern.log
8.0K    ./auth.log
4.0K    ./cron

这样能快速定位占用空间最大的子文件夹。

递归查看所有子文件夹大小(包含深层目录)

若需查看当前目录及所有子文件夹的大小(递归统计),可去掉--max-depth参数:

du -h

但输出会包含所有文件和子文件夹,信息量较大,若只想按文件夹汇总(不显示文件),可结合-d参数指定较大深度(如-d 10),或使用-s(summary)参数仅汇总每个子文件夹的总大小:

du -h -d 10 | sort -hr  # 递归10层深度,按大小排序

或仅汇总一级子文件夹(与--max-depth=1效果相同):

du -h -s */ | sort -hr
  • -s */-s仅汇总每个参数的大小,匹配所有一级子文件夹。

进阶技巧:结合finddu筛选特定目录

若需按条件筛选文件夹(如仅查看大于100MB的子目录),可结合finddu

find . -maxdepth 1 -type d -exec du -sh {} \; | sort -hr
  • find . -maxdepth 1 -type d:查找当前目录()下一级(-maxdepth 1)所有类型为目录(-type d)的文件;
  • -exec du -sh {} \;:对每个找到的目录执行du -sh-s汇总,-h人类可读,代表当前目录);
  • | sort -hr:按大小降序排序。

示例输出

15M     ./syslog
2.1M    ./kern.log
8.0K    ./auth.log
4.0K    ./cron

交互式工具:ncdu(可视化磁盘分析)

若需更直观地分析目录结构(如交互式浏览、删除文件),可使用ncdu(NCurses Disk Usage)工具,它以树状图展示目录大小,支持上下键导航、回车进入子目录、d键删除文件/目录。

安装ncdu

  • Debian/Ubuntu:sudo apt install ncdu
  • CentOS/RHEL:sudo yum install ncdu
  • macOS(Homebrew):brew install ncdu

使用ncdu

进入目标目录后执行:

ncdu

界面说明

  • 第一列:目录/文件名;
  • 第二列:大小(人类可读格式);
  • 第三列:子项数量(仅目录);
  • 第四列:占父目录的比例。

通过上下键选择目录,按n键刷新大小,按d键删除(需确认),按q键退出。

注意事项

  1. dudf的区别
    • du:统计目录/文件的实际占用空间(如文件占用的磁盘块总和,可能因碎片化显示比实际大);
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码