如何实现对文件夹的按大小排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现对文件夹的按大小排序相关的知识,希望对你有一定的参考价值。

在文件夹页面空白处右击鼠标,在其右键菜单中可以设置按大小排序。具体操作请参照以下步骤。

1、首先在电脑系统中进入到需要调整文件夹排序方式的系统盘。

2、点击系统盘的空白处,右击鼠标右键,出现快捷菜单,在菜单中找到“排序方式”。

3、把鼠标箭头放在“排序方式”上,在自动跳出的窗口中可以看到现在是按“修改日期”排序的。

4、然后在对话框中点击“大小”,那么现在是按大小进行排序,是递增还是递减可根据个人需求设置。

5、完成以上设置后,就能在windows7系统中让文件夹按大小排序。

参考技术A 1、在需要排列文件夹的地方,单击鼠标右键
2、在出现的菜单中选择“排列图标”--“大小”
3、在“大小”上单击鼠标左键
(注,排列图标,就包括文件夹图标。提问者也采纳了相同的简单回答,管理员请看看吧)
参考技术B 1.这个在WIN系统下不行,一般来说文件夹只能按照名称来排列。
在linux系统下文件夹占用的字节数都是4096。
2.单击“查看”菜单,选择“选择详细信息”命令,就设置成可以知道当前文件夹下的所有文件夹的大小了。
参考技术C 右键空白处,选择
排列图标---大小
就可以啦
参考技术D 这个好像不太可能,一般来说文件夹只能按照名称来排列。
在linux系统你会发现,文件夹占用的字节数都是4096。
文件可以按大小排序,但文件夹不行

如何在 Linux 命令行中按大小对文件进行排序

作者 | 刘光录

来源 | TIAP

ls 命令用于显示目录的内容。使用 -l 选项,可以列出文件和目录及其属性。

今天我们来分享一下如何根据文件大小对列表进行排序。

ls -l 命令可以显示文件大小,但也仅仅是能让我们看到文件的大小,它默认是按照字母顺序显示的,不能按照文件大小进行排序。

如果我们想要查找当前目录下最大的文件,或者最小的文件,那就需要对文件大小进行排序了。

那如何按文件大小进行排序呢?ls 命令的 -S 选项可以做到这一点(注意 S 是大写的)。然后将其与 -h 和 -l 选项一起使用,会让输出看起来更舒服:

ls -lhS

为什么这么说呢,下面我们通过例子来看一下。

根据大小对文件进行排序

Linux 中有一个 sort 命令,但是它是对文件中的内容进行排序,并不是针对文件本身。

为了对比,我们按默认的排序,列出当前目录下的文件:

[gliu@fedora ~]$ ls -ltotal 404-rw-rw-r-- 1 gliu gliu  41145 May 27 15:24 ads.txt-rw-rw-r-- 1 gliu gliu  45443 May 24 09:03 apt-get.pdf-rw-rw-r-- 1 gliu gliu  29983 May 27 16:07 bash.pdf-rw-rw-r-- 1 gliu gliu 249773 May 26 14:56 cronjob-cheatsheet.png-rw-rw-r-- 1 gliu gliu   4943 Jun  2 20:09 gnome-console-voiceoverdrwxrwxr-x 4 gliu gliu   4096 Jun  2 22:09 letters-rw-rw-r-- 1 gliu gliu  12721 May 29 12:29 members.2022-05-29.csv-rw-rw-r-- 1 gliu gliu    143 May 30 12:06 routes.yamldrwxrwxr-x 2 gliu gliu   4096 Jun  2 22:09 words

然后使用 -S 选项来将文件按大小进行排序(注意 S 是大写):

