如何从选项列表中确定哪个 Linux 文件最大?

Toy*_*Toy 4 linux size files

$ ls -l
drwsrwsrwt 2  caine caine 4096 2017-01-10 13:21 10050
-rw-r--r-- 10 caine caine 4096 2017-01-19 11:29 10051
drwxr-xr-x 20 caine    18 8096 2017-01-19 11:29 10052
drwxr-xr-x 21 11    caine 4096 2017-01-19 11:29 10053
drwxr-xr-x 22 caine    22 4096 2017-01-19 11:29 10054
-rw-r--r-- 14 caine caine   50 2017-01-19 11:29 10055
Run Code Online (Sandbox Code Playgroud)

基于上述,我如何确定哪个文件大小最大?有人告诉我答案是 10051,但我不知道为什么。仅根据上述信息,我是否可以使用特定方法来确定哪个文件最大?

der*_*ert 11

ls -l输出 7 列:类型和权限、链接数、所有者、组、大小、修改时间和名称。(在信息页面中为 GNU ls 记录了这一点;请参阅info ls,然后从菜单中选择“列出的信息”,然后向下滚动到-l。或者info ls 'long ls format'应该直接带您到那里)。

所以你看第一列(类型和权限),第一个字母告诉你类型:你有d目录和-普通文件。所以只有两个文件:10051 和 10055。然后你看第 5 列(大小),一个是 4096 字节,另一个是 50 字节——很明显哪个更大。

当然,所有这些目录可能包含相当多的文件,并且这些文件的总大小可能更大。ls显示目录本身的大小(如果你考虑一下,“目录中的内容”是数据是有道理的,因此必须存储在某个地方,尽管在 Unix 上,文件也作为目录的一部分存储),而不是它的内容——其中一个目录本身 (10052) 更大。

如果您想知道目录的大小,包括它们包含的文件和子目录(递归),这du是要使用的命令。

  • +1 是唯一满足“基于上述”的答案 (3认同)

Ipo*_*cer 5

# /bin/ls -1sSr | tail -1
Run Code Online (Sandbox Code Playgroud)

根据大小排序列表,然后仅在列表末尾显示最大的。