Comando Unix para listar todos os diretórios maiores que 10mb

6

Isso é possível, e qual seria o comando?

    
por kylex 27.10.2009 / 15:52

4 respostas

6

du é a maneira mais fácil. Pegue os diretórios de interesse com perl.

du -m . | perl -ne '@l = split();print "@l\n" if $l[0]>=10'
    
por 27.10.2009 / 15:57
9
du -k /<root-of-interest> | sort -n 

Em seguida, observe a cauda dos diretórios grandes. Você quer que todos os relatórios sejam maiores que 10000.

    
por 27.10.2009 / 15:55
1

Faça assim:

find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'

Lembre-se de não colocar {}s.

No seu caso, faça assim:

find / -type f -size +10000k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'
    
por 27.10.2009 / 15:55
0

As respostas du acima estão mais próximas do que você deseja, mas você também pode querer experimentar o kdirstat . É uma ferramenta de GUI legal que mostra todos os seus dirs, o que há neles, o conteúdo e várias ferramentas para excluir ou mover arquivos. Há até mesmo o Windows ( WindDirStat ) e o MacOSX ( Inventário de disco X ) clones.

    
por 11.03.2011 / 01:15

Tags