[gliu@fedora ~]$ ls -lStotal 404-rw-rw-r-- 1 gliu gliu 249773 May 26 14:56 cronjob-cheatsheet.png-rw-rw-r-- 1 gliu gliu  45443 May 24 09:03 apt-get.pdf-rw-rw-r-- 1 gliu gliu  41145 May 27 15:24 ads.txt-rw-rw-r-- 1 gliu gliu  29983 May 27 16:07 bash.pdf-rw-rw-r-- 1 gliu gliu  12721 May 29 12:29 members.2022-05-29.csv-rw-rw-r-- 1 gliu gliu   4943 Jun  2 20:09 gnome-console-voiceoverdrwxrwxr-x 4 gliu gliu   4096 Jun  2 22:09 lettersdrwxrwxr-x 2 gliu gliu   4096 Jun  2 22:09 words-rw-rw-r-- 1 gliu gliu    143 May 30 12:06 routes.yaml

这样,文件就是按照大小进行的排序。但是大家可以看到,列表中输出的文件大小,单位是B,所以我们还可以使用 -h 选项,让文件大小以 KB, Mb, 或者 GB 为单位,这样更易读:

[gliu@fedora ~]$ ls -lhStotal 404K-rw-rw-r-- 1 gliu gliu 244K May 26 14:56 cronjob-cheatsheet.png-rw-rw-r-- 1 gliu gliu  45K May 24 09:03 apt-get.pdf-rw-rw-r-- 1 gliu gliu  41K May 27 15:24 ads.txt-rw-rw-r-- 1 gliu gliu  30K May 27 16:07 bash.pdf-rw-rw-r-- 1 gliu gliu  13K May 29 12:29 members.2022-05-29.csv-rw-rw-r-- 1 gliu gliu 4.9K Jun  2 20:09 gnome-console-voiceoverdrwxrwxr-x 4 gliu gliu 4.0K Jun  2 22:09 lettersdrwxrwxr-x 2 gliu gliu 4.0K Jun  2 22:09 words-rw-rw-r-- 1 gliu gliu  143 May 30 12:06 routes.yaml

注:如果两个文件大小相同,那么它们就会按照字母顺序排序。

按文件大小倒叙排序

默认情况下,按文件大小排序是正向排序,也就是文件越大的会排列在顶部。我们可以选择倒序排列,结合使用 -r 选项:

ls -lhSr

当目录中的文件数量比较多的时候(比如日志文件,可能有数十甚至上百个),倒序排列会很有用,这样你就可以在当前屏幕中看到最大的文件,而不需要向前滚动:

