logo

cp Command v Linuxu/Unixu | Linux Kopírovat soubor

'cp' znamená kopie. Příkaz 'cp' se používá ke kopírování souboru nebo adresáře.

Úvod do cp Command

Příkaz cp se používá ke kopírování adresářů a souborů. Příkaz obsahuje tři primární provozní režimy reprezentované typy argumentů zobrazenými programu pro zkopírování souboru do jiných souborů, více souborů do libovolného adresáře nebo pro zkopírování celých adresářů do jiných adresářů.

Dále obslužný program přijímá několik příznaků voleb příkazového řádku pro podrobný popis implementovaných operací. Dvě primární specifikace jsou GNU cp a POSIX cp. GNU cp obsahuje různé další možnosti na verzi POSIX. Příkaz je také dostupný v prostředí EFI.

Provozní režimy příkazu cp

Příkaz cp obsahuje tři primární provozní režimy. Tyto režimy jsou dokončeny z počtu a typu argumentů zobrazených vyvolávanému programu.

  • Program může zkopírovat obsah prvního souboru do druhého souboru, takže druhý soubor je nezbytný, pokud program obsahuje dva argumenty názvu cesty k souborům.
  • Program může zkopírovat všechny zdrojové soubory do požadovaného adresáře, takže jakýkoli soubor již není dostupný, pokud program obsahuje jeden nebo více argumentů názvu cesty k souborům, a tyto argumenty použije jako argument cesty k adresáři.
  • Příkaz cp může zkopírovat každý soubor ve zdrojovém adresáři do požadovaného adresáře, takže jsou vyžadovány všechny adresáře nebo soubory, pokud jsou argumenty programu názvy cest pro dva adresáře. Tento provozní režim potřebuje příznak navíc, aby reprezentoval kopírování rekurzivního adresáře. Zdroj bude zkopírován do cíle, zatímco nový adresář se vytvoří, pokud cíl neexistuje, pokud je cílový adresář již dostupný.

Možnosti příkazu cp

Volba Popis
--archiv, -a Je ekvivalentní k -dR --preserve=all.
--pouze atributy Nekopíruje data souboru, pouze atributy.
-b Je to jako záloha, ale nepřijímá žádný argument.
--backup[=CONTROL] Vytvoří zálohu všech existujících cílových souborů.
--kopírovat-obsah Když je rekurzivní, kopíruje speciální obsah souboru.
-d Je ekvivalentní k --no-dereference --preserve=links.
-- síla, -f Pokud některý existující cílový soubor nelze otevřít, odstraňte jej a zkuste to znovu (této možnosti se vyhnete, pokud je použit také parametr -n).
--interaktivní, -i Před přepsáním požádá o potvrzení (přepíše předchozí parametr -n).
-H V SOURCE následuje symbolické odkazy příkazového řádku.
--odkaz, -l Spíše než kopírování určuje soubory pevných odkazů.
--dereference, -L Ve SOURCE vždy následuje po symbolických odkazech.
--ne-clobber, -n Nepřepíše žádný existující soubor (přepíše parametr -i).
--bez dereference, -P Ve SOURCE nikdy nesleduje symbolické odkazy.
-p Je ekvivalentní k --preserve=režim, časová razítka, vlastnictví.
--zachovat[=ATTR_LIST] Zachovává popsané atributy. Pokud je to možné, další atributy: all, xattr, links, context.
--no-preserve=ATTR_LIST Nezachovává popsané atributy.
--rodiče V adresáři používá úplný název zdrojového souboru.
--rekurzivní, -r, -R Rekurzivně kopíruje adresáře.
--reflink[=KDY] Řídí kopie CoW/klonů.
--remove-destination Odstraní všechny existující cílové soubory, než se je pokusí otevřít (na rozdíl od --force).
--sparse=KDY Řídí zakládání řídkých souborů.
--string-trailing-slashes Odebere koncová lomítka ze všech argumentů SOURCE.
--symbolický-odkaz, -s Spíše než kopírování vytváří symbolické odkazy.
--přípona=PŘÍPONA, -S Přepíše běžnou záložní příponu.
--cílový-adresář=ADRESÁŘ, -t Zkopíruje každý argument SOURCE do DIRECTORY.
--no-target-directory, -T DEST považuje za obecný soubor.
--aktualizace, -u Zkopíruje se, pokud je SOURCE soubor ve srovnání s cílovým souborem novější nebo pokud cílový soubor není zadán.
--verbose, -v Upřesňuje, co se dělá.
--one-file-system, -x Zůstává v systému souborů.
-S Nastaví kontext zabezpečení SELinux cílového souboru na výchozí typ.
--context[=CTX] Je to stejné jako -Z, nebo pokud je zmíněno CTX, nastaví bezpečnostní kontext SMACK nebo SELinux na CTX.
--Pomoc Zobrazí nabídku nápovědy a ukončí se.
--verze Poskytuje podrobnosti o verzi a ukončení.

Řídké soubory SOURCE jsou nalezeny pomocí levné heuristiky a související soubor DESR je ve výchozím nastavení vytvořen jako řídký. Je to chování zvolené --sparse=auto . Můžeme popsat --sparse=vždy vytvořit řídký soubor DEST, pokud soubor SOURCE obsahuje dostatečně dlouhé pořadí nula bajtů. Můžeme se také přihlásit --sparse=nikdy omezit vytváření řídkých souborů.

