logo

Jak kopírovat soubory a adresáře v Linuxu | Příkaz cp

Ve světě linuxových počítačů je běžnou a důležitou prací kopírování souborů. Klíčovým nástrojem pro tento úkol je příkaz cp. V tomto jednoduchém průvodci prozkoumáme, jak zkopírovat soubor v Linuxu, podíváme se na základní kroky, různé možnosti, které můžete udělat, a uvedeme jasné příklady. Nahlédneme také do zákulisí, abychom pochopili, jak příkaz cp funguje. Začněme na této snadné cestě, abychom se seznámili s výhodami a nevýhodami kopírování souborů v Linuxu!

Obsah



Syntaxe příkazu cp

Základní syntaxe pro kopírování souboru pomocícp>příkaz je následující:

cp source_file destination >

Tento příkaz vytvoří kopii souboru ` source_file`> na zadaném ` destination`> . Pokud je cílem a adresář , soubor se zkopíruje do tohoto adresáře.

Jak kopírovat soubory v Linuxu pomocícp>Příkaz

' cp`> command je všestranný nástroj používaný v operačních systémech podobných Unixu pro kopírování souborů a adresářů. Nabízí tři hlavní režimy provozu, z nichž každý slouží jiným účelům.



1. Kopírování mezi dvěma soubory v Linuxu

Pokud ` cp`> obsahuje dva názvy souborů, zkopíruje obsah prvního souboru do druhého souboru. Pokud druhý soubor neexistuje, vytvoří se a obsah se do něj zkopíruje. Pokud však druhý soubor již existuje, bude bez varování přepsán.

náhodné číslo c kód
cp Src_file Dest_file >
  • Pokud ` Dest_file`> neexistuje, je vytvořen.
  • Pokud ` Dest_file`> již existuje, je bez varování přepsán.

Příklad 1:

  • Zpočátku existuje pouze jeden soubor (` a.txt`> ) v adresáři.
  • ' cp`> příkaz se používá ke zkopírování obsahu ` a.txt`> na ` b.txt`> .
  • Po provedení příkazu oba ` a.txt`> a nově vytvořené ` b.txt`> koexistovat v adresáři.
cp a.txt b.txt>
Zkopírujte soubor v Linuxu

zkopírujte soubor v Linuxu



Použili jsme ` ls ` k zobrazení všech souborů v aktuálním adresáři.

