在Linux中,为什么一个空文件的大小为0,而具有任何内容的文本文件的大小是内容+ 1的长度?

这可能是一个* nix的事情,我不确定。

一个额外的字节是文件末尾的行尾,Linux文本编辑器在最后一行之后添加这行结尾是很常见的。

可能是一个尾随的新行字符。 例如,在仅包含“a”的文本编辑器中创build的文件实际上可能包含2个字节:

 $ cat /tmp/test_text | hexdump -C 00000000 61 0a |a.| 00000002 

但是,使用echo -n (无新行)给我们一个1字节的大小:

 $ echo -n 'a' > /tmp/test_text $ ls -l /tmp/test_text -rw-r--r-- 1 redacted redacted 1 1 Sep 21:09 /tmp/test_text $ cat /tmp/test_text | hexdump -C 00000000 61 |a| 00000001