Я думаю, ви отримали цю букву у файлі з, echo a > fileабо vim file, значить, у вас буде цей лист та додатковий новий рядок (два символи, таким чином, два байти). ls -lпоказує розмір файлу в байтах, а не блоках (якщо бути точнішим: довжина файлу ):
$ echo a > testfile
$ ls -l testfile
-rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
$ cat -A testfile
a$
(зверніть увагу, що cat -Aнові символи відображаються як $символи)
На відміну від ls -l, duбуде показаний реальний розмір, зайнятий на диску:
$ du testfile
4
(насправді duпоказує розмір в одиницях 1кіБ, тому тут розмір становить 4 × 1024 байти = 4096 байт = 4 кіБ, що є розміром блоку в цій файловій системі)
Щоб lsпоказати це, вам доведеться використовувати -sопцію замість / на додаток до -l:
$ ls -ls testfile
4 -rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
Перший стовпець - це виділений розмір, знову в одиницях 1кіБ. Останнє можна змінити, вказавши --block-size, напр
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile