Většina z vás si všimla, že cp
příkaz nezobrazí průběh kopírování při kopírování souborů/složek. Když kopíruji velký soubor pomocí cp
příkaz, opravdu netuším, jak dlouho to bude trvat, nebo jaké je aktuálně zkopírované procento. Kromě toho, že se při kopírování velkých souborů dívám na blikající ikonu kurzoru v terminálu a indikátor pevného disku, nemám ponětí, zda proces kopírování skutečně probíhá nebo ne. Už ne! Zde je gcp
utilita přichází na pomoc. Gcp (G cp offi ) je pokročilý nástroj pro kopírování souborů, silně inspirovaný tradičním cp
příkazový nástroj, ale s některými dalšími funkcemi. Je to zcela svobodný a open source software, vydaný pod GNU General Public License.
Na rozdíl od cp
obslužný program gcp nabízí následující funkce na vysoké úrovni:
- Zobrazuje indikátor průběhu kopírování s odhadovaným časem, aktuální rychlostí souboru atd.
- gcp pokračuje v kopírování, i když dojde k problému. Pouze přeskočí problémový soubor z kopírování a zkopíruje další soubory.
- Umí zkopírovat jeden nebo více souborů nebo složek.
- gcp zaznamenává všechny své akce. Můžeme tedy snadno zjistit, které soubory byly úspěšně zkopírovány.
- Pokud omylem zrušíte proces kopírování, bude o tom zachován záznam. Místo smazání obsahu ponechá částečně zkopírovaný obsah. Poté můžete znovu spustit proces kopírování a zkopíruje zbytek souborů tam, kde jste jej nechali.
- Pokud spustíte kopii, když je již spuštěna jiná, soubory se přidají do první fronty, takže pevný disk nebude neustále hýbat čtecí/zapisovací hlavou.
- Seznam zkopírovaných souborů můžete uložit a později je z tohoto seznamu zkopírovat znovu. Bude to velmi užitečné, když chcete zkopírovat stejné soubory do více cílů.
V tomto krátkém průvodci vám ukážu, jak nainstalovat a gcp v operačních systémech Linux a Unix.
Instalace gcp v systému Linux
gcp je k dispozici ve výchozích úložištích Debianu a Ubuntu. Instalaci můžete provést jednoduše spuštěním následujícího příkazu z Terminálu:
$ sudo apt-get install gcp
Pro Arch Linux a jeho deriváty je k dispozici v AUR. Můžete jej tedy nainstalovat pomocí libovolného pomocníka AUR, například Yay .
$ yay -S python-gcp-git
Poté nainstalujte python-progressbar balíček, který se používá k zobrazení ukazatele průběhu při kopírování souborů.
$ yay -S python-progressbar
gcp je k dispozici také na PyPI, můžete jej nainstalovat pomocí Správce balíčků Pip jako níže:
$ pip3 install gcp
A nakonec nainstalujte python-progressbar.
Debian/Ubuntu:
$ sudo apt-get install python-progressbar
Jak používat gcp, pokročilou kopírku souborů, v Linuxu
Použití gcp je v podstatě stejné jako u příkazu cp.
Typické použití gcp je:
gcp [OPTIONS] FILE DEST gcp [OPTIONS] FILE1 [FILE2...] DEST-DIR
Dovolte mi, abych vám ukázal několik praktických příkladů. Následující příkaz zkopíruje obsah Dir1 do adresáře s názvem Dir2 .
$ gcp Dir1/video.mp4 Dir2/
Ukázkový výstup:
Copying 876.53 MiB 100% |############################| 30.08 MB/s Time: 0:00:30
Jak vidíte ve výše uvedeném výstupu, příkaz gcp zobrazuje indikátor průběhu kopírování s odhadovaným časem, aktuální rychlostí souboru atd. Usnadní nám to najít, co se skutečně děje.
Chcete-li zkopírovat více souborů, stačí je zadat jeden po druhém a cílový adresář, jak je uvedeno níže.
$ gcp file1 file2 Dir
Chcete-li zkopírovat složku do jiné složky, použijte -r
příznak jako níže.
$ gcp -r Dir1/ Dir2/
Pokud nechcete vidět ukazatel průběhu, můžete jej deaktivovat pomocí --no-progress
vlajka.
$ gcp --no-progress source destination
Pokud cílová složka již obsahuje stejný soubor, zobrazí se následující varovná zpráva:
File [/home/sk/Dir2/video.mp4] already exists, skipping it ! /!\ THE FOLLOWING FILES WERE *NOT* SUCCESSFULY COPIED: - /home/sk/Dir1/video.mp4 -- Please check journal: /home/sk/.gcp/journal
Můžete ověřit soubor žurnálu, zda byl předchozí proces souboru úspěšně dokončen nebo ne.
$ cat /home/sk/.gcp/journal
Výstup:
/home/sk/Dir1/video.mp4 OK:
Pokud je výstup OK , proces kopírování je úspěšný. Pokud je výstup ČÁSTEČNÝ , Znamená to, že soubor byl zkopírován, ale něco se pokazilo (např. změna oprávnění souboru). SELHLA znamená - soubor nebyl zkopírován.
Další podrobnosti o nástroji gcp získáte spuštěním následujícího příkazu:
$ gcp --help
Nebo se podívejte na manuálové stránky.
$ man gcp
Aktualizace:
Ukazatel průběhu pro cp
a mv
příkazy lze snadno přidat pomocí opravy s názvem "Pokročilé kopírování" . Podrobnosti naleznete na následujícím odkazu.
Pokročilé kopírování – přidání ukazatele průběhu do příkazů cp a mv v systému Linux