“ls”命令的输出中的“total”是什么?

g4u*_*r4v 13 ls

我有一个空目录。我正在使用以下命令查看该目录的内容。

ls -lart
Run Code Online (Sandbox Code Playgroud)

我得到的输出如下。

total 12
drwxr-xr-x 5 root  root  4096 Oct  2 12:26 ..
drwxr-xr-x 2 apx   aim   4096 Nov 29 18:40 .
Run Code Online (Sandbox Code Playgroud)

我在此目录中没有任何文件,那么这里 ( total 12) 中的12 数是多少?

don*_*l24 9

这是文件占用的块总数,尽管我希望总数为 8 而不是 12(使用 1k 块)。尝试ls -as1查看每个文件的块大小。


jof*_*fel 6

“总计”是以块(1024 字节或如果设置为 512 字节)为单位列出的文件(因为-a包括 .和条目)的磁盘使用量,不包括子目录的内容。..POSIXLY_CORRECT

如果未引用相同的文件并因此列出两次(硬链接),您可以获得相同的输出

du -Ss
Run Code Online (Sandbox Code Playgroud)

或以人类可读的单位

du -Ssh
Run Code Online (Sandbox Code Playgroud)

  • 不,“ls”只是将**列出的文件的磁盘使用情况相加(因此仅当包含“-a”时才包含“.”和“..”),与“du”相反,“ls” ` 不考虑硬链接,因此结果会有所不同。`-a`、`-A` (GNU)、`-L` 至少会影响报告的值。另请注意,对于 GNU ls,无论 POSIXLY_CORRECT 是否在环境中(块大小 512)或不在环境中(块大小 1024),该值都会不同。 (3认同)