Hledáte cp
příkaz. Musíte změnit adresáře tak, abyste byli mimo adresář, který se pokoušíte zkopírovat.
Pokud se adresář, který kopírujete, nazývá dir1
a chcete jej zkopírovat do /home/Pictures
složka:
cp -r dir1/ ~/Pictures/
Linux rozlišuje velká a malá písmena a také potřebuje /
za každým adresářem, abyste věděli, že to není soubor. ~
je speciální znak v terminálu, který se automaticky vyhodnotí podle domovského adresáře aktuálního uživatele. Pokud potřebujete vědět, v jakém adresáři se nacházíte, použijte příkaz pwd
.
Pokud nevíte, jak používat příkaz Linuxu, existuje manuálová stránka, na kterou se můžete podívat zadáním:
man [insert command here]
na příkazovém řádku terminálu.
Chcete-li také při psaní v terminálu automaticky doplňovat dlouhé cesty k souborům, můžete stisknout Tab poté, co začnete psát cestu, a buď se vám zobrazí možnosti, nebo vloží zbývající část cesty.
V odpovědi je důležitý rozdíl mezi Linuxem a Unixem, protože pro Linux (GNU a BusyBox) -R
, -r
a --recursive
jsou všechny ekvivalentní, jak je uvedeno v této odpovědi. Pro přenositelnost, tj. soulad s POSIX, byste chtěli použít -R
kvůli některým rozdílům v závislosti na implementaci s -r
. Je důležité číst manuálové stránky, abyste věděli o všech idiosynkrazích, které mohou nastat (toto je dobrý příklad použití, který ukazuje, proč jsou standardy POSIX užitečné).
Možnost, kterou hledáte, je -R
.
cp -R path_to_source path_to_destination/
- Pokud
destination
neexistuje, bude vytvořen. -R
znamenácopy directories recursively
. Můžete také použít-r
protože se nerozlišují velká a malá písmena.- Chcete-li zkopírovat vše, co je uvnitř zdrojovou složku (symlinky, skryté soubory) bez kopírování zdrojové složky samotné použijte
-a
příznak spolu s koncovým/.
ve zdroji (podle@muni764
's /@Anton Krug
komentář uživatele):
cp -a path_to_source/. path_to_destination/
Použijte:
$ cp -R SRCFOLDER DESTFOLDER/