Это может быть ерунда, я не уверен.
Вероятно, завершающий символ новой строки. Например, файл, созданный в текстовом редакторе, содержащий только букву «а», на самом деле может содержать 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
Дополнительный байт предназначен для конца строки в конце файла, довольно часто текстовые редакторы Linux добавляют этот конец строки после последней строки.