Usar rm -rf LargeDirectory
para excluir um diretório grande pode levar muito tempo para ser concluído, dependendo do tamanho do diretório.
É possível obter uma atualização de status ou, de alguma forma, monitorar o progresso dessa exclusão para fornecer uma estimativa aproximada de onde está o comando no processo?
watch -n 5 du -s LargeDirectory
. Veja como vai a zero.brew install watch
ou veja aqui para obter instruções.Respostas:
a partir de
use a opção -v:
fonte
Vejo que a pergunta é antiga. Quero compartilhar o que funciona para mim, talvez para ajudar outra pessoa.
Eu recebo a barra de progresso usando a
pv
linha de comando Pipe ViewerEste é o comando
Se você precisar de permissões de root para o diretório ou arquivo excluir,
rm -rv
:-r
para remover recursivamente DIRs e arquivos.-v
detalhado, lista todos os arquivos e diretórios que estão sendo removidos.pv -l -s
:-l
para contar linhas em vez de bytes.-s
defina o total de linhas a serem removidas.$( du -a <dir_or_file> | wc -l )
:du -a
retorna uma lista de todos os arquivos e diretórios do diretório especificado.wc -l
retorna a contagem de linhas geradas pordu -a
.> /dev/null
: envia a saída derm -rv
para lugar nenhum.fonte
find {dir} -printf . | wc -c
seria mais seguro (mas-printf
é uma extensão GNU).Você pode visualizar o progresso de qualquer comando em execução no momento com o Coreutils Progress Viewer (
cv
). Não é como emitir um único comando, mas você pode ver o progresso dele.Tenho certeza que alguém pode criar um alias para executar isso com o comando Também trabalha com
cp, mv, dd, tar, gzip/gunzip, cat, etc.
. Mais detalhes sobre isso podem ser encontrados emgitthub Xfennec / progress
fonte