como usar du para ver arquivos maiores que um tamanho limite

9

Estou tendo algumas situações em que não vejo nada nas páginas de manual.

1) Quero ver os arquivos em um subdiretório maiores que apenas um tamanho específico. 2) Eu uso du -sh> du_output.txt. Eu vejo a saída conforme descrito para a opção -s -h, seja como for, o que mais me interessa é se a saída vier em um formato que é, por exemplo,

 dir0--->dir1-->dir3-->dir4 
       |             | 
       ->dir2        |-file1
                     |-file2

se o exposto acima é o layout do diretório e eu quero apenas ver o tamanho dos diretórios individuais em todos os subdiretórios, o que posso fazer (a profundidade de cada subdiretório é variável)

Vinculo
fonte

Respostas:

5

Eu gosto do utilitário gt5 . Ele usa a saída due cria uma lista navegável de diretórios e seus tamanhos e usa um navegador em modo de texto, como links para exibir as informações.

Ambos os programas estão disponíveis nos repositórios do Ubuntu: gt5 e links .

captura de tela gt5

Pausado até novo aviso.
fonte
Obrigado, gt5 parece muito interessante. Vou instalá-lo agora. Claro que também há "baobab" para GUI.
precisa saber é o seguinte
22

Para mostrar apenas pastas com mais de 1 GB de tamanho:

du -h --threshold=1G

Você também pode encomendar por tamanho, para encontrar facilmente os maiores.
du -h --threshold=1G | sort -h

(Funciona em: Ubuntu / Mint.
Não funciona em: OSX ou RHEL 6.2)

Mtl Dev
fonte
2
Pena --thresholdque não funciona no OS X.
Franklin Yu
Também não está funcionando no RHEL 6.2
Matthew Moisen
Também no Ubuntu, ele diz que sort -hnhn são incompatíveis.
10137 Scott Stafford
1
@ ScottStafford Obrigado por isso, erro de digitação, corrigido. Deveria ter lido apenas #sort -h
Mtl Dev 10/10
como mostrar arquivos com mais de 500 KB? (em vez de pastas) #
Alexander Mills
12

Use o comando find em seu lugar. O exemplo a seguir mostra todos os arquivos maiores que 10 megabytes:

find -size +10M

Você pode usar du com find como este para ver o tamanho de cada arquivo:

find -size +10M -exec du -sh {} \;
carson
fonte
0

find /path/to/folder -size +100k

Não está claro se você deseja ver o tamanho de arquivos individuais maiores que algum valor ou se deseja ver pastas maiores que algum valor.

SabreWolfy
fonte
Basicamente, eu tenho que fazer um relatório e em que eu tenho que representá-lo de duas maneiras que você apontou.
Bond
Eu acho que o GT5 mencionado acima pode ser o que você está procurando.
precisa saber é o seguinte
0

Vejo a resposta do Mtl Dev adequada para esta pergunta. Desde que Bond abriu esse tópico com as tags 'linux' e 'ubuntu-10.04'.
Mais uma vez, du -h --threshold=1G(seguido por | sort -hopcionalmente) funciona perfeitamente no Ubuntu.

Embora Bond tenha dito que,

Não vejo nada nas páginas de manual.

existem duas linhas na página de manual, consulte abaixo.

-t, --threshold = SIZE
exclui entradas menores que SIZE se positivas ou entradas maiores que SIZE se negativas

Só mais uma coisa, acho que a linha de comando exata que Bond quer é algo assim,

find . -mindepth 2 -type d | xargs du -sh -t 1G

Quando -mindepth 1reivindicações de que ele deve conter o caminho atual, -mindepth 2funcionará com sua demanda.

Abaixo está uma demonstração do popular conjunto de dados lisa .

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G | sort -h
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
4.0G    ./negatives/negativePics
6.0G    ./experiments/training

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G
4.0G    ./negatives/negativePics
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
6.0G    ./experiments/training
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 3G
4.0G    ./negatives/negativePics
6.0G    ./experiments/training
David Jung
fonte