Comandament de còpia avançada: mostra la barra de progrés mentre es copien fitxers/carpetes grans a Linux


Advanced-Copy és un potent programa de línia d'ordres que és molt similar, però amb una versió poc modificada de l'ordre cp original. Aquesta versió modificada de l'ordre cp afegeix una barra de progrés juntament amb el temps total necessari per completar-se, mentre es copien fitxers grans d'una ubicació a una altra. Aquesta característica addicional és molt útil, especialment 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.

Baixeu i instal·leu Advanced-Copy

Hi ha dos mètodes per instal·lar la utilitat Advanced-Copy als sistemes Linux, ja sigui compilar a partir de fonts o utilitzant binaris precompilats. La instal·lació des de binaris precompilats sempre hauria de funcionar correctament i requereix menys experiència i molt eficaç per als novells de Linux.

Però us suggereixo que compileu a partir de fonts, per a això necessiteu la versió original de GNU coreutils i l'últim fitxer de pedaços d'Advacned-Copy. Tota la instal·lació hauria de ser així:

Primer, descarregueu l'última versió de GNU coreutils i patchfile mitjançant l'ordre wget i compileu-lo i apliqueu-lo com es mostra a continuació, heu de ser usuari root per executar totes les ordres.

# wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.21.tar.xz
# tar xvJf coreutils-8.21.tar.xz
# cd coreutils-8.21/
# wget https://raw.githubusercontent.com/atdt/advcpmv/master/advcpmv-0.5-8.21.patch
# patch -p1 -i advcpmv-0.5-8.21.patch
# ./configure
# make

És possible que obtingueu el següent error mentre executeu l'ordre \./configure.

checking whether mknod can create fifo without root privileges... configure: error: in `/home/tecmint/coreutils-8.21':
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 corregir aquest error i torneu a executar l'ordre \./configure.

export FORCE_UNSAFE_CONFIGURE=1

Un cop finalitzada la compilació, es creen dues ordres noves a src/cp i src/mv. 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.

# cp src/cp /usr/local/bin/cp
# cp src/mv /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 ./cp i ./mv o crear ordres noves tal com es mostra.

# mv ./src/cp /usr/local/bin/cpg
# mv ./src/mv /usr/local/bin/mvg

Barra de progrés automàtica

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

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

Heu de tancar la sessió i tornar-hi a iniciar sessió per fer-ho funcionar correctament.

Com utilitzar l'ordre Advacned-Copy

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 un exemple de captures de pantalla d'un procés de còpia mitjançant l'ordre de còpia avançada.

# cp -gR /linux-console.net/ /data/

OR

# cp -R --progress-bar /linux-console.net/ /data/

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

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

OR

# mv -g Songs/ /data/

Si us plau, recordeu que les ordres originals no es sobreescriuen, si alguna vegada necessiteu utilitzar-les o 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 barra de progrés, almenys sabria informació sobre el temps d'operació de còpia i exactament què està passant.

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