[gliu@itsfoss:~/toto$ ls -lhSrtotal 404K-rw-rw-r-- 1 gliu gliu  143 May 30 12:06 routes.yamldrwxrwxr-x 2 gliu gliu 4.0K Jun  2 22:09 wordsdrwxrwxr-x 4 gliu gliu 4.0K Jun  2 22:09 letters-rw-rw-r-- 1 gliu gliu 4.9K Jun  2 20:09 gnome-console-voiceover-rw-rw-r-- 1 gliu gliu  13K May 29 12:29 members.2022-05-29.csv-rw-rw-r-- 1 gliu gliu  30K May 27 16:07 bash.pdf-rw-rw-r-- 1 gliu gliu  41K May 27 15:24 ads.txt-rw-rw-r-- 1 gliu gliu  45K May 24 09:03 apt-get.pdf-rw-rw-r-- 1 gliu gliu 244K May 26 14:56 cronjob-cheatsheet.png

注:上述命令仅适用于文件,而不适用于目录。因为使用 ls 命令,目录的大小始终为 4kb(块大小)。目录的实际大小是通过 du (disk usage)  命令来查询的。

获取目录中最大的前10个文件

Linux 命令行最棒的地方在于,你可以组合多个命令从而获得不同的结果。

比如我们要查询当前目录中一些最大的文件。那么可以按大小对文件进行排序,然后在利用管道(|)结合使用 head 命令:

ls -lhS | head -11

在这个例子中,我在head 后使用的参数是 11, 因为第一行显示的是一个总数:

[gliu@itsfoss:~/tutu$ ls -lhS | head -11total 216K-rwxr-xr-x 1 gliu gliu  74K Jun  2 22:09 cpufetch-rw-rw-r-- 1 gliu gliu  45K Jun  2 22:38 apt-get.pdf-rw-rw-r-- 1 gliu gliu  41K Jun  2 22:38 ads.txt-rwxr-xr-x 1 gliu gliu 4.9K Jun  2 22:09 README.md-rw-rw-r-- 1 gliu gliu 4.9K Jun  2 22:38 gnome-console-voiceoverdrwxr-xr-x 2 gliu gliu 4.0K Jun  2 22:09 docdrwxr-xr-x 2 gliu gliu 4.0K Jun  2 22:09 picturesdrwxr-xr-x 5 gliu gliu 4.0K Jun  2 22:09 src-rwxr-xr-x 1 gliu gliu 2.8K Jun  2 22:09 CONTRIBUTING.md-rwxr-xr-x 1 gliu gliu 2.4K Jun  2 22:09 cpufetch.1

此外,你可以使用 tail 命令用于反向排序,但我觉着没必要。

以上命令是展示的当前目录中的文件列表。如果要在整个计算机中查询,那么可以加上根路径 /,不过这需要root权限。但是 ls 命令不适用于此类情况,如果要查询整个计算机中的文件,可以使用 find 命令查找大于指定大小的文件。

连同隐藏文件一起查询排序

如果你在文件或目录前面加一个点 . ,那么这个文件就变成了隐藏文件,使用 ls 命令(不带任何参数)是查看不到这些隐藏文件的。

许多配置文件一般是隐藏的,所以在按大小排序文件时,还应考虑这些隐藏文件。

选项 -a 可以显示隐藏文件,包括 . 和 .. 目录:

[gliu@fedora ~]$ ls -lahStotal 428K-rw-rw-r--  1 gliu gliu 244K May 26 14:56 cronjob-cheatsheet.png-rw-rw-r--  1 gliu gliu  45K May 24 09:03 apt-get.pdf-rw-rw-r--  1 gliu gliu  41K May 27 15:24 ads.txt-rw-rw-r--  1 gliu gliu  30K May 27 16:07 bash.pdf-rw-rw-r--  1 gliu gliu  13K Jun  3 09:41 .member.csv-rw-rw-r--  1 gliu gliu  13K May 29 12:29 members.2022-05-29.csv-rw-rw-r--  1 gliu gliu 4.9K Jun  2 20:09 gnome-console-voiceoverdrwxrwxr-x  4 gliu gliu 4.0K Jun  3 09:41 .drwxr-x--- 26 gliu gliu 4.0K Jun  3 10:19 ..drwxrwxr-x  3 gliu gliu 4.0K Jun  3 10:10 lettersdrwxrwxr-x  2 gliu gliu 4.0K Jun  2 22:09 words-rw-rw-r--  1 gliu gliu  143 May 30 12:06 routes.yaml

可以看到隐藏文件 .member.csv 也被输出在了列表中。

按大小递归排序文件

上述例子只是处理的当前目录中的文件。那么怎样才能包括子目录中的文件呢?如果我们要查找当前路径下最大的文件,还需要将子目录中的文件一块查找。

可以使用 -R 选项列出子目录中的文件。

ls -lRS

然而,这不是正确的方法,因为它不会将所有文件排序在一起,而是将它们排序在各自的目录中。

有一种方法,是可以使用du命令并将其组合起来,根据文件大小递归排序:

du -ah | sort -hr

许多Linux用户错误地使用-s(小写s)选项按大小排序文件,这是错误的。小写 s 显示每个条目的块大小。要排序,请使用-S(大写S)。

以上就是本次分享全部内容,欢迎讨论。

往期推荐

Docker 那些事儿:如何安全地停止、删除容器?

掌握 Dowanward API 的妙用,轻松拿捏 kubernetes 环境变量

云原生时代,开发者应具备这5大能力

实战 Kubectl 创建 Deployment 部署应用

点分享

点收藏

点点赞

点在看

以上是关于如何实现对文件夹的按大小排序的主要内容,如果未能解决你的问题,请参考以下文章

如何对map中的value进行排序

Java:如何按大小对多个 ArrayList 进行排序?

在java中如何给数据进行大小排序

如何有效地实现任意序列的按位循环?

Map的按value值排序

Map的按value值排序