Comando ls: o que significa a primeira linha?

30

Quando eu ls -lrecebo isso:

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

Mas o que significa o "total de 2020"? Eu tenho apenas três arquivos, portanto não é o número de arquivos ou diretórios, e acho que também não é o tamanho. Então o que é?

oli206
fonte

Respostas:

25

O número de blocos de 1kB usados pelos arquivos no diretório, de forma não recursiva.

Use ls -lhpara ter uma saída mais significativa.

Juliano
fonte
5
Mais precisamente, na maioria das implementações, esse é o número total de blocos usados ​​pelos arquivos incluídos na listagem de diretórios (compare ls -l ~com ls -la ~e ls -lA ~). O tamanho do bloco é de 1kB com as ferramentas GNU, mas 512B de acordo com o POSIX e a maioria das outras implementações atuais.
Gilles 'SO- stop be evil'
O que -hfaz?
Fund Monica's Lawsuit
14

o que significa "total" em ls -al

Ótima pergunta, isso significa que você deseja prestar atenção aos detalhes. Ilustrarei com exemplos. No meu diretório pessoal, /home/elhá um diretório chamado tmpdir com arquivos abaixo dele. Eu mudo para esse diretório e façols -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

Diz 'total de 20'. Isso se traduz em: "tmpdir usa 20K de espaço em disco para todos os diretórios e arquivos".

com a opção -h, você solicita que seja entregue em formato legível por 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

É interessante notar que um diretório sem nada também ocupa 8K de espaço, no meu caso emptydirnão tem nada, mas mostra como usar 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 ..

Adicionar um diretório vazio prova que os diretórios ocupam 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

Outro comando para investigar é du:

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

Além disso, você pode ver os tamanhos dos arquivos com uma certa profundidade:

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
fonte
5

Ninguém menciona sobre a -sopção (?). De man ls:

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

.. então, se você listar ls -s, receberá um número de blocos para cada diretório e arquivo no diretório atual. Quando você resumir, obterá exatamente o mesmo número que total:você vê no topo ls -l.

Extra: Para obter o tamanho do bloco, verifique isso .

sobi3ch
fonte