GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak kopírovat soubory v Linuxu pomocí příkazu CP

Tento příspěvek je o příkazu Linux cp.

Kopírování souborů je jedním z nejběžnějších úkolů při manipulaci se soubory v jakémkoli operačním systému. Je dokonce velmi běžné používat na ploše zkratku CTRL + c pro kopírování a CTRL + v pro vkládání. V linuxovém terminálu je to však také poměrně jednoduchý úkol a k tomu používáme příkaz cp.

Příkaz cp pro Linux

Příkaz cp pouze zkopíruje jeden nebo více souborů nebo složek z jednoho umístění do druhého. Nicméně, jako každý příkaz Linuxu, jeho počáteční chování lze upravit díky použití voleb.

Podobně je příkaz cp nainstalován a připraven ve všech distribucích Linuxu, protože je součástí GNU utils. Stačí tedy otevřít emulátor terminálu a začít pracovat.

Příkaz Cp:základní syntaxe a možnosti

Použití příkazu cp je poměrně jednoduché, protože jeho funkce je také jednoduchá. Stejně jako všechny příkazy v rodině UNIX má základní syntaxi pro použití.

V případě příkazu cp je základní syntaxe následující:

cp [option]... source... directory

Kde zdroj odkazuje na soubor nebo složku, která bude zkopírována do cíle zvaného adresář.

Možnosti a některé základní informace o příkazu lze zobrazit pomocí následujícího příkazu:

:~$ cp --help

Tam uvidíte, že existuje několik různých možností. Nejdůležitější jsou následující:

Možnost Popis podle GNU utils
-a Zachovejte co nejvíce struktury a atributů původních souborů v kopii
-d Symbolické odkazy zkopírujte jako symbolické odkazy a nekopírujte soubory, na které odkazují, a zachovejte pevné odkazy mezi zdrojovými soubory v kopiích.
-f nebo –force Tato možnost vynutí kopírování, i když cílová složka není k dispozici pro zápis.
-i nebo –interactive Zobrazí zprávu pokaždé, když má být soubor přepsán.
-l Vytvářejte pevné odkazy namísto kopií neadresářů.
-R nebo -r nebo –rekurzivní Kopírujte adresáře rekurzivně. Ve výchozím nastavení nenásledujte symbolické odkazy ve zdroji.
-s nebo –symbolic-link V tomto případě příkaz vytvoří symbolické odkazy na všechny soubory, které nejsou složkami. Toto nahrazuje kopii.
-u nebo –update Tato možnost nekopíruje soubory, které mají v cílové složce stejné nebo novější časové razítko. Jedná se o aktualizaci kopie.
-v nebo –verbose Před zkopírováním si vytiskněte název každého souboru.

Nyní na několika příkladech předvedeme běžné použití příkazu cp v systému Linux.

Pomocí příkazu cp

Zkopírujte jeden nebo více souborů do složky

Začněme základy. Chcete-li zkopírovat soubor do určité složky, spustitelný příkaz je následující:

:~$ cp [file] [destination]

Například:

:~$ cp file.txt /home/user/Documents/

Výše uvedený příkaz zkopíruje soubor s názvem file.txt umístěný na stejném místě jako výzva ve složce Dokumenty.

Můžete také zkopírovat soubor, který je na jiném místě než výzva, pomocí absolutní cesty.

:~$ cp /home/user/Pictures/image.jpg /home/user/Documents

Pokud tedy chcete kopírovat několik souborů najednou, oddělte je mezerou.

:~$ cp file1.txt file2.txt /home/user/Downloads

Stále to můžete udělat s absolutními trasami.

:~$ cp /home/user/file1.txt /home/user/Pictures/file2.jpg /home/user/Downloads

Tak rychle můžete zkopírovat několik souborů.

Zkopírujte všechny soubory v adresáři do složky

Je také možné zkopírovat všechny soubory z jedné složky do druhé. Chcete-li to provést, použijte operátor hvězdička (*). Například:

:~$ cp * [destination]

Nebo

:~$ cp * /home/users/Documents/folder/

Ale pokud chcete zkopírovat všechny soubory, které mají stejnou příponu, můžete to udělat následujícím způsobem:

:~$ cp *.txt /home/users/Documents/folder/

To znamená, že všechny soubory .txt se zkopírují do složky.

Kopírování adresářů pomocí příkazu cp

Doposud jsme vás naučili kopírovat soubory, ale co kdybyste chtěli zkopírovat složku? No, způsobí to chybu.

Předpokládejme, že chcete zkopírovat složku s názvem „example“ do /home/angelo/Documents, což by způsobilo chybu cp s vynecháním adresáře
podobnou této:

Chcete-li zkopírovat složky pomocí příkazu cp, přidejte volbu -r. Například:

