Použijte
cp -fr /source/file /destination
to by pravděpodobně mělo problém vyřešit.
Tato otázka již byla diskutována, ale můžete napsat malý skript, jako je tento:
#!/bin/bash
if [ ! -d "$2" ]; then
mkdir -p "$2"
fi
cp -R "$1" "$2"
Trochu vysvětlit tento skript
-
#!/bin/bash:říká počítači, aby použilbashtlumočník. -
if [ ! -d "$2" ]; then:Pokud druhá proměnná, kterou jste zadali, již neexistuje... -
mkdir -p "$2":vytvořte tento adresář, včetně všech nadřazených adresářů dodaných v cestě.Spuštěn
mkdir -p one/two/threeudělá:$ mkdir -p one/two/three $ tree one one/ └── two └── threePokud nezadáte
-ppak se zobrazí chyba, pokud adresářeoneatwoneexistují:$ mkdir one/two/three mkdir: cannot create directory ‘one/two/three’: No such file or directory -
fi:Zavře if prohlášení. -
cp -R "$1" "$2":zkopíruje soubory z první proměnné, kterou jste zadali, do adresáře druhé proměnné, kterou jste zadali.Pokud jste tedy spustili
script.sh mars pluto,marsby byla první proměnná ($1) aplutoby byla druhá proměnná ($2).-Rpříznak znamená, že to dělá rekurzivně, takžecppříkaz projde všem soubory a složky z vaší první proměnné a zkopírujte je do adresáře vaší druhé proměnné.