为什么 ls -lSh 命令 return 非常小的文件大小?
Why does ls -lSh command return very small file sizes?
使用ls -lSh 命令时,文件大小的输出非常小。例如:
ls -lSh | grep Xcode.app #我在应用程序目录中对终端的命令
drwxr-xr-x@ 3 root wheel 96B Dec 17 14:59 Xcode.app #output
如您所见,Xcode 只有 96B,而实际上磁盘上超过 6GB。有人可以解释一下这里应用的公式吗?
我是 运行 iTerm2 on macosx catalina
.app 实际上是目录,也不是普通文件。请尝试 du -sh Xcode.app
。
ls
不报告 整个目录的大小 ,而只报告 目录条目本身 。如果你想要聚合目录大小,你应该使用 du
或递归计算大小的类似实用程序。 ls
输出的大小是目录条目的大小,如果你有更多的文件和子目录,它通常会增加,但当你有大的单个文件时,它不会增加,并且在很大程度上取决于底层文件系统。
-l
开关显示您列出的项目的 "allocated size"。对于目录,其大小仅相当于其在文件系统中的条目,而且非常小。人们通常认为的目录的 "size" 实际上是由驻留在它下面的文件占用的,并且由 du
命令报告。
使用ls -lSh 命令时,文件大小的输出非常小。例如:
ls -lSh | grep Xcode.app #我在应用程序目录中对终端的命令
drwxr-xr-x@ 3 root wheel 96B Dec 17 14:59 Xcode.app #output
如您所见,Xcode 只有 96B,而实际上磁盘上超过 6GB。有人可以解释一下这里应用的公式吗?
我是 运行 iTerm2 on macosx catalina
.app 实际上是目录,也不是普通文件。请尝试 du -sh Xcode.app
。
ls
不报告 整个目录的大小 ,而只报告 目录条目本身 。如果你想要聚合目录大小,你应该使用 du
或递归计算大小的类似实用程序。 ls
输出的大小是目录条目的大小,如果你有更多的文件和子目录,它通常会增加,但当你有大的单个文件时,它不会增加,并且在很大程度上取决于底层文件系统。
-l
开关显示您列出的项目的 "allocated size"。对于目录,其大小仅相当于其在文件系统中的条目,而且非常小。人们通常认为的目录的 "size" 实际上是由驻留在它下面的文件占用的,并且由 du
命令报告。