Android

Příkaz Cp v Linuxu (kopírování souborů)

Set Up C++ Development With Visual Studio Code on Windows 10 (VS Code)

Set Up C++ Development With Visual Studio Code on Windows 10 (VS Code)

Obsah:

Anonim

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

cp je obslužný program příkazového řádku pro kopírování souborů a adresářů v systémech Unix a Linux., vysvětlíme, jak používat příkaz cp .

Jak používat příkaz cp

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

cp SOURCE… DESTINATION

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

  • Pokud jsou argumenty SOURCE a DESTINATION oba soubory, příkaz cp zkopíruje první soubor do druhého. Pokud soubor neexistuje, příkaz jej vytvoří. Pokud má SOURCE jako argumenty více souborů nebo adresářů, musí být argument DESTINATION adresář. V této situaci jsou SOURCE soubory a adresáře přesunuty do adresáře DESTINATION argumenty SOURCE a DESTINATION jsou oba adresáře, příkaz cp 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í zápisu v cílovém adresáři. Jinak se zobrazí chyba odepření oprávnění.

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

Nejzákladnějším scénářem použití cp je zkopírování souboru do aktuálního pracovního adresáře. Například pro zkopírování souboru s názvem file.txt do file_backup.txt jste spustili 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 zadán pouze název adresáře, bude zkopírovaný soubor stejný jako původní soubor.

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

cp file.txt /backup

cp file.txt /backup/new_file.txt

Pokud cílový soubor existuje, je ve výchozím nastavení přepsán. Možnost -n říká, že cp nemá přepsat existující soubor.

Chcete-li vynutit, aby cp k potvrzení, použijte volbu -i .

cp -i file.txt file_backup.txt

cp -u file.txt file_backup.txt

Při kopírování souboru vlastní nový soubor uživatel, který příkaz spouští. Použijte volbu -p k zachování režimu souboru, vlastnictví a časových razítek:

cp -p file.txt file_backup.txt

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

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 volbu -R nebo -r .

V následujícím příkladu zkopírujeme adresář Pictures to 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 zdroje do cílového adresáře.

Pokud cílový adresář již existuje, zkopíruje se do cílového adresáře samotný zdrojový adresář a veškerý jeho obsah. Chcete-li zkopírovat pouze soubory a podadresáře, ale nikoli cílový adresář, použijte volbu -T :

cp -RT Pictures Pictures_backup

Dalším způsobem, jak zkopírovat pouze obsah adresáře, ale nikoli samotný adresář, 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 použít také při kopírování adresářů. Hlavní rozdíl spočívá v tom, že při kopírování adresářů. vždy musíte použít volbu -R .

Kopírování více souborů a adresářů

Chcete-li kopírovat více souborů a adresářů najednou, zadejte jejich jména 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í příkazu cp je jednoduchý úkol. Informace o všech dostupných možnostech cp zadejte do svého terminálu man cp .

Chcete-li kopírovat soubory v síti, použijte obslužné programy rsync a scp .

terminál cp