Avanceret kopikommando - Viser statuslinje, mens du kopierer store filer/mapper i Linux


Advanced-Copy er et kraftfuldt kommandolinjeprogram, der ligner meget, men lidt modificeret version af original cp-kommando. Denne ændrede version af cp-kommandoen tilføjer en statuslinje sammen med den samlede tid, det tager at fuldføre, mens du kopierer store filer fra et sted til et andet. Denne ekstra funktion er meget nyttig, især når du kopierer store filer, og dette giver brugeren en idé om status for kopiprocessen, og hvor lang tid det tager at gennemføre.

Download og installer Advanced-Copy

Der er to metoder til at installere Advanced-Copy-værktøjet i Linux-systemer, enten kompilerer du fra kilder eller bruger præ-kompilerede binære filer. Installation fra præ-kompilerede binære filer skal altid fungere korrekt og kræver mindre erfaring og meget effektiv for Linux-nybegyndere.

Men jeg foreslår, at du kompilerer fra kilder, for dette krævede du originalversion af GNU-kernefiler og nyeste patchfile af Advacned-Copy. Hele installationen skal gå sådan her:

Først skal du downloade den nyeste version af GNU coreutils og patchfile ved hjælp af wget-kommandoen og kompilere og patch den som vist nedenfor, du skal være rootbruger for at udføre alle kommandoer.

# 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

Du får muligvis følgende fejl, mens du kører kommandoen “./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

Kør følgende kommando på terminalen for at rette den fejl, og kør kommandoen “./configure” igen.

export FORCE_UNSAFE_CONFIGURE=1

Når kompilering er færdig, oprettes to nye kommandoer under src/cp og src/mv. Du skal erstatte dine originale cp- og mv-kommandoer med disse to nye kommandoer for at få statuslinjen, mens du kopierer filer.

# cp src/cp /usr/local/bin/cp
# cp src/mv /usr/local/bin/mv

Bemærk: Hvis du ikke vil kopiere disse kommandoer under standard systemstier, kan du stadig køre dem fra kildekataloget som "./cp" og "./mv eller oprette nye kommandoer som vist".

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

Automatisk statuslinje

Hvis du vil have, at statuslinjen vises hele tiden, mens du kopierer, skal du tilføje følgende linjer til din ~/.bashrc-fil. Gem og luk filen

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

Du skal logge ud og logge ind igen for at få dette til at fungere korrekt.

Sådan bruges kommandoen Advacned-Copy

Kommandoen er den samme, den eneste ændring er at tilføje “-g” eller “–progress-bar” med cp-kommando. Indstillingen “-R” er til kopiering af mapper rekursivt. Her er et eksempel på skærmbilleder af en kopiproces ved hjælp af avanceret kopikommando.

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

OR

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

Her er eksemplet på 'mv' kommando med skærmbillede.

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

OR

# mv -g Songs/ /data/

Husk, originale kommandoer overskrives ikke, hvis du nogensinde har brug for dem, eller hvis du ikke er tilfreds med den nye statuslinje, og ønsker at vende tilbage til originale cp- og mv-kommandoer. Du kan ringe til dem via/usr/bin/cp eller/usr/bin/mv.

Jeg er virkelig meget imponeret over denne nye statuslinjefunktion, i det mindste ville jeg vide nogle oplysninger om kopieringstid og nøjagtigt hvad der foregår.

Samlet set kan jeg sige, det er virkelig godt værktøj at have i lommen, især når du bruger masser af tid på at kopiere og flytte filer gennem kommandolinjen.