A passagem de -s
para du
restringirá a saída apenas aos itens especificados na linha de comando.
du -sh ~
Eu gostaria de ver o uso total do disco para mim mesmo em um sistema de arquivos específico. Eu executei o comando
du -h ~my_user_name
No entanto, isso lista todos os diretórios pertencentes a my_user_name
. Eu gostaria de obter a soma total de todas essas informações. Qual é a opção apropriada para passar? Eu tentei
du -h -c ~my_user_name
mas isso não funcionou.
Du só mostrará os totais por pasta, não por usuário.
Isso pode funcionar se você quiser o tamanho total de, digamos, / home / example_user / e se apenas aquele example_user tiver arquivos nessa pasta. Se outros usuários tiverem arquivos neles, isso não produzirá o tamanho de todos os arquivos pertencentes a você, mas o tamanho total de todos os arquivos nessa pasta.
Para obter as informações por usuário:
find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
Note que isso usa uma extensão específica do GNU find.
-type f
garante que você selecione apenas arquivos, caso contrário, você também está contando o tamanho dos diretórios. (Tente criar uma pasta vazia. Ela provavelmente usará 4k de espaço em disco). -user username_whos_files_to_count
apenas seleciona os resultados de um usuário -printf "%s\n"
imprimirá o tamanho. Se você acabou de executar a primeira parte disso, você receberá uma lista de números. Esses são os tamanhos dos arquivos. (Tudo o mais é removido, somente o tamanho é impresso graças ao comando de impressão% s.)
Podemos então adicionar todos esses números para obter um resumo. No exemplo, isso é baixo com o awk.
Tags memory-usage du linux disk-space