Eu acho que você inseriu essa letra no arquivo com echo a > fileou vim file, o que significa que você terá essa letra e uma nova linha adicional (dois caracteres, portanto, dois bytes). ls -lmostra o tamanho do arquivo em bytes, não em blocos (para ser mais específico: comprimento do arquivo ):
$ echo a > testfile
$ ls -l testfile
-rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
$ cat -A testfile
a$
(observe que cat -Aexibe novas linhas como $caractere)
Em contraste com ls -l, dumostrará o tamanho real ocupado no disco:
$ du testfile
4
(na verdade, dumostra o tamanho em unidades de 1 kB, então aqui o tamanho é de 4 × 1024 bytes = 4096 bytes = 4 kiB, que é o tamanho do bloco neste sistema de arquivos)
Para lsmostrar isso, você precisará usar a -sopção em vez de / além de -l:
$ ls -ls testfile
4 -rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
A primeira coluna é o tamanho alocado, novamente em unidades de 1kiB. O último pode ser alterado especificando --block-size, por exemplo
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile