Linux

在 Linux 中,為什麼空文件的大小為 0,而包含任何內容的文本文件的大小卻是內容長度 + 1?

  • September 1, 2011

這可能是 *nix 的事情,我不確定。

一個額外的字節用於文件末尾的行尾,Linux 文本編輯器在最後一行之後添加此行尾是很常見的。

可能是一個尾隨的換行符。例如,在文本編輯器中創建的僅包含“a”的文件實際上可能包含 2 個字節:

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

然而,使用echo -n(no new line) 給我們一個 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

引用自:https://serverfault.com/questions/307370