Li --reflink[=vždy] je uvedeno, implementujte odlehčenou kopii, ve které byly datové bloky zkopírovány pouze v případě, že byly změněny. Pokud to není možné, resp --reflink=auto je zmíněno, kopie selže a vrátí se zpět ke standardní kopii. Můžeme se také přihlásit --reflink=nikdy aby byla zaručena implementace standardní kopie.

Chcete-li zkopírovat soubor do stejného adresáře, bude syntaxe

 cp 

Linux Soubor cp

Ve výše uvedeném snímku jsme vytvořili kopii 'docu' a pojmenoval to jako 'Nový' . Pokud v případě, (v našem případě je to 'newdocu') již existuje, pak jednoduše přepíše dřívější soubor.

Chcete-li zkopírovat soubor do jiného adresáře

Musíme zmínit cestu k cílovému adresáři.

je kat timpf právnička

Na snímku níže dříve není žádný „textový“ soubor. Po zadání příkazu, 'text' soubor byl zkopírován do cílového adresáře, tj 'Plocha počítače' .

Linux Soubor cp

Linux cp -r

Volba 'r' pomocí příkazu copy lze zkopírovat adresář včetně veškerého jeho obsahu ze zdrojového adresáře do cílového adresáře.

Syntax:

 cp -r 

Příklad:

 cp -r library /home/sssit/Documents 

linux cp -r

Ve výše uvedeném příkladu jsme zkopírovali adresář 'knihovna' do cílového adresáře /home/sssit/Dokumenty . Zde byl veškerý obsah adresáře 'library' včetně jeho obsahu zkopírován do cílového adresáře.

Linux Kopírování více souborů nebo adresářů

Do cílového adresáře lze zkopírovat více souborů nebo adresářů najednou. V tomto případě musí být cílem adresář. Ke kopírování více souborů můžete použít zástupné znaky (cp *.přípona) se stejným vzorem.

Syntax:

 cp *. 

Příklad:

 cp *.txt /home/sssit/Documents 

Linux zkopíruje více souborů

Ve výše uvedeném příkladu jsme zkopírovali soubory (soubor1, soubor2, soubor3) se stejnou příponou '.txt' do adresáře Dokumenty.

Linux cp --záloha

Pokud soubor, který chcete zkopírovat, již existuje v cílovém adresáři, můžete pomocí tohoto příkazu zálohovat stávající soubor.

Syntax:

jak zjistit, zda vás někdo zablokoval na Androidu
 cp --backup 

Příklad:

 cp --backup file2.txt /home/sssit/Downloads 

Záloha cp souborů Linux

Jak můžete vidět výše, 'file2.txt' již existuje v cílovém adresáři. Proto jsme vytvořili zálohu tohoto souboru a zkopírovali jej do stejného adresáře (se stejným názvem).

Nyní má náš cílový adresář 'Downloads' dva soubory se stejným názvem (to je 'file2.txt').

Linux cp -i

Volba cp '-i' vám ​​umožňuje jednou potvrdit před přepsáním souboru.

poslouchat port

Syntax:

 cp -i 

Příklad:

 cp -i file3.txt /home/sssit/Desktop 

Linux cp -i

Jak vidíte, žádá o povolení k přepsání souboru 'file3.txt' protože tento soubor již v cílovém adresáři existuje. Nyní můžete stisknout a přepsat soubor a n aby nedošlo k přepsání souboru.

Linux cp -l

Pokud chcete vytvořit pevný odkaz na soubor namísto kopírování tohoto souboru, můžete použít volbu 'l'.

Poznámka: Při vytváření pevného odkazu na soubor zůstane číslo inodu obou souborů stejné. Zatímco v případě kopírování se číslo inodu změní.

Syntax:

 cp -l 

Příklad:

 cp -l file1.txt usr/ 

Linux soubor cp -l

Všimněte si, že jsme vytvořili pevný odkaz na soubor 'file1.txt' v 'usr' . Číslo inodu obou souborů je stejné.

Linux cp -p

Volba cp '-p' se používá k zachování vlastností a atributů souboru. Můžete také zachovat vybrané vlastnosti, které chcete.

Syntax:

 cp -p 

Příklad:

 cp -p file2.txt usr/ 

Linux cp -p

Nyní můžete porovnat dva soubory (původní a zkopírovaný) na obrázku výše, oba mají stejné vlastnosti.

Linux cp -u -v

Příkaz cp -u -v se používá, když se chcete ujistit, že cílový soubor chybí nebo neexistuje.

Syntax:

přejmenování adresáře linux
 cp -u -v 

Příklad:

 cp -u -v docc file1.txt /home/sssit/Downloads/ 

Linux cp -u -v

Na obrázku výše můžete vidět, že existují dva soubory 'sprcha' a 'file1.txt' . Nyní chceme zkopírovat tyto dva soubory do adresáře 'Download'. Ale nevíme, že v adresáři 'Downloads' soubor 'file1.txt' již existuje.

Vydávání příkazu 'cp -u -v' se automaticky postará o již existující soubor (soubor1.txt) a nepřepíše jej.

Tento příkaz je užitečný při kopírování velkých souborů.