在Linux系统中,查询包含隐藏文件的文件夹大小并排序,需结合du
或ls
命令的特殊参数。以下是具体指令及场景分类:
一、使用du
命令(推荐用于包含隐藏文件的精确统计)
1. 显示当前目录下所有文件及隐藏文件的大小,并按从大到小排序
du -sh .[!.]* * | sort -rh
- 参数解析:
.[!.]*
:匹配所有以.
开头的隐藏文件(排除.
和..
目录)。*
:匹配非隐藏文件。-s
:仅显示总大小,不递归子目录。-h
:以人类可读格式(KB/MB/GB)显示。sort -rh
:按数值逆序排序(从大到小)。
2. 递归显示子目录大小(包含隐藏文件)
du -sh --max-depth=1 .[!.]* * | sort -rh
- 参数解析:
--max-depth=1
:限制递归深度为1层,显示当前目录下一级子目录的大小。
3. 查找大文件并排序(含隐藏文件)
du -ah | grep '^\.[^.]*\|.*' | sort -rh
- 参数解析:
-a
:显示所有文件和目录(包括隐藏文件)。grep
:过滤隐藏文件和非隐藏文件。
二、使用ls
命令(适合快速查看文件层级)
1. 按文件大小排序(包含隐藏文件)
ls -AlhS
- 参数解析:
-A
:显示所有文件(包括隐藏文件,排除.
和..
)。-l
:显示详细信息。-h
:人类可读格式。-S
:按文件大小降序排序。
2. 按大小升序排列(含隐藏文件)
ls -AlhSr
- 参数解析:
-r
:反向排序(从小到大)。
三、高级工具ncdu
(交互式可视化分析)
ncdu --include-hidden
- 参数解析:
--include-hidden
:包含隐藏文件,提供交互界面浏览和排序文件大小。
四、场景对比表
需求场景 | 推荐命令 | 特点 |
---|---|---|
快速查看当前目录(含隐藏文件) | ls -AlhS | 简洁直观,支持单位换算和排序 |
精确统计所有文件及隐藏文件 | du -sh .[!.]* * | sort -rh | 显示总大小,避免信息过载 |
递归分析子目录大小 | du -sh --max-depth=1 .[!.]* * | 控制递归深度,包含隐藏文件夹 |
交互式可视化操作 | ncdu --include-hidden | 支持动态导航和操作,适合复杂场景 |
注意事项
- 权限问题:若目录无读取权限,需加
sudo
前缀。 - 通配符兼容性:
.[!.]*
在Bash中有效,其他Shell需调整语法。 - 排除系统目录:
.
(当前目录)和..
(上级目录)默认被过滤,无需额外处理。
通过上述方法,可灵活应对包含隐藏文件的文件夹大小查询与排序需求。更多参数细节可通过man du
或man ls
查看手册。