Em vez de voar às cegas, usar Linux pv
e progress
comandos para acompanhar o progresso de um comando. Esses utilitários lhe darão barras de progresso para comandos que regularmente não têm nenhum. Você também verá um tempo estimado até a conclusão.
Se você estiver em um voo de longo curso em um avião sem telas de vídeo nas costas dos assentos, não é fácil saber a que distância você está da sua viagem. Você sabe quando você decolou. Você sabe quanto tempo o vôo deve levar. Mas, Como você sabe se está no caminho certo, na hora ou muito tarde? Se você não quer ver o filme durante o vôo, você geralmente pode mudar a tela do vídeo para mostrar um mapa com a posição do seu avião nele. Você também obtém algumas estatísticas, como a hora prevista de chegada (E), o que é ótimo.
Iniciar um comando a partir da janela do terminal às vezes pode parecer um voo de longo curso sem uma tela de vídeo. Não tem nada para indicar se está tudo bem ou se o procedimento travou, nem o quão perto está da conclusão. Um cursor piscando não é muito informativo.
a pv
e progress
Os comandos fornecem algumas estatísticas e algum feedback visual. Você pode ver o quão perto o procedimento está para ser concluído. Isso significa que você obtém um ETA para seus processos em execução. Comparado a olhar para um cursor, isso vence sem dúvida.
Instalação fotovoltaica
Você deve instalar pv
.
Instalar pv
no Ubuntu use este comando:
sudo apt-get install pv
Instalar pv
no Fedora use este comando:
sudo dnf install PV
Instalar pv
em Manjaro use este comando:
sudo pacman -Syu pv
Usando pv
pv
Representa visualizador de tubo. O pipeline deve estar envolvido no comando em algum lugar. Aqui está um exemplo em que estamos canalizando uma imagem ISO através de zip
para fazer um arquivo compactado do ISO.
Para desacelerar os comandos o suficiente para poder fazer uma captura de tela, alguns dos arquivos de amostra usados para esta postagem foram armazenados em um USB externo antigo e lento chamado SILVERXHD.
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso | fecho eclair > gparted.zip
A informação pv
nos dá pode ser visto na linha inferior da tela.
De esquerda a direita, a informação exibida é:
- Dados transferidos até agora.
- O tempo passou até agora.
- A taxa de transferência de dados (Desempenho).
- Uma barra de progresso e um número percentual completo.
- O tempo estimado restante antes da conclusão (E).
Copie um arquivo com pv
Para copiar um arquivo com saída de pv
, use este comando:
pv /media/dave/SILVERXHD/gparted-live-1.0.0-1-amd64.iso > gparted.iso
Recebemos um relatório de progresso conforme o arquivo é copiado.
Copie vários arquivos com pv
Para copiar vários arquivos e pastas com pv
precisamos usar um pequeno truque. Nós usamos tar
para mover os arquivos para nós.
tar -c help-files / | pv | Documentos tar -x -C /
a tar -c help-files/
parte das instruções de comando tar
Criar (-c
) um arquivo dos arquivos na pasta de arquivos de ajuda. Isso é canalizado através de pv
para que tenhamos uma visualização do progresso. É então canalizado de volta para tar
para a última parte do comando. O arquivo é extraído (-x
) e o diretório é alterado (-C
) a Documentos antes da extração.
Por isso, os arquivos e pastas que estão nos arquivos de ajuda são copiados para a pasta Documentos, com uma tela de progresso.
O resultado é um pouco diferente desta vez.
Não recebemos um HEC. A barra de progresso agora mostra um indicador móvel. Mostra que o procedimento está ativo, mas não cresce da esquerda para a direita como uma barra de progresso tradicional. pv
limita-se a mostrar as informações que pode extrair do procedimento que está sendo canalizado.
Usando pv e tar para criar um arquivo
Copiar arquivos com pv
e tar
não nos deixa com um arquivo. Uma espécie de arquivo “virtual” é criado por tar
, que é devolvido diretamente para tar
para extrair os arquivos. Se nosso objetivo é copiar arquivos, isso é alcançado. Mas, E se quisermos criar um arquivo morto?
Ainda podemos usar tar
para criar um arquivo e obter um relatório de progresso de pv
. Alternativas usadas com tar
estão -c
(criar arquivo), -z
(comprimir com gzip) e -f
(nome do arquivo).
Observe que estamos usando -
como o nome do arquivo, quais causas tar
usar stdoute escrever sua saída na janela do terminal. Não vemos essa saída porque é canalizada através pv
.
O nome real do arquivo será o nome do arquivo a partir do qual canalizamos a saída pv
dentro de. Para este caso, isto é “help-files.tgz”.
tar -czf - ./arquivos de ajuda / | pv > help-files.tgz
Recebemos os mesmos indicadores de progresso de antes e o arquivo é criado para nós.
RELACIONADO: Como compactar e extrair arquivos usando o comando tar no Linux
As alternativas de exibição pv
Existem várias opções que você pode usar com pv
para alterar os detalhes do seu relatório.
Se você usar qualquer uma dessas opções, todas as outras opções estão desabilitadas. Então, se você quiser ter três das alternativas de exibição em uso, você deve especificar essas três opções.
Usando pv
sem qualquer opção é o mesmo que usar o -pterb
opções.
- -pag: mostra a percentagem cheio. Esta é a barra de progresso e a figura de porcentagem concluída.
- -t: mostra o decorrido clima.
- -mim: mostra a E.
- -r: mostra a índice transferência de dados.
- -B: mostra a byte contar (dados transferidos até agora).
- -Norte: mostra a porcentagem como um todo. Isso imprime a porcentagem concluída como um número inteiro., com cada nova atualização em uma nova linha.
Vamos repetir o último comando e passar o -p
(por cento completo) opção para pv
.
tar -czf - ./arquivos de ajuda / | pv - p > help-files.tgz
Isso desativa todas as outras opções de exibição. pv
fornece apenas a porcentagem do item completo.
Devido a que pv
não obtém um valor percentual completo de tar
, a barra de progresso é substituída por um indicador móvel. Não há porcentagem.
Usando pv com banheiro
Podemos usar pv
canalizar um arquivo de texto (ou arquivos) uma wc
. wc
Em seguida, ele irá contar os retornos do carro, caracteres e palavras e pv
nos dará um relatório de progresso.
Aqui estamos canalizando todos os arquivos “.página” no diretório de arquivos de ajuda em wc
.
Quando wc
completo podemos ver nossa contagem de retorno de carruagem (linhas), caracteres e palavras de todos os arquivos “.page” na pasta de arquivos de ajuda.
Instalação do comando de progresso
a progress
comando dá o mesmo tipo de informação útil O que pv
, mas funciona com um conjunto específico de comandos Linux.
Instalar progress
no Ubuntu, use este comando:
sudo apt-get install progresso
Instalar progress
no Fedora, use este comando:
progresso da instalação do sudo dnf
Instalar progress
em Manjaro, use este comando:
sudo pacman -Syu progress
O progresso do comando funciona com
Digitando progress
em uma janela de terminal e pressionar Enter lhe dará uma lista dos comandos que progress
Funciona com.
progresso
Usando o progresso com tubos
Existem duas técnicas que podemos usar para monitorar comandos com progress
. O primeiro é usar canos.
a tar
comando está na lista de comandos suportados que progress
pode monitorar, portanto, vamos usar tar
.
As alternativas que usaremos são as padrão -c
(criar arquivo), -z
(comprimir com gzip) e -f
(nome do arquivo) opções. Vamos criar um arquivo compactado de tudo o que está na pasta de arquivos de ajuda, e o arquivo se chamará "help.tgz".
Estamos canalizando isso para progress
e usando o -m
(monitor) opção como esta progress
continua a relatar o procedimento até que esteja completo.
tar -czf help.tgz ./help-files/ | progresso -m
A janela do terminal exibirá o progresso do tar
comando ao criar o arquivo.
À medida que cada arquivo é processado, está listado com as próximas informações:
- O ID do procedimento.
- O nome do procedimento.
- Porcentagem concluída.
- Dados processados e tamanho total do arquivo.
- Taxa de dados (Desempenho).
- Tempo estimado restante (E).
Você pode se surpreender ao ver um segundo conjunto de dados aparecer. Este primeiro conjunto de dados é para tar
. O segundo é para gzip
. tar
chamadas gzip
para realizar compressão. Devido a que gzip
está na lista de comandos suportados, progress
relatórios sobre isso.
Usando o progresso no modo de monitoramento contínuo
Você pode usar progress
em um modo de monitoramento contínuo em tempo real usando a opção -M (monitor).
Digite o seguinte comando em uma janela de terminal:
progresso -M
progress
não relatará nenhum comando em execução para monitorar. Mas não volta para a linha de comando. progress
espera até que um comando que pode monitorar seja iniciado. Em seguida, ele começará a gerar relatórios sobre ele automaticamente.
Em outra janela de terminal, escreva um comando que está na lista de comandos que o progresso pode monitorar.
Vamos usar cat
. Comandos que terminam muito rápido não serão registrados com progress
, então vamos listar o conteúdo de um arquivo de texto muito grande.
cat words.page
Na janela do terminal com progress
no, você verá as estatísticas de cat
comando enquanto é executado e funciona até a conclusão.
Quando cat
termine de listar o arquivo progress
retorna ao seu estado de espera.
Cada vez que um dos comandos que você pode relatar realiza uma tarefa considerável, progress
irá monitorar e relatar você automaticamente.
Isso é muito bom.
100% completado
Elimine as suposições de se perguntar como um comando de longa execução está funcionando e pare de olhar para o cursor com pv
e progress
.
setTimeout(função(){
!função(f,b,e,v,n,t,s)
{E se(f.fbq)Retorna;n = f.fbq = função(){n.callMethod?
n.callMethod.apply(n,argumentos):n.queue.push(argumentos)};
E se(!f._fbq)f._fbq = n;n.push = n;n.loaded =!0;n.version = ’2.0′;
n.queue =[];t = b.createElement(e);t.async =!0;
t.src = v;s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, documento,'roteiro',
‘Https://connect.facebook.net/en_US/fbevents.js ’);
fbq('iniciar', ‘335401813750447’);
fbq('acompanhar', ‘PageView’);
},3000);