Comando ls: cosa significa la prima riga?


30

Quando lo faccio ls -lottengo questo:

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

Ma cosa significa "totale 2020"? Ho solo 3 file, quindi non è il numero di file o directory e immagino che non sia nemmeno la dimensione. Quindi, cos'è?

Risposte:


25

Il numero di blocchi da 1kB utilizzati dai file nella directory, in modo non ricorsivo.

Utilizzare ls -lhper ottenere un output più significativo.


5
Più precisamente, sulla maggior parte delle implementazioni, questo è il numero totale di blocchi utilizzati dai file inclusi nell'elenco delle directory (confronta ls -l ~con ls -la ~, e ls -lA ~). La dimensione del blocco è 1kB con strumenti GNU, ma 512B secondo POSIX e la maggior parte delle altre implementazioni attuali.
Gilles 'SO- smetti di essere malvagio' il


14

cosa significa "totale" in ls -al

Ottima domanda, significa che vuoi prestare attenzione ai dettagli. Illustrerò con esempi. Sotto la mia home directory /home/elc'è una directory chiamata tmpdir con i file sottostanti. Passo a quella directory e lo facciols -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

Dice "totale 20". Ciò si traduce in "tmpdir utilizza 20K di spazio su disco per tutte le directory e i file".

con l'opzione -h, gli dici di dartelo in forma leggibile dall'uomo:

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

È interessante notare che una directory che non emptydircontiene nulla occupa anche 8 KB di spazio, nel mio caso non contiene nulla ma mostra come usare 8 KB

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

L'aggiunta di una directory vuota dimostra che le directory occupano 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

Un altro comando da investigare è du:

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

Inoltre, puoi guardare le dimensioni dei file ad una certa profondità:

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

Nessuno menziona l' -sopzione (?). Da man ls:

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

.. quindi se fai una lista con ls -sallora otterrai il numero di blocchi per ogni directory e file nella directory corrente. Quando lo riassumi, otterrai esattamente lo stesso numero total:che vedi sopra ls -l.

Extra: per ottenere la dimensione del blocco controlla questo .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.