Příklad 2:

  • Zpočátku existují dva soubory (` a.txt`> a ' c.txt`> ) v adresáři.
  • ' cp`> příkaz se používá ke zkopírování obsahu ` a.txt`> na ` c.txt`> .
  • Po provedení příkazu se obsah ` c.txt`> je přepsán obsahem ` a.txt`.>
cp a.txt c.txt>
Zkopírujte soubor v Linuxu

Zkopírujte soubor v Linuxu

Použili jsme ` ls ` příkaz k zobrazení všech souborů v aktuálním adresáři a použitých ` kočka `příkaz k zobrazení obsahu v textovém souboru.

2. Zkopírujte soubory do adresáře v Linuxu

Kdyžcp>má jeden nebo více argumentů zdrojového souboru a je následován argumentem cílového adresáře, zkopíruje každý zdrojový soubor do cílového adresáře se stejným názvem. Pokud cílový adresář neexistuje, je vytvořen. Pokud již existuje, soubory jsou bez varování přepsány.

cp Src_file1 Src_file2 Src_file3 Dest_directory>

Příklad:

Předpokládejme, že musíme zkopírovat tři názvy souborů a.txt , b.txt a c.txt na název adresáře Nový

cp a.txt b.txt c.txt new/>
Zkopírujte více souborů do jiného adresáře

Zkopírujte více souborů do jiného adresáře

Použili jsme ` ls ` příkaz k zobrazení celého souboru v novém adresáři pro potvrzení úspěšné kopie souboru v tomto adresáři.

3. Jak kopírovat adresáře v Linuxu

V tomto režimu, pokud jecp>obsahuje dva názvy adresářů, zkopíruje všechny soubory ze zdrojového adresáře do cílového adresáře. ' -R`> volba se obvykle používá k označení rekurzivního kopírování adresářů.

cp -R Src_directory Dest_directory>
kopírování souborů mezi dvěma adresáři

kopírování souborů mezi dvěma adresáři

Chování závisí na tom, zda ` Dest_directory`> existuje nebo ne. Pokud neexistuje, ' cp`> vytvoří jej a zkopíruje obsah ` Src_directory`> rekurzivně. Pokud ` Dest_directory`> existuje, kopie ` Src_directory`> se stane podadresářem pod ` Dest_directory`>

Možnosti dostupné v cp Command v Linuxu

Existuje mnoho možností cp příkaz, zde probereme některé užitečné možnosti:

Volba Detail
-i

Interaktivní kopírování s varováním před přepsáním cílového souboru.

-b

Vytvoří zálohu cílového souboru ve stejné složce s jiným názvem a formátem.

-F

Vynutí kopírování, i když uživatel nemá oprávnění k zápisu; v případě potřeby smaže cílový soubor.

-r nebo -R

Rekurzivně kopíruje strukturu adresářů.

-p

Zachovává vlastnosti souboru (čas úpravy, čas přístupu, vlastnictví, bity oprávnění).

`*`

Používá zástupný znak * k reprezentaci všech souborů a adresářů odpovídajících vzoru.

1. Zkopírujte soubor v Linuxu pomocí volby `-i`

-i(interaktivní): i znamená interaktivní kopírování. S touto volbou systém nejprve varuje uživatele před přepsáním cílového souboru. cp vyzve k odpovědi, pokud stisknete a pak soubor přepíše a při jakékoli jiné možnosti jej ponechá nezkopírovaný.

webový ovladač

Základní syntaxe:

cp -i [Source_file] [Destination_file]>

Příklad:

cp -i a.txt b.txt>
Zkopírujte soubor v Linuxu pomocí `-i`

Zkopírujte soubor v Linuxu pomocí `-i`

Tady,

  • `ls`> příkaz zobrazí existující soubory: ` a.txt`> a ' b.txt`> .
  • `cat a.txt`> zobrazí obsah ` a.txt`> .
  • `cat b.txt`> zobrazí obsah ` b.txt`> .
  • `cp -i a.txt b.txt`> spustí interaktivní kopii.
  • Systém vyzve k potvrzení přepsání ` b.txt`> .
  • Uživatel odpoví „y“ pro potvrzení.
  • `cat b.txt`> zobrazuje aktualizovaný obsah, který nyní odpovídá ` a.txt`> .

2. Zkopírujte soubor v Linuxu pomocí volby `-f`

-f(síla): Pokud systém nemůže otevřít cílový soubor pro operaci zápisu, protože uživatel nemá oprávnění k zápisu pro tento soubor, použijte -F možnost s cp je nejprve smazán cílový soubor a poté je provedeno kopírování obsahu ze zdrojového do cílového souboru.

Základní syntaxe:

cp -f [Source_file] [Destination_file]>

Příklad:

cp -f a.txt b.txt>
Zkopírujte soubor v Linuxu pomocí `-f`

Zkopírujte soubor v Linuxu pomocí `-f`

Tady,

  • `ls`> příkaz zobrazí existující soubory: ` a.txt`> a ' b.txt`> .
  • `cat a.txt`> zobrazí obsah ` a.txt`> .
  • `cat b.txt`> zobrazí obsah ` b.txt`> .
  • `cp -f a.txt b.txt`> iniciuje násilnou kopii.
  • Cílový soubor (b.txt) je přepsán bez výzvy.
  • `cat b.txt`> zobrazuje aktualizovaný obsah, který nyní odpovídá ` a.txt`> .

3. Zkopírujte soubor v Linuxu pomocí volby `-r` nebo `-R`

Rekurzivní kopírování adresářové struktury. S touto možností cp příkaz ukazuje své rekurzivní chování tím, že rekurzivně zkopíruje celou adresářovou strukturu.

Základní syntaxe:

cp -r [Directory_name1] [Directory_name2]>

Příklad:

cp -r geeksforgeeks gfg>

4. Zkopírujte soubor v Linuxu pomocí volby `-p`

-p (zachovat): S -p volba cp zachová následující charakteristiky každého zdrojového souboru v odpovídajícím cílovém souboru: čas poslední úpravy dat a čas posledního přístupu, vlastnictví (pouze v případě, že k tomu má oprávnění) a bity oprávnění souboru.

Poznámka: Pro zachování vlastností musíte být uživatel root systému, jinak se charakteristiky změní.

Základní syntaxe:

cp -p [Source_file] [Destination_file]>

Příklad:

cp -p a.txt c.txt>

5. Zkopírujte soubor v Linuxu pomocí možnosti `*`

Kopírování pomocí * zástupných znaků: Zástupný znak hvězdička představuje cokoli, tj. všechny soubory a adresáře. Předpokládejme, že máme v adresáři mnoho textových dokumentů a chceme je zkopírovat do jiného adresáře, zabere to spoustu času, pokud kopírujeme soubory 1 po 1 nebo příkaz bude příliš dlouhý, pokud zadáte všechny tyto názvy souborů jako argument, ale pomocí zástupného znaku * stává se to jednoduchým.

Základní syntaxe:

cp *.txt [Destination Directory or file]>

Příklad:

cp *.txt Folder1>
Zkopírujte soubor v Linuxu pomocí `*`

Zkopírujte soubor v Linuxu pomocí `*`

Závěr

The 'cp'. příkaz je základní nástroj, který se používá pro kopírování souborů nebo skupin souborů a adresářů v operačních systémech typu Unix. Pokud mluvíme o jeho syntaxi, bere jako argument alespoň dva názvy souborů (zdroj a cíl). Jak již bylo zmíněno, příkaz má tři principy: kopírování dvou jmen souborů, kopírování jednoho nebo více argumentů a kopírování dvou jmen adresářů. Pak se také zmíníme o několika možnostech dostupných při používání 'cp'. příkaz: '-i'. , '-b'. , '-f , `-r` , `-p` . Chcete-li pracovat s easy v unixovém shellu pro správu souborů, měli byste znát správné fungování 'cp'. příkaz.