Spustili jsme příkazy a příklady uvedené v tomto článku na systému Debian 10 Buster, ale můžete je replikovat téměř na všech linuxových distribucích.
Příkazový řádek Linuxu, terminál, je snadno přístupný prostřednictvím aplikace. Vyhledávání spouštěče následujícím způsobem:
Příklad 1: Kopírování jednoho souboru do cílového adresáře
Nejjednodušší použití příkazu cp je zkopírovat jeden zdrojový soubor do cílového adresáře. Zde je syntaxe, kterou k tomu můžete použít:
$ cp zdrojový soubor / cíl / adresářPříklad:
V tomto příkladu kopíruji soubor s názvem sample_file.txt do složky Dokumenty:
Později jsem pomocí příkazu ls ověřil přítomnost souboru v cílové složce.
Příklad 2: Kopírování více souborů do cílového adresáře
Pomocí příkazu cp můžete zkopírovat více souborů do cílového adresáře pomocí následující syntaxe:
$ cp sourcefile1 sourcefile2 sourcefile3… / target / adresářPříklad:
V tomto příkladu kopíruji dva ukázkové soubory do složky Dokumenty pomocí příkazu cp:
Později jsem pomocí příkazu ls ověřil přítomnost těchto souborů v cílové složce.
Příklad 3: Interaktivní kopírování souborů
Pokud v cílové složce existuje soubor se stejným názvem, můžete pomocí příkazu cp před přepsáním cílového souboru zobrazit výzvu. Přepínač -i můžete použít následujícím způsobem:
$ cp -i zdrojový soubor / cíl / adresářPříklad:
V tomto příkladu soubor s názvem sample_file.txt již ve složce Documents existuje, proto mě příkaz cp s příznakem -i vyzve, pokud jej chci přepsat. Soubor se přepíše, pokud na tuto výzvu zadám y.
Příklad 4: Kopírování souborů spolu s výstupem Verbose
Podrobný výstup vytiskne, co příkaz dělá. To lze začlenit do příkazu cp s přepínačem -v následujícím způsobem:
$ cp -v zdrojový soubor / cíl / adresářPříklad:
V následujícím příkladu můžete vidět, jak příkaz cp vytiskne podrobný výstup při kopírování příkazu:
Příklad 5: Rekurzivní kopírování adresáře
Použití volby -r s příkazem cp rekurzivně zkopíruje všechny soubory a složky v adresáři do jiného umístění. Takto můžete použít příkaz cp v tomto scénáři:
$ cp -r adresář1 adresář2Příklad:
V následujícím příkladu bude celá složka 1 se všemi jejími soubory zkopírována do složky2.
Později jsem ověřil obsah složky2 pomocí příkazu ls. Složka2 nyní obsahuje kopii zdrojové složky.
Příklad 6: Rekurzivní kopírování adresáře při zachování archivu
Pomocí přepínače -a s příkazem cp můžete dělat dvě věci najednou:
- Zkopírujte soubory adresáře rekurzivně do jiného adresáře
- Při kopírování souborů udržujte neporušená oprávnění, časové razítko, symbolické odkazy a všechny tyto vlastnosti.
Takto můžete použít příkaz cp v tomto scénáři:
$ cp -a adresář1 adresář2Příklad:
V následujícím příkladu bude celá celá složka 1 se všemi jejími soubory zkopírována do složky2. Soubory budou také archivovány jako ověřené později pomocí příkazu 'ls -l'.
Příklad 7: Zkopírujte soubor, pokud je novější než cílový soubor
Někdy chcete zkopírovat soubor do cílového adresáře, pouze pokud je novější než cílový soubor. To lze provést pomocí přepínače -u s příkazem cp:
$ cp -u sourcefileORsourcedirectory / target / adresářPříklad:
V tomto příkladu jsem upravil soubor sample_file.txt z mé zdrojové složky. Tyto soubory byly již zkopírovány do cílové složky, než jsem soubor upravil. To lze vidět na následujícím výstupu příkazu 'ls -l':
Když jsem nyní zkopíroval zdrojovou složku do cílové složky, podrobný výstup ověřil, že bude zkopírován pouze ten soubor, který jsem upravil já.
Příklad 8: Zkopírujte soubor, ale nepřepisujte jej, pokud cílový soubor již existuje
Příkazu cp můžete říct, aby soubor nepřepsal, pokud již v cílovém umístění existuje. To lze provést pomocí přepínače -n následujícím způsobem:
$ cp -n zdrojový soubor / cíl / adresářPříklad:
V tomto příkladu jsem se nejprve pokusil zkopírovat soubor do cílového umístění, kde již existoval. Přepínač -i mě vyzval, pokud jej chci přepsat.
Ve druhém příkazu jsem přidal přepínač -n. Ignoroval přepínač -i, ale nepřepsal již existující soubor v cílovém adresáři.
Příklad 9: Vytvořte symbolický odkaz na soubor v cílovém adresáři
Pomocí přepínače -s v příkazu cp můžete místo kopírování zdrojového souboru vytvořit v cílové složce symbolický odkaz na zdrojový soubor.
$ cp -s zdrojový soubor / cíl / adresářPříklad:
V následujícím příkladu jsem vytvořil symbolický odkaz na soubor sample_file.txt v cílové složce.
Později jsem ověřil přítomnost symbolického odkazu v cílové složce pomocí příkazu 'ls -l'.
Příklad 10: Vytvořte pevný odkaz na soubor v cílovém adresáři
Když vytvoříte pevný odkaz na soubor v jiné složce, soubor se nezkopíruje do cílové složky; místo toho se vytvoří pevný odkaz na zdrojový soubor. Číslo inodu zdrojového souboru i zkopírovaného pevného odkazu je stejné. Takto vytvoříte pevný odkaz:
$ cp -l zdrojový soubor / cíl / adresářPříklad:
V tomto příkladu jsem vytvořil pevný odkaz na zdrojový soubor ve složce Documents.
Prostřednictvím příkazu 'ls -il' jsem ověřil, že jak původní soubor, tak pevný odkaz mají stejná čísla inodů.
To bylo vše, co jste potřebovali vědět, abyste zvládli příkaz cp v Linuxu. Pomocí kombinace těchto možností můžete kopírovat soubory mnohem lépe přizpůsobit.