:~$ cp -r example/ /home/angelo/Documents/

Tím se zkopíruje celá složka do cílové složky.

Zálohujte soubory ke kopírování

Toto je velmi užitečná možnost. Při kopírování souborů je běžné, že je budete časem upravovat, ale vždy si můžete ponechat kopii originálu.

K vytvoření zálohy stačí použít následující příkaz:

:~$ cp -ab [file] [destination]

Samozřejmě můžete zadat požadovaný soubor a složku. Například:

:~$ cp -ab file2.txt /home/angelo/Documents/example/

V tomto případě používáme dvě možnosti současně. První je -a. explicitně zachází se souborem jako s tím, čím je, se souborem. A druhý, který je -b, je provést zálohu.

Příkaz udělá zálohu a přidá ~ na konec, pokud uděláme kopii podruhé. Toto bude původní soubor kopie.

:~$ ll /home/angelo/Documents/example

Před přepsáním souboru si vyžádejte potvrzení

Chcete-li se vyhnout možným chybám při zápisu do souboru, můžete použít volbu -i.

Při použití této možnosti budete požádáni o potvrzení před přepsáním souborů pro kopii. Chcete-li to provést, přidejte do příkazu volbu -i:

:~$ cp -i file2.txt /home/angelo/Documents/example/

Pamatujte, že varování se objeví pouze při přepisování. Pokud zkopírujete mnoho souborů, ale žádný se v cílovém umístění nenazve stejně jako jiný, nezobrazí se nic.

Vyhněte se přepisování souborů pomocí příkazu cp

Příkaz cp má možnost, která zabrání přepsání souborů v cílové složce během kopírování.

Chcete-li to provést, jednoduše přidejte volbu -n do příkazu cp:

:~$ cp -n file.txt [destination]

Tato možnost je užitečná, pokud již víte, že existují soubory, které jsou pojmenovány stejným způsobem, a chcete se vyhnout jejich přepsání. Na druhou stranu je to také užitečné, pokud nemáte ponětí, zda podobné soubory existují.

Vytvářejte kopie při zachování atributů souboru

V systémech založených na Unixu mají soubory specifické atributy. Pokud jej tedy zkopíruje nebo přesune jiný uživatel než ten, kdo jej vytvořil, existuje riziko úpravy hodnot těchto atributů. Některé z nich jsou datum úpravy a oprávnění k souboru.

Chcete-li se tomu vyhnout, přidejte do příkazu cp volbu -p.

:~$ cp -p [file] [destination]

Takto jednoduché je zachovat atributy během kopírování.

Aktualizace zálohy pomocí příkazu cp

Je možné použít příkaz cp k zálohování našich souborů na jiné místo, jako je externí paměť. Předpokládejme, že chcete zálohovat složku s hudbou do jiného umístění. Chcete-li to provést, použijte následující příkaz:

:~$ cp -r [music_folder] [destination]

Jak se však ukázalo, do této složky přidáváte nové soubory a chcete je znovu zálohovat. Můžete zabránit příkazu cp zkopírovat zpět soubory, které jste již zálohovali, a pouze zkopírovat ty, které nejsou v cílové složce.

Zní to dobře, že? K tomu používáme volbu -u nebo -update.

:~$ cp -ru [music_folder] [destination]

Zkrátka příkaz zkopíruje složku, ověří, které soubory ze zdrojové složky jsou v cílovém umístění. A nakonec zkopíruje pouze ty, které nejsou.

Chcete-li vidět celý proces, můžete také přidat volbu -v.

:~$ cp -ruv [music_folder] [destination]

Zálohu tedy můžete aktualizovat jednoduchým příkazem.

Poslední myšlenky

Příkaz cp je snadno použitelný příkaz, ale viděli jste, že s ním můžete dělat mnoho zajímavých věcí. Je součástí GNU utils, díky čemuž je dostupný pro všechny distribuce Linuxu.

Na druhou stranu, v tomto příspěvku jste se dozvěděli část toho, co lze s příkazem dělat. To je velmi užitečné v serverových prostředích, ale také k pronikání hlouběji a hlouběji do provozu operačního systému.


Ubuntu
  1. Jak přejmenovat soubory v Linuxu

  2. Jak používat příkaz Rsync v linuxu?

  3. Jak třídit soubory v Linuxu pomocí příkazu Sort

  1. Jak provést řádkové porovnání souborů v Linuxu pomocí příkazu diff - Část II

  2. Jak provádět řádkové porovnání souborů v Linuxu pomocí příkazu diff

  3. Jak vytvořit řídké soubory v Linuxu pomocí příkazu „dd“.

  1. Jak kopírovat soubory a adresáře v Linuxu

  2. Kopírování souborů a adresářů v Linuxu

  3. Jak restartovat Linux pomocí příkazového řádku