Còpia avançada: mostra el progrés mentre es copien fitxers a Linux


Advanced-Copy és un potent programa de línia d'ordres que és molt similar, però una versió una mica modificada de l'ordre cp original i les eines mv.

Aquesta versió modificada de l'ordre cp afegeix una barra de progrés juntament amb el temps total necessari per completar-se mentre copieu fitxers grans d'una ubicació a una altra.

Aquesta característica addicional és molt útil, sobretot quan es copien fitxers grans, i això dóna una idea a l'usuari sobre l'estat del procés de còpia i quant de temps triga a completar-se.

Instal·leu Advanced-Copy Command a Linux

L'única manera d'instal·lar la utilitat Advanced-Copy als sistemes Linux és creant a partir de fonts utilitzant l'ordre curl únic següent, que descarregarà, apegarà, compilarà coreutils i generarà els fitxers: ./advcpmv/advcp i ./advcpmv/advmv.

# curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

És possible que obtingueu el següent error durant el procés d'instal·lació.

checking whether mknod can create fifo without root privileges... configure: error: in `/root/advcpmv/coreutils-9.1':
configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details

Executeu l'ordre següent al terminal per solucionar aquest error i torneu a executar l'ordre curl.

# export FORCE_UNSAFE_CONFIGURE=1
# curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

Un cop finalitzada la instal·lació, es creen dues ordres noves a ./advcpmv/advcp i ./advcpmv/advmv. Heu de substituir les vostres ordres cp i mv originals per aquestes dues ordres noves per obtenir la barra de progrés mentre copieu fitxers.

# mv ./advcpmv/advcp /usr/local/bin/cp
# mv ./advcpmv/advmv /usr/local/bin/mv

Nota: si no voleu copiar aquestes ordres a les rutes estàndard del sistema, encara podeu executar-les des del directori font com ./advcpmv/advcp i ./advcpmv/advmv o crear ordres noves tal com es mostra.

# mv ./advcpmv/advcp /usr/local/bin/cpg
# mv ./advcpmv/advmv /usr/local/bin/mvg

Mostra la barra de progrés mentre copieu fitxers i directoris

Si voleu que la barra de progrés aparegui tot el temps mentre copieu fitxers i directoris, heu d'afegir les línies següents al vostre fitxer ~/.bashrc.

# echo alias cp '/usr/local/bin/advcp -g' >> ~/.bashrc
# echo alias mv '/usr/local/bin/advmv -g' >> ~/.bashrc

Heu de tancar la sessió i iniciar la sessió de nou perquè això funcioni correctament.

Com utilitzar l'ordre de còpia avançada a Linux

L'ordre és la mateixa, l'únic canvi és afegir l'opció \-g o \–progress-bar amb l'ordre cp. L'opció -R és per copiar directoris de manera recursiva.

Aquí hi ha exemples de captures de pantalla d'un procés de còpia mitjançant l'ordre de còpia avançada.

# cp -gR ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/
OR
# cp -R --progress-bar ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/

Aquí teniu un exemple de l'ordre 'mv' amb una captura de pantalla.

# mv --progress-bar Songs/ /data/
OR
# mv -g Songs/ /data/

Si us plau, recordeu que les ordres originals no se sobreescriuen si mai les necessiteu o si no esteu satisfet amb la nova barra de progrés i voleu tornar a les ordres cp i mv originals. Podeu trucar-los mitjançant /usr/bin/cp o /usr/bin/mv.

Em va impressionar molt aquesta nova funció de la barra de progrés, almenys sabria informació sobre el temps d'operació de còpia i què està passant exactament.

Potser també t'agrada:

  • Com copiar fitxers i directoris a Linux [Exemples d'ordres 14 cp]
  • Com controlar el progrés de les dades (copiar/còpia de seguretat/comprimir) mitjançant l'ordre pv

En general, puc dir que és una eina molt bona per tenir a la butxaca, sobretot quan passeu molt de temps copiant i movent fitxers a través de la línia d'ordres.