上一篇
按照文件大小排序 linux
- 行业动态
- 2025-05-19
- 3
使用
ls -l --block-size=K | sort -k5 -h
命令,-l 显示详细信息,
–block-size=K 将大小转为KB单位,
sort -k5 按第5列(文件大小)排序,
-h`自动识别单位(KB/MB/GB),实现按文件大小升序
使用 ls
命令按文件大小排序
ls
是 Linux 中最常用的文件列表命令,通过组合参数可实现按文件大小排序。
基本语法
ls -lhS [目录]
-l
:显示详细信息(权限、所有者、大小等)。-h
:以人类可读格式显示文件大小(如 KB、MB)。-S
:按文件大小排序(降序,从大到小)。
示例
ls -lhS /path/to/directory
升序排序
若需从小到大排序,可结合 -r
参数反转顺序:
ls -lhSr /path/to/directory
使用 du
命令查看目录大小并排序
du
用于查看目录或文件的磁盘使用量,结合 sort
可对结果排序。
基本语法
du -h --max-depth=1 [目录] | sort -hr
-h
:人类可读格式。--max-depth=1
:仅显示当前目录的子目录大小。sort -hr
:按人类可读数值降序排序。
示例
du -h --max-depth=1 /path/to/directory | sort -hr
使用 find
结合 xargs
排序大文件
find
可递归查找文件,结合 xargs
和 ls
实现按大小排序。
基本语法
find [目录] -type f -exec ls -lhS {} +
-type f
:仅查找文件(排除目录)。-exec
:对查找结果执行后续命令。
示例(查找当前目录及子目录下的大文件)
find . -type f -exec ls -lhS {} +
排除隐藏文件或指定文件类型
排除隐藏文件(以 开头的文件)
ls -lhS --ignore='.' /path/to/directory
仅显示特定文件类型(如 .txt
文件)
ls -lhS .txt
常见问题与解答
问题 1:如何按文件大小升序显示目录内容?
解答:
使用 ls
命令并添加 -r
参数反转排序顺序:
ls -lhSr /path/to/directory
问题 2:如何递归查看所有子目录的大小并按大小排序?
解答:
使用 du
的 -a
参数递归显示所有文件和目录,再通过 sort
排序:
du -ah /path/to/directory | sort -hr
-a
:递归显示所有文件和目录