Linux ls命令按大小对文件排序
时间:2020-01-09 10:41:46 来源:igfitidea点击:
如何使用Linux ls命令行实用程序按文件大小对$HOME/Download /目录中的所有* .avi或者* .py文件进行排序?
如何使用ls命令列出Linux中按大小排序的所有文件?
ls命令用于在Linux和Unix等操作系统下列出目录内容。
如果未提供选项或者操作数,则当前目录的内容将显示在屏幕上。
默认情况下,如果-cftuvSUX和-sort选项都没有传递给ls命令,则按字母顺序对条目进行排序。
默认输出(按字母顺序排序)
执行以下命令:$ls $ls * .py $ls * .avi
Linux强制按大小排序选项
您需要按如下所示将-S
或者--sort = size
选项传递给Linux或者Unix命令行:
$ ls -S $ ls -S -l $ ls --sort=size -l $ ls --sort=size *.avi $ ls -S -l *.avi
按大小对文件/文件夹(目录)进行排序
在按字典顺序对操作数进行排序之前,将首先看到最大的文件。
以下命令将以相反的顺序对文件大小进行排序:
$ ls -l -S | sort -k 5 -n
或者尝试(
$ ls -lSr
以人类可读的格式(例如1K 234M 2G)对输出和打印尺寸进行排序
将-h选项传递给ls命令,如下所示:
$ ls -lSh $ ls -l -S -h *.avi $ ls -l -S -h ~/Downloads/*.mp4 | more
在Linux上按文件大小对ls命令输出进行排序
运行以下ls命令:
ls -Slh
或者
ls -Slhr
当所有文件按大小排序时,如何排除目录
尝试使用grep命令过滤ls命令的输出:
ls -lS | grep -v '^d' ls -Slh | grep -v '^d' ls -Slhr | grep -v '^d'
可以将find命令与sort命令一起使用,以仅按排序顺序列出目录大小:
find . -type d -ls | sort -n -r
或者仅列出文件并在排序时排除所有目录:
find . -type f -ls | sort -n -r