Autor Tópico: Barra de progresso no comando CP ou MV  (Lida 15432 vezes)

Offline clebertadeu

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Barra de progresso no comando CP ou MV
« Online: 02 de Janeiro de 2010, 02:00 »
eh possível visualizar o progresso de copia o movimentação de um arquivo?
Ex. quero mover um diretório recursivamente para outro local e gostaria de acompanhar o progresso desta movimentação.

se é possível, como faço?
----------
Cleber Tadeu - Programador Web Jr.

Offline niquelnausea

  • Usuário Ubuntu
  • *
  • Mensagens: 967
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #1 Online: 02 de Janeiro de 2010, 10:38 »
Com o Ctrl + c e Ctrl +v aparece uma janelinha mostrando o progresso.

Offline clebertadeu

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #2 Online: 02 de Janeiro de 2010, 16:54 »
Com o Ctrl + c e Ctrl +v aparece uma janelinha mostrando o progresso.
hum... isso eu acho que ja testei, sou novato no linux mas nem tanto! Gostaria de saber se existe a possibilidade disso acontecer no terminal semelhante ao que o comando apt-get faz pra baixar pacotes.
----------
Cleber Tadeu - Programador Web Jr.

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.369
  • @Ceará
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #3 Online: 02 de Janeiro de 2010, 19:59 »
Nem sabia que dava pra fazer, mas uma pergunta no Google trouxe a sua solução:
http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline Alyscom

  • Usuário Ubuntu
  • *
  • Mensagens: 774
  • Apenas me dê o feijão!
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #4 Online: 02 de Janeiro de 2010, 21:30 »
Nem sabia que dava pra fazer, mas uma pergunta no Google trouxe a sua solução:
http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/
Que massa!!!  :)
Muito bom mesmo, já fiz isso aqui no meu!!
[edit] Não funcionou!! Tem como dar um resumo?? é que não entendi uma parte lá!! :P


[]'s


Alyscom
« Última modificação: 02 de Janeiro de 2010, 21:39 por Alyscom »
O álcool é o photoshop da vida real
 

Offline clebertadeu

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #5 Online: 02 de Janeiro de 2010, 23:11 »
Nem sabia que dava pra fazer, mas uma pergunta no Google trouxe a sua solução:
http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/

sou iniciante, nunca criei um comando no .sh do linux, é possível fazer um passo-a-passo pra o iniciante aqui? Obrigado pela resposta, era isso mesmo que eu queria
----------
Cleber Tadeu - Programador Web Jr.

Offline sboorbou

  • Usuário Ubuntu
  • *
  • Mensagens: 385
  • LPIC 2 - LPI 000180523 - Linux user 490229 - MCITP
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #6 Online: 03 de Janeiro de 2010, 09:46 »
se usar a opção -v durante a cópia, ele escreve a saída ( não é uma barrinha com %, mas mostra arquivo por arquivo que ta copiando...)
duvida eu em você sinto... duvida a raiva leva, raiva ao ódio leva, ódio é o lado negro da força - Mestre Yoda

alarcon

  • Visitante
Re: Barra de progresso no comando CP ou MV
« Resposta #7 Online: 03 de Janeiro de 2010, 10:42 »
Nem sabia que dava pra fazer, mas uma pergunta no Google trouxe a sua solução:
http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/
Que massa!!!  :)
Muito bom mesmo, já fiz isso aqui no meu!!
[edit] Não funcionou!! Tem como dar um resumo?? é que não entendi uma parte lá!! :P


[]'s


Alyscom


Aqui no meu teste funcionou, mas só para aquivos e não pastas com conteúdo dentro.

Agora eu fiz uma alteração no script que inicialmente estava assim:

Citar
#!/bin/sh
cp_p()
{
   strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
      | awk '{
        count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i<=percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]\r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}

Alterei para:

Citar
#!/bin/sh
function cp_p
{
   strace -q -ewrite cp -R -- "${1}" "${2}"  2>&1 \
      | awk '{
        count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i<=percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]\r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}


A mudança que fiz para funcionar eu destaquei em negrito.

Dei permissão de execução ao script (chmod +x nome_do_script) criado e digitei:

./nome_do_script "origem" "destino"

e funcionou só que a barra de progresso não fica totalmente na horizontal indo da esquerda para a direita e sim igual quando se baixa o flash, mais ou menos assim:

1%|==>
2%|===>
3%|====>

e assim por diante.

Offline clebertadeu

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #8 Online: 03 de Janeiro de 2010, 19:17 »
blza alarcon,, consegui fazer seguindo seus procedimentos, achei interessante mas visualmente feio! Bom se n'ao tiver mais nenhuma contribuição me dou por satisfeito
----------
Cleber Tadeu - Programador Web Jr.

Offline Alyscom

  • Usuário Ubuntu
  • *
  • Mensagens: 774
  • Apenas me dê o feijão!
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #9 Online: 04 de Janeiro de 2010, 03:45 »
Olá!! :D
Ao invés de usar => poderiamos usar ▬► ou •», sei láh... Aqui tem mais símbolos legais!! ;)



[]'s



Alyscom
O álcool é o photoshop da vida real
 

Offline Alyscom

  • Usuário Ubuntu
  • *
  • Mensagens: 774
  • Apenas me dê o feijão!
    • Ver perfil
Re: Barra de progresso no comando CP ou MV
« Resposta #10 Online: 04 de Janeiro de 2010, 04:13 »
Queria que o meu ficasse assim!! *-* heheh

2.69MB.............................................0:00:00 |70.3MB/s|
|██████████████████████▓▒░  87% |



[]'s


Alyscom
O álcool é o photoshop da vida real
 

Offline clebertadeu

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Re: Barra de progresso no comando CP ou MV [Resolvido]
« Resposta #11 Online: 05 de Janeiro de 2010, 00:13 »
bom consegui um script pesquisando na internet para resolver meu problema. O comportamento dele ainda não esta 100% do meu gosto mas ja melhorou 70% do que estava antes...

Baixando o arquivo com os comandos pré compilados
Código: [Selecionar]
$ wget http://clebertadeu.com/linux/cmdbar.tar
faça um backup dos comandos cp, mv e rm (caso de algum zulu.. hehe)
Código: [Selecionar]
$ sudo tar -cvvf ~/bin.tar /bin/cp /bin/mv /bin/rm
descompactando o arquivo com os comandos modificados na pasta /bin
Código: [Selecionar]
$ sudo tar xvf cmdbar.tar -C /bin
crie um alias para "cp=cp -B" se achar necessário se não, quando for utilizar os comandos cp, mv ou rm só setar o flag "-B" Ex.:
Código: [Selecionar]
$cp -B /home/usuario/Documentos/CD.iso /home/usuario/Imagens_cd
$ CD.iso  51% |******************                  | 783 MB 00:14

só isso.
Valeu galera que contribuiu e ajudou a resolver mais este pequeno probleminha
----------
Cleber Tadeu - Programador Web Jr.