GNU/Linux >> Znalost Linux >  >> Linux

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

V Linuxu kopírujeme soubory stejně jako v jakémkoli jiném dnes dostupném operačním systému. Otevřeme správce souborů, vybereme soubor ke kopírování a vložíme jej kamkoli chceme. Ale co když chcete nebo potřebujete zkopírovat soubory nebo adresáře v Linuxu pomocí příkazového řádku nebo použít nějaké další filtry před kopírováním? No, to je snadné.

Kopírování souborů nebo adresářů lokálně

Pokud potřebujete lokálně kopírovat soubory nebo adresáře z jednoho adresáře do druhého, existuje pro to jednoduchý příkaz – cp.

cp – Kopírování souborů a adresářů

Základní syntaxe

cp source destination_path

Základní syntaxe příkazu přijímá dva argumenty, první je cesta k souboru nebo adresář a druhý je cílová cesta, kam chcete soubor nebo adresář zkopírovat. V jakémkoli systému Linux bude tento příkaz fungovat bezchybně, ale mohou nastat případy, kdy byste si měli být vědomi některých důležitých možností, které příkaz cp poskytuje.

–záloha[možnost]

Často potřebujeme zkopírovat tolik souborů najednou do umístění, kde některé z těchto souborů již mohou existovat. V tomto scénáři výchozí chování příkazu cp přepíše všechny existující soubory. To může být problematické, pokud soubory obsahují různá data.

V takovém případě můžeme použít volbu –backup a říci příkazu, jak vytvořit zálohu každého existujícího souboru v cílovém adresáři.

cp -v --backup myphotos Downloads/allphotos

Výše uvedený příkaz zkopíruje všechny soubory z myphotos do adresáře allphotos v adresáři Downloads. Pokud adresář allphotos již obsahuje některý ze souborů, které přeneseme z myphotos, vytvoří se záloha tohoto souboru. Další důležitou vlastností příkazu cp je, že dokáže sledovat verze záloh.

