如何解释 Solaris 10 中“ls -l”命令输出中的“total 18”?

如何解释 Solaris 10 中“ls -l”命令输出中的“total 18”?
auyantepui# ls -l
total 18
drwxr-xr-x   2  root sys   512  May 23 13:11  READMEs/
drwxr-xr-x   2  root sys  1024  May 23 13:11  bin/
drwxr-xr-x   2  root sys   512  May 23 13:09  docs/
drwxr-xr-x   2  root sys   512  May 23 13:09  examples/
drwxr-xr-x   3  root sys   512  Mar 31 2004   inventory/
drwxr-xr-x   4  root sys  1536  May 23 13:11  lib/
drwxr-xr-x  11  root sys   512  May 23 13:11  man/
drwxr-xr-x   6  root sys   512  May 23 13:11  prod/

这个命令中的“total 18”是什么意思?请详细解释一下。

答案1

这是该目录内容的总磁盘分配:

' -l''
' --format=long'
' --format=verbose'

    除了每个文件的名称外,还打印文件类型、权限、硬链接数、所有者名称、组名称、大小和时间戳(请参阅第节10.1.6 格式化文件时间戳),一般为修改时间。

    通常,大小以不带标点符号的字节数形式打印,但这可以被覆盖(参见 2.2 区块大小)。例如,“ -h”将打印缩写的、人类可读的计数,“ --block-size="'1"”将打印带有当前语言环境的千位分隔符的字节计数。

    对于列出的每个目录,在文件前面加上一行“ ”,其中total blocks是该目录中所有文件的总磁盘分配。块大小当前默认为 1024 字节,但可以覆盖(请参阅 2.2 区块大小)。 这 计算分别计算每个硬链接;这可以说是一个缺陷。

    ...

上述文本的变体可以在整个网络上找到。此特定摘录复制自并链接到ftp://ftp.gnu.org/old-gnu/Manuals/coreutils/html_node/coreutils_54.html

答案2

这个问题的真正答案隐藏在另一条回复的最后一段中:“是该目录中所有文件的总磁盘分配,其中块大小当前默认为 1024 字节...”在这种情况下,目录算作文件。查看子目录的大小(512、1024、512,...)。将它们全部四舍五入为 1024 的倍数;您将得到 1024、1024、1024、1024、1024、2048、1024 和 1024。现在将它们全部除以 512(磁盘扇区中的标准字节数),您将得到 2、2、2、2、2、4、2 和 2。将它们相加,然后瞧:2+2+2+2+2+4+2+2=18。

相关内容