GNU/Linux >> Znalost Linux >  >> Linux

Cp Command v Linuxu (Kopírovat soubory)

Při práci na systémech Linux a Unix je kopírování souborů a adresářů jedním z nejběžnějších úkolů, které budete denně provádět.

cp je nástroj příkazového řádku pro kopírování souborů a adresářů v systémech Unix a Linux.

V tomto článku vysvětlíme, jak používat cp příkaz.

Jak používat cp příkaz #

Obecná syntaxe pro cp příkaz je následující:

cp [OPTIONS] SOURCE... DESTINATION

SOURCE může obsahovat jeden nebo více souborů nebo adresářů jako argumenty a DESTINATION argument může být jeden soubor nebo adresář.

  • Když je SOURCE a DESTINATION argumenty jsou oba soubory, cp příkaz zkopíruje první soubor do druhého. Pokud soubor neexistuje, příkaz jej vytvoří.
  • Když je SOURCE má jako argumenty více souborů nebo adresářů, DESTINATION argument musí být adresář. V této situaci SOURCE soubory a adresáře se přesunou do DESTINATION adresář.
  • Když je SOURCE a DESTINATION argumenty jsou oba adresáře, cp příkaz zkopíruje první adresář do druhého.

Chcete-li kopírovat soubory a adresáře, musíte mít alespoň oprávnění ke čtení zdrojového souboru a oprávnění k zápisu do cílového adresáře. V opačném případě se zobrazí chyba oprávnění odepřeno.

Kopírování souborů pomocí příkazu cp #

Nejzákladnější scénář použití cp je zkopírovat soubor v aktuálním pracovním adresáři. Chcete-li například zkopírovat soubor s názvem file.txt do file_backup.txt , spustíte následující příkaz:

cp file file_backup

nebo:

cp file{,_backup}

Chcete-li zkopírovat soubor do jiného adresáře, zadejte absolutní nebo relativní cestu k cílovému adresáři.

Pokud je jako cíl určen pouze název adresáře, zkopírovaný soubor má stejný název jako původní soubor.

V následujícím příkladu kopírujeme soubor file.txt do /backup adresář:

cp file.txt /backup

Pokud chcete soubor zkopírovat pod jiným názvem, musíte zadat požadovaný název souboru. Níže uvedený příkaz zkopíruje soubor do zadaného adresáře jako new_file.txt .

cp file.txt /backup/new_file.txt

Ve výchozím nastavení, pokud cílový soubor existuje, je přepsán. -n volba říká cp nepřepisovat existující soubor.

Chcete-li vynutit cp k zobrazení výzvy k potvrzení použijte -i možnost.

cp -i file.txt file_backup.txt

Pokud chcete zkopírovat soubor pouze v případě, že je novější než cíl, vyvolejte příkaz s -u možnost:

cp -u file.txt file_backup.txt

Při kopírování souboru je nový soubor ve vlastnictví uživatele spouštějícího příkaz. Použijte -p možnost zachovat režim souboru, vlastnictví a časová razítka:

cp -p file.txt file_backup.txt

Další možností, která může být užitečná, je -v , který říká cp pro tisk podrobného výstupu:

cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'

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

Chcete-li zkopírovat adresář, včetně všech jeho souborů a podadresářů, použijte -R nebo -r možnost.

V následujícím příkladu kopírujeme adresář Pictures do Pictures_backup :

cp -R Pictures Pictures_backup

Výše uvedený příkaz vytvoří cílový adresář a rekurzivně zkopíruje všechny soubory a podadresáře ze zdrojového do cílového adresáře.

Pokud cílový adresář již existuje, samotný zdrojový adresář a jeho obsah se zkopírují do cílového adresáře.

Chcete-li zkopírovat pouze soubory a podadresáře, ale nikoli zdrojový adresář, použijte -T možnost:

cp -RT Pictures Pictures_backup

Dalším způsobem, jak zkopírovat pouze obsah adresáře, ale ne adresář samotný, je použít zástupný znak (* ). Nevýhodou následujícího příkazu je, že nekopíruje skryté soubory a adresáře (ty začínající tečkou . ):

cp -RT Pictures/* Pictures_backup/

Všechny možnosti, které jsme použili v předchozí části při kopírování souborů, lze využít i při kopírování adresářů. Hlavní rozdíl je v tom, že při kopírování adresářů musíte vždy použít -R možnost.

Kopírovat více souborů a adresářů #

Chcete-li zkopírovat více souborů a adresářů najednou, zadejte jejich názvy a jako poslední argument použijte cílový adresář:

cp file.txt dir file1.txt  dir1

Při kopírování více souborů musí být cílem adresář.

Závěr č.

Kopírování souborů a adresářů pomocí cp příkaz je jednoduchý úkol. Další informace o dostupných cp možnosti, zadejte man cp ve vašem terminálu.

Chcete-li kopírovat soubory přes síť, použijte rsync a scp nástroje.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Zkopírujte soubory v terminálu Linux

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

  3. Linuxový příkaz cp

  1. Kopírování souborů v Linuxu

  2. Jak zkopírovat soubor do více adresářů v Linuxu

  3. Linux Tail Command

  1. Linux Touch Command

  2. Cat Command v Linuxu

  3. Příkaz souboru Linux