为什么使用 ls 命令显示的文件大小不同?

为什么使用 ls 命令显示的文件大小不同?

我正在运行的命令是:ls -alFs --block-size=1

输出如下:

4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:28 QRN_1570310934.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310939.charbin
4096 -rw-rw-r-- 1 dkm dkm 320 Oct 5 15:29 QRN_1570310946.charbin
8192 -rw-rw-r-- 1 dkm dkm 8192 Oct 8 11:33 QRN_1570555988.charbin
8192 -rw-rw-r-- 1 dkm dkm 8190 Oct 8 11:35 QRN_1570556100.charbin
4096 -rw-rw-r-- 1 dkm dkm 340 Oct 8 11:35 QRN_1570556140.charbin

最左边是 -s 开关输出的大小,以字节为单位,这是由于 --block-size=1 造成的,但 -l 开关的输出大小(从左边数第 6 列)对于相当多的文件来说完全不同。我一直在试图弄清楚这一点,但还没有得到明确的答案。

我最好的猜测是 -s 开关为我提供了设备块,而 -l 开关为我提供了实际的字节大小。看起来就是这样,但我怎么才能确定呢?'ls' 手册页没有提供任何有关如何得出 -l 开关的大小输出的详细信息。

关于我可以使用的其他工具的任何建议都可以用来尝试解决这个问题...或者更好的是;如果有人真的知道,那就更好了。

先感谢您。

答案1

-s或选项--size打印每个文件的磁盘分配,而使用该l选项则将大小打印为字节数。

来源:https://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html#What-information-is-listed

相关内容