Immagino che tu abbia quella lettera nel file con echo a > file
o vim file
, il che significa che avrai quella lettera e una nuova riga aggiuntiva (due caratteri, quindi due byte). ls -l
mostra la dimensione del file in byte, non in blocchi (per essere più specifici: lunghezza del file ):
$ echo a > testfile
$ ls -l testfile
-rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
$ cat -A testfile
a$
(nota che cat -A
mostra le nuove righe come $
carattere)
Al contrario ls -l
, du
mostrerà la dimensione reale occupata sul disco:
$ du testfile
4
(in realtà, du
mostra la dimensione in unità da 1 kB, quindi qui la dimensione è 4 × 1024 byte = 4096 byte = 4 kiB, che è la dimensione del blocco su questo file system)
Per ls
mostrare questo, dovrai usare l' -s
opzione invece di / in aggiunta a -l
:
$ ls -ls testfile
4 -rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
La prima colonna è la dimensione allocata, sempre in unità di 1 kB. L'ultimo può essere modificato specificando --block-size
, ad es
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile