Uso total do disco para um usuário em particular

8

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.

    
por Alex 18.05.2013 / 22:28

2 respostas

9

A passagem de -s para du restringirá a saída apenas aos itens especificados na linha de comando.

du -sh ~
    
por 18.05.2013 / 22:38
8

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:

  1. Se você tiver quota ativado, use esses comandos.
  2. Use encontre para percorrer todos os diretórios nos quais deseja contar seus arquivos. Use o uid para selecionar apenas seus arquivos e manter um array associativo no awk para contar os totais.

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.

  • O primeiro comando pesquisa todos os arquivos e diretórios em / path / to / search.
  • -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.

    
por 18.05.2013 / 22:39