Commande ls: que signifie la première ligne?

30

Quand ls -lj'obtiens, j'obtiens ceci:

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

Mais que signifie le "total 2020"? Je n'ai que 3 fichiers, ce n'est donc pas le nombre de fichiers ou de répertoires, et je suppose que ce n'est pas la taille non plus. Alors c'est quoi?

oli206
la source

Réponses:

25

Nombre de blocs de 1 Ko utilisés par les fichiers du répertoire, de manière non récursive.

Utilisez ls -lhpour avoir une sortie plus significative.

Juliano
la source
5
Plus précisément, sur la plupart des implémentations, il s'agit du nombre total de blocs utilisés par les fichiers inclus dans la liste des répertoires (comparer ls -l ~avec ls -la ~, et ls -lA ~). La taille du bloc est de 1 Ko avec les outils GNU, mais de 512 Ko selon POSIX et la plupart des autres implémentations actuelles.
Gilles 'SO- arrête d'être méchant'
Que fait -h-il?
Fund Monica's Lawsuit
14

que signifie "total" dans ls -al

Grande question, cela signifie que vous voulez faire attention aux détails. Je vais illustrer avec des exemples. Sous mon répertoire personnel, /home/elil y a un répertoire appelé tmpdir avec des fichiers en dessous. Je change pour ce répertoire et faisls -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

Il dit «total 20». Cela se traduit par: "tmpdir utilise 20 Ko d'espace sur le disque pour tous les répertoires et fichiers".

avec l'option -h, vous lui dites de vous le donner sous une forme lisible par l'homme:

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

Il est intéressant de noter qu'un répertoire sans rien prend également 8 Ko d'espace, dans mon cas, emptydiril n'y a rien dedans mais montre que l'utilisation de 8 Ko

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'ajout d'un répertoire vide prouve que les répertoires prennent 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

Une autre commande à étudier est du:

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

De plus, vous pouvez regarder la taille des fichiers à une certaine profondeur:

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
la source
5

Personne ne mentionne l' -soption (?). De man ls:

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

.. donc si vous listez avec ls -salors vous obtiendrez le nombre de blocs pour chaque répertoire et fichier dans le répertoire courant. Lorsque vous le résumerez, vous obtiendrez exactement le même numéro que celui que total:vous voyez en haut ls -l.

Extra: pour obtenir la taille du bloc, vérifiez ceci .

sobi3ch
la source