Příkaz cp pro Linux
Linuxový příkaz cp je zkratkou pro příkaz copy. Příkaz cp pomáhá s rychlým kopírováním souborů i adresářů. Toto je široce používaný příkaz a přichází s několika možnostmi, které splňují základní i složitější požadavky na kopírování.
Znalost příkazu Linux cp je základní dovedností vaší sady nástrojů Linux. Pokud pracujete v Cyber Security, jako DevOps nebo Linux Admin, pravděpodobně budete tento příkaz používat denně. Ukážu vám nejdůležitější příkazy.
Nejprve zkontrolujeme Linux cp syntaxi příkazu a poté se podívejte na různé možné možnosti.
Základní syntaxe příkazu cp systému Linux
Chcete-li použít tento příkaz, musíte zadat zdroj a cíl, kam se zdroj zkopíruje do cíle.
cp [options] source destination
Zkopírujte soubor ve stejném adresáři do nového souboru s novým názvem
Sample.txt můžete zkopírovat do Sample_copy.txt pomocí níže uvedeného příkazu:
cp Sample.txt Sample_copy.txt
Zkopírujte soubor z aktuálního adresáře do jiného adresáře:
Z aktuálního adresáře můžete kopírovat soubory do jiného adresáře /tmp, jak je ukázáno níže:
cp Sample.txt /tmp
Zkopírujte soubor do jiného adresáře s novým názvem souboru pomocí příkazu Linux cp:
Ve výše uvedeném příkladu je Sample.txt zkopírován do jiného adresáře se stejným názvem. Stejný příkaz však lze upravit tak, aby zkopíroval soubor do nového adresáře a dal nový název souboru. Jeden takový příklad je uveden níže:
cp Sample.txt /tmp/Sample_copy.txt
Zde tento příkaz Linux cp vytvoří nový soubor Sample_copy.txt se stejným obsahem jako Sample.txt.
Možnosti cp Linuxu
Pro příkaz Linux cp je k dispozici několik možností. Seznam těchto možností můžete zkontrolovat na manuálových stránkách. To lze provést pomocí níže uvedeného takzvaného příkazu man.
man cp
Jako součást výstupu uvidíte kompletní seznam ručního zadání příkazu cp, jak je ukázáno níže:
V případě, že chcete pouze zobrazit možnosti, můžete také použít níže uvedený příkaz:
cp – help
Výstup, jak je ukázán níže, poskytne všechny relevantní možnosti pro příkaz Linux cp.
Verzi pro příkaz cp lze zkontrolovat pomocí níže uvedeného příkazu:
cp – version
Některé z běžně používaných možností jsou:
- -f Toto se používá pro vynucené kopírování a odstraňuje cílový soubor v případě, že soubor již existuje
- - i Používá se pro interaktivní kopírování. Před přepsáním se zobrazí výzva.
- -n Tato možnost neumožňuje přepsání souborů
- -v Během kopírování se tak vytisknou informativní zprávy
- -u To znamená aktualizaci a kopírování pouze v případě, že je zdrojový soubor novější než cíl
- -R To znamená rekurzivní kopii. Zahrnuje také skryté soubory ke kopírování
- -s místo kopírování vytvořte symbolický odkaz na soubor.
- -l Místo kopírování souborů propojujte soubory
- -p Při kopírování zachovejte atributy souboru. To může zachovat časové razítko modifikace, čas přístupu, režim souboru, příznaky souboru, ID uživatele a ID skupiny
- -b Tato možnost vytvoří před kopírováním zálohu souboru.
V jednom příkazu kopírování můžete použít více možností. Jeden takový příklad je uveden níže:
cp -vi /tmp/linux_cp /home/usr/linux_copy
Kopírování více souborů
Místo jednoho souboru můžete také povolit kopírování více souborů do určitého umístění. V níže uvedeném příkladu jsou dva soubory Sample.txt a Sample_copy.txt zkopírovány do umístění /tmp
cp -vi /tmp/linux_cp /home/usr/linux_copy
Podobně můžete přidat další soubory ke zkopírování do konkrétního umístění adresáře.
Kopírování více souborů se stejnou příponou
Linuxový příkaz cp umožňuje rychle zkopírovat všechny soubory se stejnou příponou pomocí jediného příkazu. V případě, že potřebujete zkopírovat všechny soubory .sh do jednoho adresáře /tmp, můžete použít příkaz, jak je uvedeno níže:
cp *.sh /tmp
Podobně můžete zkopírovat jakoukoli jinou příponu souboru. V případě, že máte vzor souborů ke kopírování, jako je Sample_1.sh, Sample_22.sh, Sample_32.sh, můžete kopii sloučit do jednoho příkazu, jak je uvedeno níže:
cp Sample*.sh /tmp
Kopírování jednoho adresáře
Jeden adresář lze zkopírovat přímo pomocí příkazu cp. V případě, že chcete zkopírovat testovací adresář do adresáře /home/usr/linux_cp, můžete použít následující příkaz:
cp test /home/usr/linux_cp
Zkopírujte všechny soubory z aktuálního adresáře
Chcete-li zkopírovat všechny soubory z aktuálního pracovního adresáře do nového adresáře, můžete zkusit:
cp * /home/usr/linux_cp
Rekurzivní kopie adresářů a podadresářů
Chcete-li rekurzivně zkopírovat všechny adresáře a soubory přítomné v adresáři, musíte při použití příkazu cp použít volbu -R. V případě, že chcete zkopírovat adresář tmp do adresáře linux_cp, můžete použít následující příkaz:
cp -R tmp linux_cp
V případě, že potřebujete ukázat na jiné umístění adresáře, můžete také zadat absolutní cestu k adresáři ve výše uvedeném příkazu Linux cp.
Zkopírujte všechny soubory z jednoho adresáře do jiného adresáře
Chcete-li zkopírovat všechny soubory z jednoho adresáře do jiného adresáře, budete muset použít volbu -R k rekurzivnímu zkopírování všech souborů. Příklad takového příkazu kopírování je uveden níže:
cp -R /tmp/linux_cp/* /home/usr/linux_copy
Tento příkaz Linux cp zkopíruje všechny soubory a adresáře z /tmp/linux_cp do /home/usr/linux_copy
Závěr
Příkazy kopírování Linuxu jsou široce používány při práci na shellu. Linuxový příkaz cp lze použít k rychlému kopírování velkých adresářů, souborů a zachování kompletní adresářové struktury. Kromě toho příkazy Linux cp podporují více možností, jak jste viděli výše. Znalost příkazu Linux cp je základní dovedností ve vašem linuxovém reportoáru.