为什么 ls -lh 不显示每个目录中所有文件和目录的总大小?

为什么 ls -lh 不显示每个目录中所有文件和目录的总大小?

例如,它显示内核为 18M,但应用程序文件夹为 3.8K

BSD/达尔文

答案1

根据 ls 的手册页:

List information about the FILEs (the current directory by default).

ls旨在显示文件系统上文件的大小,而不是显示目录的使用情况。du将显示文件系统对象的总使用情况。

所以ls它正在做它应该做的事情。虽然你的应用程序目录可能包含占用超过 3.8K 的文件,但应用程序目录本身在磁盘上实际上只有 3.8K。

答案2

因为你不在 Windows 上,这个世界假装目录没有空间成本,所有目录的长度都是零。(Windows 世界的某些部分假装目录的大小是所有内容的累积大小包含在目錄。

在 Unices 和 Linux 上,该ls -l命令在显示指向另一个目录的目录条目时,会显示大小目录。它显示用于实际存储目录本身中的条目的空间量。对于每个目录条目,ls -l始终显示该条目指向的节点的大小,无论是文件、符号链接还是目录。

相关内容