Display Usuário e pastas para uso do disco

1

Eu estou tentando listar os servidores, e fiquei me perguntando se é possível fazer isso através de qualquer código de terminal (no qual eu estou bem fraco agora)

Exemplo, no diretório principal existem toneladas de subpastas (nível 2) e dentro delas também há toneladas de subpastas (nível 3 profundo?)

Como tal, eu queria saber se a codificação normal no terminal me dará:

  • qual usuário está ocupando mais espaço (nível 3 profundo), enquanto exibindo as pastas também
  • as 10 principais pessoas que ocupam mais espaço (nível 2 profundo)

Diretório principal:

|- sub_lvl_2_A
    |- sub_lvl_3_A
|- sub_lvl_2_B
    |- sub_lvl_3_B
    |- sub_lvl_3_C
    
por xenas 14.07.2014 / 15:59

1 resposta

2

O comando du recursivamente localiza o tamanho estimado dos diretórios. Não irá ordenar a saída por tamanho, no entanto.

(Você precisa ser root para que isso funcione)

Realmente, basta alterar o argumento para a opção -d (profundidade máxima):

Para imprimir o tamanho do diretório pessoal de cada usuário em ordem decrescente por tamanho:

sudo du -d 1 /home | sort -gr

Para imprimir os tamanhos das pastas dentro do diretório pessoal de cada usuário (nível 3) (aviso, isso deve ser muito longo, você pode querer redirecioná-lo para less ):

sudo du -d 2 /home

(se a saída for longa):

sudo du -d 2 /home | less

Se você quiser classificar os subdiretórios de cada usuário por tamanho, será necessário executar du individualmente para cada usuário:

sudo du -d 1 ~user1 | sort -gr
sudo du -d 1 ~user2 | sort -gr

... e assim por diante.

Se você quiser trabalhar de um ponto de partida diferente, basta alterar o último argumento de du ( /home acima) para o diretório do qual deseja trabalhar. Mudar o argumento para -d mudará quantos níveis ele percorre.

    
por hal7df 14.07.2014 / 16:52