Я думаю, ви отримали цю букву у файлі з, 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