Advanced Copy, cp e mv com barras de progresso! (obsoleto)


E lá vai mais uma pequena dica, dessa vez demonstrando como ter barras de progresso durante as operações com os comandos cp e mv (para quem não tem TeraCopy já é um começo! rs).

Instalação.

Antes que façam alguma bobagem, uma boa idéia é modificar o $PATH de seu usuário de modo a poder executar alguns programas em certos diretórios, principalmente se seguirem passos alternativos vistos aqui, e tudo começa com o acrescimo da linha abaixo em seu arquivo ~/.bashrc):

export PATH="$PATH:$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin"

Com isso você poderá mover ou copiar os executáveis, seja para /bin, /usr/bin, /usr/local/bin ou mesmo num diretório chamado carinhosamente de bin em sua $HOME.

Dito isto, se quiserem resolver tudo de forma mais simples, apenas sigam o proposto abaixo:

$ wget http://beatex.org/web/advcopy/advcpmv-0.5-8.21-static.tar.xz
$ chmod +x advcpmv-0.5-8.21-static/cp 
$ chmod +x advcpmv-0.5-8.21-static/mv 
$ sudo mv advcpmv-0.5-8.21-static/cp /usr/local/bin/
$ sudo mv advcpmv-0.5-8.21-static/mv /usr/local/bin/

E se quiserem substituir os executáveis (não recomendo isto!), primeiramente descubram onde os mesmos estão localizados em sua distro (no Debian é em /bin):

$ whereis|which cp
$ whereis|which mv
$ sudo mv advcpmv-0.5-8.21-static/cp /bin/
$ sudo mv advcpmv-0.5-8.21-static/mv /bin/

Abaixo vemos em ação os comandos cp e mv com a opção -g e em seguida a conferência do tamanho e hash md5 dos arquivos:

O uso destes programas com essas novas funções foi visto por mim numa dica do site DicasL, porém, nesta dica a sugestão era compilar o pacote coreutils e baixar os sources e patches para o programa (e foi isso que eu fiz na época), em todo caso segue o link da dica:

http://www.dicas-l.com.br/arquivo/copiando_e_movendo_arquivos_com_uma_barra_de_status.php#.Ukx98YI7VYY

The hard way…

Agora que viram o modo mais fácil, vamos ao mais complicado:

$ wget -nv http://ftp.gnu.org/gnu/coreutils/coreutils-8.21.tar.xz
$ tar -Jxf coreutils-8.21.tar.xz 
$ cd coreutils-8.21/
$ wget -nv http://zwicke.org/web/advcopy/advcpmv-0.4-8.21.patch
$ patch -p1 -i advcpmv-0.4-8.21.patch
$ ./configure && make
$ sudo cp src/cp /usr/local/bin/
$ sudo cp src/mv /usr/local/bin/

E já que falamos do arquivo ~/.bashrc) lá no começo, aproveitem e verifiquem se existe algum alias para os comandos cp e mv, tipo:

alias mv='mv -i'
alias cp='cp -ai'

Caso existam, modifique-os para:

alias mv='mv -g'
alias cp='cp -g'

Ou designando o caminho do executável:

alias mv='/usr/local/bin/mv -g'
alias cp='/usr/local/bin/cp -g'
ou
alias mv='/home/$USER/bin/mv -g'
alias cp='/home/$USER/bin/cp -g'

Extras…

Com a compilação do coreutils, além dos comandos cp e do mv isso trouxe uma série de programas com novas versões, caso do: mkdir, echo, kill, ls e muitos outros, todos acompanhando a versão 8.21 do coreutils, enquanto que a versão do Debian Wheezy é a 8.13, dito isto e se caso queiram salvá-los pro caso de uma catástrofe nuclear fiquem à vontade! rs

 

 

Referência.

http://beatex.org/web/advancedcopy.html#precompiled

Anúncios
Advanced Copy, cp e mv com barras de progresso! (obsoleto)

2 comentários sobre “Advanced Copy, cp e mv com barras de progresso! (obsoleto)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s