GNU/Linux >> Znalost Linux >  >> Linux

Jak zkopírovat adresář v příkazovém řádku Linuxu [Tip pro začátečníky]

Pokud jste nováčkem v příkazovém řádku Linuxu, pravděpodobně máte na mysli tuto otázku:Jak zkopíruji adresář a soubory v něm do jiného adresáře v příkazovém řádku Linuxu?

Zde je návod, jak zkopírovat adresář v Linuxu:

cp -r source_directory destination_directory

Pravděpodobně již víte, že pomocí příkazu cp můžete kopírovat soubory v Linuxu. Víte, že můžete použít stejný příkaz cp ke zkopírování složky v příkazovém řádku Linuxu?

Cha! Už jste to zkusili a možná se vám zobrazila tato chyba:

cp: -r not specified; omitting directory 'test_dir'

Dovolte mi ukázat vám jednu nebo dvě věci o kopírování adresáře v Linuxu.

Kopírovat adresář do příkazového řádku Linuxu

Určitě můžete použít stejný příkaz cp, ale s rekurzivní volbou -r ke zkopírování složky s jejím obsahem do jiné složky. Výše zmíněná chyba také naznačuje, že jste přehlédli volbu -r.

Jediné, co musíte udělat, je použít příkaz tímto způsobem:

cp -r source_directory destination_directory

A pokud nyní použijete příkaz ls v cílovém adresáři, měl by v něm být celý zdrojový adresář.

Volba -r umožňuje rekurzivní volbu. To znamená, že veškerý obsah adresáře včetně jeho vlastních podadresářů, vše v adresáři bude zkopírováno do cíle.

Několik věcí k poznámce o kopírování adresáře v Linuxu

Zde je několik věcí, které je třeba poznamenat, a tipy pro kopírování složek.

Cílový adresář neexistuje? Bude vytvořen

Pokud cílový adresář neexistuje (ale cesta existuje), bude vytvořen až do jedné úrovně (vysvětleno v další části). Nyní však zkopíruje obsah zdrojového adresáře, nikoli samotný zdrojový adresář.

Pokud například uděláte toto:

cp -r source_directory non_existing_directory

Neexistující_adresář bude vytvořen s obsahem zdrojového_adresáře, ale nebude obsahovat zdrojový_adresář. Budou zkopírovány pouze soubory source_directory. Bylo by to, jako by non_existing_directory byl replikou source_directory.

[email protected]:~$ ls
test_dir
[email protected]:~$ cp -r test_dir new_dir
[email protected]:~$ tree
 .
 ├── new_dir
 │   ├── c.xyz
 │   ├── myzip1.zip
 │   └── myzip2.zip
 └── test_dir
     ├── c.xyz
     ├── myzip1.zip
     └── myzip2.zip
 2 directories, 6 files

Při kopírování nelze vytvořit vnořený adresář

Výše uvedený příkaz nelze použít k vytvoření vnořené adresářové struktury.

Pokud se například pokusíte použít cp -r source_dir dir1/dir2/dir3, ale dir2 a dir3 neexistují, nevytvoří vnořenou adresářovou strukturu a příkaz selže.

Zachovat původní atributy souboru

Jeden poslední tip, jak to zkrátit. Pokud použijete volbu -a spolu s volbou -r, zachová se původní informace o souboru, jako jsou oprávnění k souboru, časová razítka souboru atd. Adresář se archivuje do nového umístění, místo aby jej znovu vytvářel.

To je ono

Toto množství informací by vám mělo stačit, abyste věděli, jak zkopírovat adresář v Linuxu. Pokud máte dotazy nebo návrhy, neváhejte zanechat komentář.


Linux
  1. Jak odstranit soubory a adresáře v příkazovém řádku Linuxu [Výukový program pro začátečníky]

  2. Jak restartovat Linux pomocí příkazového řádku

  3. Jak mohu zkopírovat složku z příkazového řádku systému Linux?

  1. Linuxový příkaz cp

  2. linux:jak spustit příkaz v daném adresáři

  3. Jak pomocí příkazu cp v linuxovém shellu zkopíruji celý adresář do jiného adresáře?

  1. Jak přejmenovat adresář v Linuxu

  2. Jak odebrat adresář v Linuxu

  3. Du Command v Linuxu