GNU/Linux >> Znalost Linux >  >> Linux

Pokročilé kopírování – Přidejte ukazatel průběhu do příkazů cp a mv v systému Linux

 GNU cpGNU mv nástroje se používají ke kopírování a přesouvání souborů a adresářů v operačním systému GNU/Linux. Jedna chybějící funkce v těchto dvou nástrojích je, že vám neukazují žádný ukazatel průběhu. Pokud kopírujete velký soubor nebo adresář, opravdu nevíte, jak dlouho bude proces kopírování trvat, ani jaké procento zkopírovaných dat. Neuvidíte, který soubor se právě kopíruje, ani kolik jich již bylo zkopírováno. Vše, co uvidíte, je pouze blikající kurzor a LED indikátor pevného disku. Díky Advanced Copy , oprava pro Gnu Coreutils , nyní můžeme přidat ukazatel průběhu do cp a mv příkazy v Linuxu a zobrazit indikátor průběhu při kopírování a/nebo přesouvání velkých souborů a adresářů.

Advanced Copy je mod pro GNU cpGNU mv programy. Přidává ukazatel průběhu a poskytuje některé informace o tom, co se děje při kopírování nebo přesouvání souborů a složek. Nejen ukazatel průběhu, ale také ukazuje rychlost přenosu dat, odhadovaný zbývající čas a název souboru, který se právě kopíruje. Na konci uvidíte krátké shrnutí, kolik souborů bylo zkopírováno a jak dlouho trvalo kopírování souborů.

Nainstalujte si opravu 'Advanced Copy' pro přidání ukazatele průběhu do příkazů cp a mv v Linuxu

Příkazy cp a mv jsou součástí GNU coreutils . Musíte si tedy stáhnout nejnovější GNU coreutils od zde .

$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz

Rozbalte stažený archiv pomocí příkazu:

$ tar xvJf coreutils-8.32.tar.xz

Tento příkaz rozbalí archiv coreutils ve složce s názvem coreutils-8.32 v aktuálním adresáři. Cd do něj:

$ cd coreutils-8.32/

Stáhněte si opravu Advanced Copy pomocí následujícího příkazu:

$ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch

Nakonec použijte opravu spuštěním následujících příkazů jeden po druhém:

$ patch -p1 -i advcpmv-0.8-8.32.patch
$ ./configure
$ make

Nyní dva nové opravené binární soubory, konkrétně cp a mv bude vytvořen v coreutils-8.32/src složka. Jednoduše je zkopírujte do své $PATH, jak je uvedeno níže:

$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv

A je to. cp a mv příkazy mají nyní funkci ukazatele průběhu.

Kdykoli budete chtít ukazatel průběhu při kopírování nebo přesouvání souborů a adresářů, stačí přidat -g příznak jako níže:

$ cp -g archlinux.iso mydownload/

Nebo použijte --progress-bar příznak:

$ cp --progress-bar archlinux.iso mydownload/

Ukázkový výstup:

Copying at  25.7 MiB/s (about 0h 0m 1s remaining)
archlinux.iso                                                          568.1 MiB / 646.0 MiB
[=========================================================================>                  ] 87.9 %

Na konci procesu kopírování uvidíte, kolik souborů bylo zkopírováno, jak dlouho trvalo kopírování souboru (souborů) a rychlost přenosu dat za sekundu. Pěkné, že?

1 files (646.0 MiB) copied in 11.8 seconds ( 54.7 MiB/s).

Chcete-li zkopírovat adresář a jeho podadresáře rekurzivně, jednoduše přidejte -R příznak:

$ cp -gR directory1/ directory2/

Podobně pro přesun souborů pomocí mv příkaz, spusťte:

$ mv -g archlinux.iso mydownload/

Nebo použijte --progress-bar příznak:

$ mv --progress-bar archlinux.iso mydownload/

Přesouvání adresářů pomocí mv příkaz, použijte:

$ mv -g directory1/ directory2/

Můžete také vytvořit aliasy, abyste si ušetřili několik stisknutí kláves. Chcete-li tak učinit, upravte ~/.bashrc soubor:

$ nano ~/.bashrc

Na konec přidejte následující řádky:

alias cp='/usr/local/bin/cp -gR'
alias mv='/usr/local/bin/mv -g'

Stiskněte Ctrl+o a Ctl+x uložte a zavřete soubor.

Nyní spusťte následující příkaz, aby se změny projevily:

$ source ~/.bashrc

Od této chvíle můžete používat pouze cp nebo mv příkazy bez -g (nebo --progress-bar ) příznak.

Upozorňujeme, že původní programy nejsou přepsány. Stále jim můžete kdykoli zavolat prostřednictvím /usr/bin/cp nebo /usr/bin/mv .

Přidání funkce ukazatele průběhu do cp a mv příkazy je dobrý nápad, pokud často kopírujete nebo přesouváte velké množství velkých souborů a adresářů. Nyní můžete vidět, co se přesně děje při kopírování a přesouvání souborů, místo abyste zírali na obrazovku.

Poznámka:

Původní autor poslal patch týmu, který spravuje GNU CoreUtils. Tento patch nezačlení, protože funkce mv a cp jsou kompletní.


Linux
  1. Naučte se rozdíl mezi příkazy „su“ a „su -“ v Linuxu

  2. Linuxové příkazy:jobs, bg a fg

  3. 20 jednořádkových příkazů Linuxu, které můžete přidat do svého panelu nástrojů

  1. Jak přidat ukazatel průběhu pro kopírování a přesouvání příkazů v Linuxu?

  2. Najděte soubor pomocí příkazů Najít a najít v Linuxu

  3. 11 Užitečné příkazy „ssh“ a „scp“ v Linuxu

  1. Jak zakázat příkazy vypnutí a restartu v Linuxu

  2. Linuxové příkazy – přehled a příklady

  3. Rozdíl mezi příkazy 'ifconfig' a ​​'ip'