Como posso obter o tamanho de uma pasta grande com muitas subpastas pequenas no Linux? Eu só quero o tamanho geral da pasta pai.
Tentei du -s myfolder/
mas está demorando muito para executar e não consigo manter o terminal aberto por muito tempo.
Existe uma maneira mais rápida de obter o tamanho da pasta ou uma maneira de executar em segundo plano para poder fechar o terminal e obter os resultados mais tarde?
Para a
nohup
solução sugerida no comentário de Marcus àscreen
resposta, você encontra a saída emnohup.out
. Você pode querer redirecioná-lo para um arquivo adequado, por exemplo:Você pode usar
screen
em segundo plano:em seguida, para reconectar:
Se você está procurando uma solução para rastrear rapidamente o tamanho das pastas sob demanda, existem algumas opções:
O sistema de arquivos CephFS mostra o uso total do disco do conteúdo de uma pasta (incluindo subpastas) como o "tamanho" da pasta, em vez de mostrar o tamanho do armazenamento necessário para as entradas na pasta. Você pode fazer isso simplesmente
ls -Slh
para encontrar os maiores arquivos e pastas e repetir isso em subpastas. CephFS destina-se a clusters com muitas máquinas. É possível executá-lo em uma única máquina, mas é mais complicado de configurar do que um sistema de arquivos normal.Se não estiver interessado no tamanho das subpastas, você pode usar o recurso de cota de projeto do XFS. Atribua cada pasta de interesse a um projeto para ser rastreado pela cota do projeto. O relatório de cota mostra quanto espaço cada projeto está usando.
Da mesma forma, se você puder criar contas de usuário dedicadas para cada pasta a ser rastreada, poderá usar a cota de usuário comum para rastrear o uso (tamanho e número de arquivos). Isso funciona com uma variedade maior de sistemas de arquivos do que com cotas de projeto.
Outra abordagem se você usar um gerenciador de janelas no
POSIX
shell em segundo plano :Consulte http://mywiki.wooledge.org/ArithmeticExpression
Se você colocar o operador de controle
&
no final de um comando, por exemplocommand &
, o shell executará o comando em segundo plano em um arquivosubshell
. O shell não espera a conclusão do comando e o status de retorno é 0. O Pid do último comando em segundo plano está disponível por meio da variável especial$!