Sądzę, że umieściłeś tę jedną literę w pliku za pomocą echo a > file
lub vim file
, co oznacza, że będziesz miał tę literę i dodatkową nową linię (dwa znaki, a więc dwa bajty). ls -l
pokazuje rozmiar pliku w bajtach, a nie blokach (a dokładniej: długość pliku ):
$ echo a > testfile
$ ls -l testfile
-rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
$ cat -A testfile
a$
(uwaga, która cat -A
wyświetla $
znaki nowej linii jako znak)
W przeciwieństwie do ls -l
, du
pokaże rzeczywisty rozmiar zajmowany na dysku:
$ du testfile
4
(faktycznie du
pokazuje rozmiar w jednostkach 1kiB, więc tutaj rozmiar to 4 × 1024 bajty = 4096 bajtów = 4 kiB, co jest rozmiarem bloku w tym systemie plików)
Aby to ls
pokazać, musisz użyć -s
opcji zamiast / oprócz -l
:
$ ls -ls testfile
4 -rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
Pierwsza kolumna to przydzielony rozmiar, ponownie w jednostkach 1kiB. Ostatni można zmienić, określając --block-size
np
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile