讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么查看文件夹深度并排序

轻宇吖_4034

轻宇吖_4034

发布时间:2026-06-29 10:57:18

|

977人浏览过

|

来源于php中文网

原创

正确用法是 du -sh --max-depth=1 . | sort -hr:-s 确保每项单行总计,-h 输出人类可读单位,-r 倒序排列;sort -h 要求输入为“大小+空格+路径”格式,du -sh 恰好满足,而 du -h --max-depth=1 默认用制表符分隔,会导致排序错乱。

linux怎么查看文件夹深度并排序

du --max-depth 和 sort -h 配合用不对?

直接写 du --max-depth=1 -h | sort -h 会报错或结果错乱,因为 sort -h 要求输入是“人类可读单位+空格+路径”的标准格式,而 du -h 默认输出是“大小+制表符+路径”,sort -h 无法正确识别字段分隔符。常见错误是排序失效、单位混杂(K/M/G 乱序)、甚至卡死。

正确做法是强制用空格分隔,并确保每行只有“大小 路径”两列:

  • du -sh --max-depth=1 . | sort -hr —— -s 确保每项只输出一行总计,-h 输出带单位,-r 倒序(大在前)
  • 如果路径含空格或特殊字符,加 -0 配合 xargs -0 更安全,但日常排查不必要
  • 别用 sort -n 处理 -h 输出——它把 1G 当字符串排,10M 会排在 2G 前面

想看“文件夹深度”本身,不是大小?

注意:du 不提供“深度值”作为输出字段;它只是限制统计时递归多少层。所谓“查看文件夹深度”,实际是指:列出各子目录的嵌套层级数(比如 ./a/b/c 深度为 3),这得靠 find + awk 或 bash 计算路径分隔符数量。

快速获取当前目录下所有子目录的深度并排序(升序):

find . -type d -mindepth 1 -maxdepth 5 | awk -F'/' '{print NF-1, $0}' | sort -n | head -10

说明:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • -mindepth 1 排除当前目录 . 本身
  • -maxdepth 5 防止遍历过深拖慢速度(可按需调高)
  • awk -F'/' '{print NF-1, $0}' 把路径按 / 拆分,NF 是字段数,减 1 得深度(./a → 2 字段 → 深度 1)
  • sort -n 按第一列(深度)数值排序

为什么 du --max-depth=1 有时漏掉隐藏目录?

du --max-depth=1 * 这种写法会跳过以 . 开头的目录(如 .git、.config),因为 shell 的通配符 * 默认不匹配隐藏文件/目录。

要完整覆盖,必须显式包含点开头项:

  • 用 du -sh --max-depth=1 .*/ * —— 但可能报错“cannot access './.git': Permission denied”,需加 2>/dev/null
  • 更稳妥:用 find . -maxdepth 1 -type d ! -name '.' -exec du -sh {} \; 2>/dev/null | sort -hr
  • 注意 find 的 -maxdepth 1 包含当前目录 .,所以加 ! -name '.' 排除它

排序后想看具体是哪个大文件夹?别只信 head -10

du -sh --max-depth=1 . | sort -hr | head -10 看起来快,但有个坑:当多个子目录大小完全相同时(比如都是 0 或都显示为 16K),sort -hr 不保证稳定顺序,不同执行结果可能不一致,容易漏掉真正可疑的目录。

建议加 -k1,1 强制按第一列(大小)主键排序,再用路径次序兜底:

du -sh --max-depth=1 . | sort -hr -k1,1 | head -10

另外,du 统计的是磁盘占用(含块对齐、硬链接等),不是逻辑大小;若需精确对比,加 --apparent-size 参数,但要注意它不反映真实磁盘压力。

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3890

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3333

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2473

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

5970

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5602

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3293

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2805

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3019

2023.07.25

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn