Lệnh ls: dòng đầu tiên có nghĩa là gì?


30

Khi tôi làm ls -ltôi nhận được điều này:

calico@A000505:~/Documentos$ ls -l
total 2020
-rwxr-xr-x 1 calico calico    8559 2010-11-16 11:12 a.out
-rwxrw-rw- 1 smt    smt    2050138 2010-10-14 10:40 Java2.pdf
-rwxrw-rw- 1 ocv    ocv        234 2010-11-16 11:11 test.c

Nhưng "tổng số 2020" nghĩa là gì? Tôi chỉ có 3 tệp nên không phải là số tệp hoặc thư mục và tôi đoán nó cũng không phải là kích cỡ. Vậy đo la cai gi?

Câu trả lời:


25

Số khối 1kB được sử dụng bởi các tệp trong thư mục, không đệ quy.

Sử dụng ls -lhđể có một số đầu ra có ý nghĩa hơn.


5
Chính xác hơn, trên hầu hết các triển khai, đây là tổng số khối được sử dụng bởi các tệp có trong danh sách thư mục (so sánh ls -l ~với ls -la ~, và ls -lA ~). Kích thước khối là 1kB với các công cụ GNU, nhưng 512B theo POSIX và hầu hết các triển khai hiện tại khác.
Gilles 'SO- ngừng trở nên xấu xa'

Không gì -hlàm gì?
Vụ kiện của Quỹ Monica

14

"tổng" có nghĩa là gì trong ls -al

Câu hỏi tuyệt vời, nó có nghĩa là bạn muốn chú ý đến chi tiết. Tôi sẽ minh họa bằng các ví dụ. Trong thư mục nhà của tôi /home/elcó một thư mục gọi là tmpdir với các tệp bên dưới nó. Tôi thay đổi thư mục đó và làmls -al

el@angeliqe ~/tmpdir $ ls -al
total 20
drwxrwxr-x 4 el users 4096 Dec 21 11:45 .
drwx--x--x 9 el users 4096 Dec 21 11:45 ..
drwxrwxr-x 2 el users 4096 Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4096 Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

Nó nói 'tổng cộng 20'. Điều đó có nghĩa là: "tmpdir sử dụng 20K dung lượng trên đĩa cho tất cả các thư mục và tệp".

với tùy chọn -h, bạn bảo nó đưa nó cho bạn ở dạng người có thể đọc được:

el@angeliqe ~/tmpdir $ ls -alh
total 20K
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 .
drwx--x--x 9 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4.0K Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

Thật thú vị khi lưu ý rằng một thư mục không có gì trong đó cũng chiếm dung lượng 8K, trong trường hợp của tôi emptydirkhông có gì trong đó nhưng hiển thị là sử dụng 8K

el@angeliqe ~/tmpdir/emptydir $ ls -al
total 8
drwxrwxr-x 2 el users 4096 Dec 21 11:44 .
drwxrwxr-x 4 el users 4096 Dec 21 11:45 ..

Thêm một thư mục trống chứng tỏ rằng các thư mục chiếm 4K:

el@angeliqe ~/tmpdir/emptydir $ ls -alh
total 12K
drwxrwxr-x 3 el users 4.0K Dec 21 11:54 .
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:54 blah

Một lệnh khác để điều tra là du:

el@angeliqe ~/tmpdir/emptydir $ du
4       ./blah
8       .

Ngoài ra, bạn có thể xem kích thước tệp ở một độ sâu nhất định:

el@angeliqe ~ $ du -h --max-depth=1
12K     ./.ssh
4.0K    ./my_recycle_bin
8.0K    ./.vim
13G     ./gnuoctbluehost
24K     ./tmpdir
48K     ./.subversion
152K    ./.cpan
13G     .
el@angeliqe ~ $

5

Không ai đề cập đến -stùy chọn (?). Từ man ls:

-s, --size print the allocated size of each file, in blocks

.. vì vậy nếu bạn liệt kê với ls -sthì bạn sẽ nhận được số khối cho mỗi thư mục và tệp trong thư mục hiện tại. Khi bạn tóm tắt nó, bạn sẽ nhận được chính xác cùng một số như total:bạn thấy trên đầu trang ls -l.

Thêm: Để có được kích thước khối kiểm tra này .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.