
O comando cp faz parte do GNU CoreUtils e um dos recursos que muita gente queria que fosse implementado seria uma barra de progresso, mas como isso ainda não aconteceu , um programador criou um patch o disponibilizou no GitHub que pode ser implementado ao GNU CoreUtils e você usá-lo!
O procedimento é bem simples, basta seguir os passos:
sudo apt install gcc g++ make build-essentialwget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xztar xvJf coreutils-8.32.tar.xz
cd coreutils-8.32/
wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patchpatch -p1 -i advcpmv-0.8-8.32.patch./configure
makeO binário será criado no diretório src , ou seja coreutils-8.32/src/cp, você pode movê-lo para substituir o cp original com o comando: sudo cp src/cp $(which cp)(cp copia cp 😃 ).
Ou criar um alias(acho mais recomendado):
mkdir -p ~/.local/bin
cp src/cp ~/.local/bin/cp
echo 'alias cp="${HOME}/.local/bin/cp"' >> ~/.bashrc
exec $SHELLE testar, exemplo:
Use o parâmetro
--progress-bar
cp --progress-bar Documentos/Fedora-Workstation-Live-x86_64-33-1.2.iso .
copying at 111,2 MiB/s (about 0h 0m 23s remaining)
Documentos/Fedora-Workstation-Live-x86_64-33-1.2.iso 340,9 MiB / 1,9 GiB
[===============================>Se quiser evitar de ficar usando esse parâmetro, já crie o alias com o parâmetro, exemplo:
vim ~/.bashrce deixe o alias nesse arquivo assim:
alias cp="${HOME}/.local/bin/cp --progress-bar"Feche, execute source ~/.bashrc e teste sem o parâmetro, o mesmo será incluso automaticamente:
cp Documentos/Fedora-Workstation-Live-x85_64-33-1.2.iso .
copying at 111,2 MiB/s (about 0h 0m 23s remaining)
Documentos/Fedora-Workstation-Live-x86_64-33-1.2.iso 340,9 MiB / 1,9 GiB
[===============================>O mesmo pode ser usado para o comando mv que também ficará em src, no entanto, dê preferência para o parâmetro -g em vez do , é mais simples! Mas sinceramente não vejo utilidade em usar isso no --progress-barmv até porque as coisas são movidas de maneiras tão rápida que nem precisa disso.
Por hoje é só!