Výše uvedený příkaz přejmenuje záložní soubor na původní název souboru + ‚`‘ na konci.

Sledujte verze záloh

Volby empty –backup vytvoří zálohu každého souboru v cílovém adresáři, a pokud se pokusíte soubor zkopírovat znovu, příkaz nahradí existující záložní soubory novými záložními soubory. Pokud si chcete ponechat stávající záložní soubory a vytvořit nový pokaždé, když se pokusíte zkopírovat soubory do stejného adresáře, můžete předat volbu ‚numbered‘ nebo ‚t‘ do –backup.

Číslovaná možnost vytvoří záložní soubory a na konec každého záložního souboru přidá číslo zálohy. Zde je příklad příkazu –

cp -rv --backup=numbered myphotos Downloads/allphotos

Výše uvedený příkaz zkopíruje všechny nové soubory do cílového adresáře a duplicitní soubory budou zálohovány a nahrazeny novými soubory. Každý záložní soubor bude mít k názvu souboru přidáno číslo verze.

Aktualizovat soubory

Jednou z nejužitečnějších možností příkazu cp je „-u“. Tím se do cíle zkopírují pouze novější soubory a zbytek zůstane. Pokud například soubor již v cílovém adresáři existuje, volba „-u“ porovná oba soubory a zkopíruje se pouze v případě, že je kopírovaný soubor novější než ten, který již existuje.

cp -rv -u myphotos Downloads/allphotos

Kopírovat pouze atributy souborů (–attributes-only)

Pokud chcete vytvořit soubory s některými z atributů existujících souborů, můžete předat argument –attributes-only. V daném cíli vytvoří soubory se stejnými atributy, nikoli daty. Zde je příklad –

cp -rv --attributes-only myphotos Downloads/allphotos

Zeptat se před přepsáním jakýchkoli souborů pomocí „-i“ a „-n“

Když vytvoříte zálohu souboru, stávající soubor se zazálohuje a poté se soubor nahradí novým. Co když chcete, aby se vás příkaz zeptal před přepsáním jakéhokoli souboru? Je to možné s možnostmi „-i“ a „-n“.

cp -rv -i myphotos Downloads/allphotos
Ask before overwriting any file
cp -rv -n myphotos Downloads/allphotos
Do not overwrite any file at all

Nyní příkaz přepíše duplicitní soubor pouze tehdy, když na dotaz příkazu zadáte „y“. A volba ‚-n‘ nepřepíše vůbec žádný soubor.

Zachovat atributy souborů při kopírování

Všechny výše uvedené příkazy cp zkopírují soubory a jejich data do cíle, ale bez zachování atributů souboru, jako je oprávnění, vlastnictví a časové razítko. Chcete-li také zkopírovat nebo zachovat atributy souborů, použijte volbu „-p“ v příkazu cp.

cp -rf -p myphotos Downloads/allphotos
The above command will not only copy files data but also preserve all the attributes.

Poznámka

Opakem argumentu -p je „–no-preserve“.

Toto byly některé důležité volby dostupné pro příkaz cp. Úplný seznam voleb naleznete na manuálové stránce příkazu cp.

man cp

FreeFileSync – porovnání a synchronizace souborů

FreeFileSync je snadno použitelný nástroj pro synchronizaci souborů mezi dvěma adresáři. Má všechny výše uvedené funkce plus mnoho pokročilejších možností, které vám pomohou zkopírovat velké množství souborů.

Můžete vybrat dva adresáře, mezi kterými chcete synchronizovat soubory, použít filtry a kliknout na tlačítko Porovnat. Na základě filtru, který použijete, prohledá oba adresáře a poskytne výsledky. Pokud jste s výsledky spokojeni, můžete kliknutím na tlačítko ‚Synchronizovat‘ zahájit proces kopírování.

Porovnejte soubory na základě času, velikosti a obsahu

Kliknutím na ikonu ‚ozubeného kola‘ vedle tlačítka ‚Porovnat‘ vám umožní vybrat vlastnosti k porovnání při porovnávání dvou adresářů. Ve výchozím nastavení nástroj porovnává čas a velikost souboru, ale můžete také zvolit porovnání velikosti souborů nebo obsahu.

Použít filtry

FreeFileSync může také použít filtry při skenování zdrojového adresáře a bude brát v úvahu soubory nebo adresáře pouze v případě, že je splněna alespoň jedna z podmínek v poli zahrnutí nebo není splněna žádná z podmínek v polích vyloučení.

Chcete-li například opustit všechny soubory z určitého adresáře ve zdrojovém adresáři, přidejte název adresáře do pole pro vyloučení, nastavte minimální nebo maximální velikost souborů nebo nastavte časové rozpětí tak, aby byly vybrány pouze soubory vytvořené nebo upravené v daném čase. .

Můžete také vyloučit soubory s konkrétní příponou, názvem nebo slovem někde v cestě.

\*.gif
This will exclude all the files in the base directory with '.gif' extension.
\tower.png
This will exclude the file in the base directory with the name tower.png.
*mountains*
This will exclude all the files in the base directory with the word 'mountains' anywhere in the path.

Další příklady filtrů najdete na oficiální stránce FreeFileSync.

Stáhněte si FreeFileSync

Stažení

Závěr

Jde tedy o kopírování souborů nebo adresářů v Linuxu. Ke kopírování adresářů v Linuxu můžete použít kteroukoli z výše uvedených metod. Následující článek vám ukáže, jak pohodlně kopírovat nebo synchronizovat soubory mezi počítači se systémem Linux ve stejné síti nebo v různých sítích.


Linux
  1. Linuxový příkaz cp

  2. Jak používat příkaz Rsync v linuxu?

  3. Linux ls Command - Seznam souborů

  1. Jak kopírovat soubory a adresáře v Linuxu

  2. Jak zkopírovat soubor do více adresářů v Linuxu

  3. Příkaz mcopy v Linuxu

  1. Najít příkaz v Linuxu (Najít soubory a adresáře)

  2. Příkaz Ls v Linuxu (seznam souborů a adresářů)

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