GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiungere una barra di avanzamento per copiare e spostare i comandi in Linux?

Se stai copiando o spostando file o cartelle più grandi in Linux, potresti voler conoscere lo stato di avanzamento del lavoro. I comandi predefiniti di copia (cp) e sposta (mv) non sono dotati di una barra di avanzamento. Quindi durante la copia o lo spostamento di qualsiasi file, vedrai solo i comandi sospesi fino al completamento dell'operazione richiesta. Oggi vedremo il comando di copia avanzata in Linux che sostituirà i comandi predefiniti cp e mv per aggiungere una funzionalità della barra di avanzamento.

Dichiarazione di non responsabilità:il comando Advanced Copy sostituirà i comandi cp e mv esistenti, ma ha ancora tutte le funzionalità dei comandi predefiniti. Per essere più sicuro, dovresti fare un backup di questi comandi.

Passaggio 1: Scarica e compila il comando Copia avanzata. Per farlo, avrai anche bisogno di coreutils.

$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.21.tar.xz
$ tar xvJf coreutils-8.21.tar.xz
$ cd coreutils-8.21/
$ wget http://zwicke.org/web/advcopy/advcpmv-0.5-8.21.patch
$ patch -p1 -i advcpmv-0.5-8.21.patch
$ ./configure
$ make

Nota:Core-Utils è un pacchetto utile per aggiungere funzionalità extra ai file core esistenti su Linux. Ma dovrai stare attento, poiché conterranno binari che potrebbero sostituire i file core di Linux. Sostituisci solo ciò che intendi fare.

Se non sei sicuro di come decomprimere coreutils-8.21.tar.xz. Quindi leggi questa guida per decomprimerlo usando il comando tar.

Passaggio 2: Dopo che il make ha avuto successo, devi copiare e sostituire i comandi "cp" e "mv" nella directory "src".

$ ls -l src/cp
$ ls -l src/mv

Passaggio 3:  Sostituisci i comandi predefiniti "cp" e "mv" con quelli nuovi.

$ cp src/cp /bin/cp
$ cp src/mv /bin/mv

Passaggio 4: Esegui il comando seguente per visualizzare la barra di avanzamento durante la copia o lo spostamento dei file.

$ cp -gR gcc32.tar /tmp/

Nota:l'opzione "R" è ricorsiva e -g mostrerà la barra di avanzamento.

$ mv -g gcc32.tar /tmp/

Puoi impostare un alias (in ~/.bashrc) per far apparire la barra di avanzamento per impostazione predefinita come di seguito,

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

Nota:per leggere immediatamente la modifica è necessario eseguire l'origine ~/.bashrc o avrà effetto dalla sessione successiva.

Come installare il comando di copia avanzata da binari statici?

$ wget http://zwicke.org/web/advcopy/advcpmv-0.5-8.21-static.tar.xz
$ tar xvJf advcpmv-0.5-8.21-static.tar.xz

Una volta estratti, copia e sostituisci i comandi predefiniti 'cp' e 'mv',

$ cp advcpmv-0.5-8.21-static/cp /usr/local/bin/cp
$ cp advcpmv-0.5-8.21-static/mv /usr/local/bin/mv

I comandi di copia avanzati sono davvero utili e torneranno utili mentre copi o sposti file di grandi dimensioni.


Linux
  1. Come disabilitare i comandi di spegnimento e riavvio in Linux

  2. Come copiare le autorizzazioni e la proprietà dei file su un altro file in Linux

  3. Come spostare i file e visualizzare l'avanzamento (ad esempio con una barra di avanzamento)?

  4. Come copiare / spostare file e directory in Linux con i comandi "cp" e "mv".

  5. Come usare i comandi strace e ltrace in Linux

Come eseguire automaticamente script e comandi di avvio di Linux

Copia avanzata:aggiungi la barra di avanzamento ai comandi cp e mv in Linux

Come aggiungere comandi Linux alla coda ed eseguirli uno per uno

Come utilizzare i comandi Pbcopy e Pbpaste su Linux

Come copiare file e directory nel terminale Linux

Come copiare la directory su Linux