'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
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 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
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
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
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
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/
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/
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/
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ů.