du -sh ./* retornando pastas não vazias como 0 bytes

1

Isso pode acabar sendo uma questão de duas partes, então tenha paciência comigo. No passado, se eu quiser ver o tamanho de todas as pastas dentro do meu diretório atual, eu usaria o seguinte:

du -sh ./*

Quando faço isso na minha mais recente instalação de distribuição (Manjaro) ele está retornando o diretório / bin como 0. Existem mais de 3000 subdiretórios em / bin e quando eu faço du -sh ./* de dentro do bin mostra que cada subdir tem um tamanho (louco).

O meu comando du só mostra o tamanho dos arquivos no primeiro nível de cada pasta e não inclui os subdiretórios? Isso está me confundindo. Eu olhei através do homem e não está me ajudando a entender isso.

    
por jeff 20.10.2015 / 20:47

2 respostas

0

O que impede que du produza o tamanho das subpastas é o argumento -s (abreviação de --summarize ), que fará com que du apenas exiba o tamanho de seus argumentos e não inclua subpastas.

Experimente du -hc / .

    
por 20.10.2015 / 21:24
0

No Arch Linux e em derivativos como o Manjaro, /bin é um link simbólico para /usr/bin . Um link simbólico tem tamanho 0, então du /bin reporta 0.

Na saída de du /* , os arquivos em /bin são contabilizados em /usr , porque é onde realmente estão - em /usr/bin .

Hoje em dia, o tamanho dos discos tende a ser muito maior que o tamanho dos sistemas operacionais, portanto, a distinção clássica entre /usr (em que a maioria dos programas aplicativos reside) e /bin + /etc + /lib + /sbin (contendo o mínimo necessário para iniciar o sistema) é geralmente considerado irrelevante. É por isso que algumas distribuições como o Arch as uniram e não suportam mais separar /usr da partição raiz.

    
por 21.10.2015 / 22:54