ls komutu: ilk satır ne anlama geliyor?


30

Bunu yaptığımda şunu ls -lanlıyorum:

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

Ama "toplam 2020" ne anlama geliyor? Yalnızca 3 dosyam var, bu yüzden dosya veya dizin sayısı değil ve sanırım büyüklüğü de değil. Peki bu nedir?

Yanıtlar:


25

Dizin içindeki dosyalar tarafından kullanılan 1kB blokların sayısı yinelenmeden .

ls -lhDaha anlamlı çıktılar elde etmek için kullanın .


5
Daha doğrusu, çoğu uygulamada, bu, dizin listesine dahil edilen dosyaların kullandığı toplam blok sayısıdır ( ve ls -l ~ile karşılaştır ). Blok boyutu GNU araçlarıyla 1kB'dir, ancak POSIX'e ve diğer mevcut uygulamalara göre 512B'dir. ls -la ~ls -lA ~
Gilles 'SO- kötülükten vazgeç'


14

ls -al da "total" ne anlama geliyor?

Harika bir soru, ayrıntılara dikkat etmek istediğiniz anlamına gelir. Örneklerle açıklayacağım. Ana dizinin altında altında /home/eldosya bulunan tmpdir adında bir dizin var. Ben bu dizine değiştiririm ve yapmakls -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

'Toplam 20' yazıyor. Bunun anlamı şudur: "tmpdir, tüm dizinler ve dosyalar için diskte 20K alan kullanır".

-h seçeneğiyle, size insan tarafından okunabilir biçimde vermesini söylersiniz:

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

İçinde hiçbir şey bulunmayan bir dizinin 8K alan kapladığı, benim durumumda emptydirhiçbir şey olmadığı, ancak 8K kullandığı şeklinde gösterdiğine dikkat etmek ilginçtir.

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 ..

Boş bir dizin eklemek, dizinlerin 4K aldığını kanıtlar:

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

Araştırılacak başka bir komut du:

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

Ayrıca, dosya boyutlarına belirli bir derinliğe bakabilirsiniz:

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

-sSeçenek (?) Hakkında kimse bahsetmiyor . Kimden man ls:

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

.. böylece birlikte listelerseniz ls -s, geçerli dizindeki her dizin ve dosya için blok sayısını alırsınız. Özetlediğinizde total:, üstünde gördüğünüzle tam olarak aynı sayıyı alırsınız ls -l.

Ekstra: Blok boyutunu almak için bunu kontrol edin .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.