Tôi đoán bạn đã nhận được một chữ cái đó trong tệp có echo a > filehoặc vim file, có nghĩa là, bạn sẽ có chữ cái đó và một dòng mới bổ sung trong đó (hai ký tự, do đó là hai byte). ls -lhiển thị kích thước tệp theo byte, không phải khối (cụ thể hơn: chiều dài tệp ):
$ echo a > testfile
$ ls -l testfile
-rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
$ cat -A testfile
a$
(lưu ý cat -Ahiển thị dòng mới dưới dạng $ký tự)
Ngược lại ls -l, dusẽ hiển thị kích thước thật chiếm trên đĩa:
$ du testfile
4
(thực tế, duhiển thị kích thước theo đơn vị 1kiB, vì vậy ở đây kích thước là 4 × 1024 byte = 4096 byte = 4 kiB, là kích thước khối trên hệ thống tệp này)
Để lshiển thị điều này, bạn sẽ phải sử dụng -stùy chọn thay vì / ngoài -l:
$ ls -ls testfile
4 -rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
Cột đầu tiên là kích thước được phân bổ, một lần nữa theo đơn vị 1kiB. Cuối cùng có thể được thay đổi bằng cách chỉ định --block-size, ví dụ
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile