Como posso obter o tamanho de todos os arquivos e todos os arquivos em seus subdiretórios usando o comando du.
Estou tentando o seguinte comando para obter o tamanho de todos os arquivos (e arquivos em subdiretórios)
find . -type f | du -a
Mas isso também imprime os tamanhos das pastas. Como posso obter uma lista de tamanhos de todos os arquivos e arquivos em subdiretórios? Eu também tentei o, exec flag
mas não tenho certeza de como canalizar a saída para outro comando depois que ele executa os resultados do find
into du
.
O sistema operacional é o AIX 6.1 com shell ksh.
find -print0
ou outros recursos do GNU. Se disponível, a substituição\;
por\+
resultará em menos invocaçõesdu
e, portanto, melhor desempenho.+
opção. Essa é uma opção paradu
ou parafind
? E por que isso resulta em menos ligações?find
. Ele especifica paraexec
o comando (no nosso casodu
) apenas uma vez, com todos os resultadosfind
fornecidos como argumentos sucessivos para o comando.du -f --threshold=1G
Se você possui utilitários GNU, tente
fonte
man du
não lista umafiles
oufrom
sinalização.du -ch
para obter um total geral de arquivos correspondentes:find . -name 'blah blah.*' -print0 | du --files0-from=- -ch
Eu geralmente uso:
Xargs geralmente chama o comando, mesmo se não houver argumentos passados;
xargs du </dev/null
ainda será chamado,xargs -r du </dev/null
não será chamado du. O-0
argumento procura por seqüências terminadas em nulo em vez de nova linha finalizada.Então eu costumo adicionar
| awk '{sum+=$1} END {print sum}'
no final para obter o total.fonte
then I usually add
vale de ouro :-)Aqui está uma versão com nomes longos de parâmetros e classificação humana.
Também não vi necessidade de
-a/--all
passar paradu
.fonte
arquivos específicos no diretório atual
du -ch files*
é mais curto e funciona para mim
du -sh .
para dir atual e todos os arquivos em sub
du (GNU coreutils) 8,30
fonte
du -ch files*
? Suponha que o diretório atual contémant
,apple
,banana
,bat
,cat
,corn
,date
, edog
, onde os nomes de animais são subdiretórios e as frutas / vegetais nomes são arquivos - o comando você usaria para obter apenas os arquivos? Ou não é isso que você quis dizer? (2)du -sh .
relatará apenas um total geral de tudo no diretório atual e abaixo dele, e não os arquivos em si. Esse é exatamente o oposto do que a pergunta fazia.