Comando ls: ¿qué significa la primera línea?

30

Cuando lo hago ls -lme sale esto:

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

Pero, ¿qué significa el "total 2020"? Solo tengo 3 archivos, así que no es la cantidad de archivos o directorios, y supongo que tampoco es el tamaño. ¿Así que qué es lo?

oli206
fuente

Respuestas:

25

El número de bloques de 1 KB utilizados por los archivos en el directorio, de forma no recursiva.

Use ls -lhpara tener una salida más significativa.

Juliano
fuente
55
Más precisamente, en la mayoría de las implementaciones, este es el número total de bloques utilizados por los archivos incluidos en el listado del directorio (comparar ls -l ~con ls -la ~y ls -lA ~). El tamaño del bloque es de 1kB con herramientas GNU, pero 512B según POSIX y la mayoría de las otras implementaciones actuales.
Gilles 'SO- deja de ser malvado'
¿Qué -hhacer?
Financia la demanda de Mónica el
14

¿Qué significa "total" en ls -al

Buena pregunta, significa que quieres prestar atención a los detalles. Ilustraré con ejemplos. Debajo de mi directorio de inicio /home/elhay un directorio llamado tmpdir con archivos debajo. Me cambio a ese directorio y hagols -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 'total 20'. Eso se traduce en: "tmpdir usa 20K de espacio en disco para todos los directorios y archivos".

con la opción -h, le dice que se la entregue en forma legible para humanos:

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

Es interesante notar que un directorio sin nada también ocupa 8K de espacio, en mi caso emptydirno tiene nada pero se muestra como si usara 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 ..

Agregar un directorio vacío prueba que los directorios ocupan 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

Otro comando para investigar es du:

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

Además, puede ver los tamaños de archivo a una cierta profundidad:

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 ~ $
Eric Leschinski
fuente
5

Nadie menciona sobre la -sopción (?). De man ls:

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

.. así que si se enumera con ls -s, obtendrá un número de bloques para cada directorio y archivo en el directorio actual Cuando lo resuma, obtendrá exactamente el mismo número total:que en la parte superior ls -l.

Extra: para obtener el tamaño del bloque, verifique esto .

sobi3ch
fuente