Linux ls命令按大小对文件排序

ls命令用于列出Linux发行版(如Ubuntu、Mint、Debian、Kali、CentOS等)中的文件。ls命令提供了许多功能,其中一个可以根据文件大小列出或排序文件。在本教程中,我们将学习按文件大小列出文件的不同用例。

null

按名称(字母顺序)排序文件

ls命令有很多选项,默认情况下,文件和文件夹按名称或字母顺序列出。l选项用于逐行列出文件和文件夹。

ls -l
图片[1]-Linux ls命令按大小对文件排序-yiteyi-C++库
按名称(字母顺序)排序文件

或者,我们可以指定按字母顺序排序的文件名或扩展名。在下面的示例中,我们将对所有文本文件或扩展名为*.txt的文件进行分类。

ls -l *.txt

输出如下。

-rw-rw-r-- 1 ismail ismail  30 Kas 29 11:15 names.txt-rw-rw-r-- 1 ismail ismail 607 Kas 27 20:21 sample.txt-rw-rw-r-- 1 ismail ismail   0 Kas  3 10:20 text.txt

按大小对文件排序

默认情况下,即使文件是按名称排序的,也有类似按大小排序的选项。为了按大小对文件进行排序 -S码 应提供选项。在下面的示例中,我们将对当前工作目录中的文件进行排序。

ls -S -l
图片[2]-Linux ls命令按大小对文件排序-yiteyi-C++库
按大小对文件排序

或者,我们可以使用-S选项的长格式。这个 –排序=大小 排序属性设置为size的长格式。

ls --sort=size -l

我们还可以指定要根据大小排序的文件类型或扩展名。在下面的示例中,我们将对文本文件或 *.txt文件 根据它们的大小进行扩展。

ls -S -l *.txt

输出如下。

-rw-rw-r-- 1 ismail ismail 607 Kas 27 20:21 sample.txt-rw-rw-r-- 1 ismail ismail  30 Kas 29 11:15 names.txt-rw-rw-r-- 1 ismail ismail   0 Kas  3 10:20 text.txt

筛选大小排序文件列表

在某些情况下,可能会有成百上千的文件被排序。这可能会填满终端,我们可以看到最大的文件。可以使用head命令筛选大小排序的文件列表。默认情况下,head命令列出前10行或最大的10个文件。

ls -S -l | head

输出如下。

-rw-rw-r-- 1 ismail ismail 10503500 Eki 10 22:11 nmap-7.91.tar.bz2
-rwxrwxr-x 1 ismail ismail    16920 Oca  1 12:16 a.out
drwxrwxr-x 2 ismail ismail     4096 Ara 21 10:56 data1
drwxrwxr-x 2 ismail ismail     4096 Ara 21 10:56 data2
drwxrwxr-x 2 ismail ismail     4096 Ara 21 10:56 data3
drwxrwxr-x 2 ismail ismail     4096 Ara 21 10:56 data4
drwxrwxr-x 2 ismail ismail     4096 Ara 21 10:56 data5
drwxr-xr-x 2 ismail ismail     4096 Kas  2 14:38 Desktop
drwxr-xr-x 2 ismail ismail     4096 Kas  2 14:38 Documents

我们也可以指定以下限制数字。在下面的示例中,我们将限制最大的15个文件。

ls -S -l | head -n 15
图片[3]-Linux ls命令按大小对文件排序-yiteyi-C++库
筛选大小排序文件列表

按大小反向排序

默认情况下,-S大小排序选项从最大的文件排序到最小的文件。但如果首先列出最小或最小大小的文件,则可以反转。r选项用于按大小反向排序。

ls -S -l -r
total 10372 -rw-rw-r-- 1 ismail ismail        0 Kas  3 10:20 text.txt -rw-rw-r-- 1 ismail ismail        0 Ara 23 18:25 newfile -rw-rw-r-- 1 ismail ismail        0 Ara 19 16:45 myfile -rw-rw-r-- 1 ismail ismail        0 Ara 19 17:02 file4 -rw-rw-r-- 1 ismail ismail        0 Ara 19 16:54 file3 -rw-rw-r-- 1 ismail ismail        0 Ara 19 17:03 file2 -rw-rw-r-- 1 ismail ismail        0 Ara 19 17:03 file1 -rw-rw-r-- 1 ismail ismail       10 Ara 21 11:01 test lrwxrwxrwx 1 ismail ismail       10 Ara 26 17:05 mylink -> myfile.txt -rw-rw-r-- 1 ismail ismail       30 Kas 29 11:15 names.txt -rwxrw-r-- 1 ismail ismail       97 Oca  3 15:35 while.sh -rwxrw-r-- 1 ismail ismail      102 Kas 29 11:25 read_line_by_line.sh -rw-rw-r-- 1 ismail ismail      224 Kas 30 15:28 userinput.py -rw-rw-r-- 1 ismail ismail      308 Oca  1 12:16 random.c -rw-rw-r-- 1 ismail ismail      607 Kas 27 20:21 sample.txt

相关文章: 在Bash中逐行读取文件

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享