Saya kira Anda memasukkan satu huruf ke dalam file dengan echo a > file
atau vim file
, yang berarti, Anda akan memiliki huruf itu dan baris baru tambahan di dalamnya (dua karakter, jadi dua byte). ls -l
menunjukkan ukuran file dalam byte, bukan blok (lebih spesifik: panjang file ):
$ echo a > testfile
$ ls -l testfile
-rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
$ cat -A testfile
a$
(catatan yang cat -A
menampilkan baris baru sebagai $
karakter)
Berbeda dengan ls -l
, du
akan menunjukkan ukuran sebenarnya yang ditempati pada disk:
$ du testfile
4
(sebenarnya, du
menunjukkan ukuran dalam unit 1kiB, jadi di sini ukurannya 4 × 1024 byte = 4096 byte = 4 kiB, yang merupakan ukuran blok pada sistem file ini)
Untuk ls
menunjukkan ini, Anda harus menggunakan -s
opsi alih-alih / selain -l
:
$ ls -ls testfile
4 -rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
Kolom pertama adalah ukuran yang dialokasikan, lagi dalam satuan 1kiB. Terakhir dapat diubah dengan menentukan --block-size
, mis
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile