É possível determinar o progresso de um comando rm?

10

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, ao longo do processo, o comando está?

    
por John 13.01.2016 / 22:54

3 respostas

14

de

man rm 

use a opção -v:

-v, --verbose
explain what is being done
    
por 13.01.2016 / 23:03
2

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 com ele.

Tenhocertezadequealguémpodecriarumaliasparaexecutarissocomocomando.Tambémfuncionacomcp,mv,dd,tar,gzip/gunzip,cat,etc..Maisdetalhessobreissopodemserencontradosem

gitthub Xfennec / progress

    
por 06.04.2017 / 17:58
2

Eu vejo a pergunta é antiga. Eu quero compartilhar o que funciona para mim, talvez para ajudar alguém.

Eu obtenho a barra de progresso usando a linha de comando pv Visualizador de tubulação

Este é o comando

rm -rv DIR_OR_FILE_NAME | pv -l -s $( du -a DIR_OR_FILE_NAME | wc -l ) > /dev/null

Se você precisa de permissões de root para o diretório ou arquivo a ser excluído,

sudo rm -rv DIR_OR_FILE_NAME | pv -l -s $( sudo du -a DIR_OR_FILE_NAME | wc -l ) > /dev/null
  • rm -rv : -r para remover recursivamente DIRs e arquivos. -v verbose lista todos os arquivos e diretórios que estão sendo removidos.

  • pv -l -s : -l para contar linhas em vez de bytes. -s define 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 por du -a .

  • > /dev/null : envia a saída de rm -rv para lugar nenhum.

por 12.03.2018 / 19:35

Tags