Verwenden Sie
cp -fr /source/file /destination
das sollte das Problem wahrscheinlich lösen.
Diese Frage wurde bereits diskutiert, aber Sie können ein kleines Skript wie dieses schreiben:
#!/bin/bash
if [ ! -d "$2" ]; then
mkdir -p "$2"
fi
cp -R "$1" "$2"
Dieses Skript ein wenig erklären
-
#!/bin/bash:weist Ihren Computer an, denbashzu verwenden Dolmetscher. -
if [ ! -d "$2" ]; then:Wenn die zweite angegebene Variable noch nicht existiert... -
mkdir -p "$2":Dieses Verzeichnis erstellen, einschließlich aller im Pfad angegebenen übergeordneten Verzeichnisse.Ausführen von
mkdir -p one/two/threewird machen:$ mkdir -p one/two/three $ tree one one/ └── two └── threeWenn Sie
-pnicht angeben -Tag erhalten Sie eine Fehlermeldung, wenn Verzeichnisseonesind undtwoexistieren nicht:$ mkdir one/two/three mkdir: cannot create directory ‘one/two/three’: No such file or directory -
fi:Schließt das if Aussage. -
cp -R "$1" "$2":kopiert Dateien aus der ersten angegebenen Variablen in das Verzeichnis der zweiten angegebenen Variablen.Wenn Sie also
script.sh mars plutoausgeführt haben ,marswäre die erste Variable ($1) undplutowäre die zweite Variable ($2).Die
-RFlag bedeutet, dass dies rekursiv geschieht, alsocpBefehl wird alle durchlaufen die Dateien und Ordner aus Ihrer ersten Variablen und kopieren Sie sie in das Verzeichnis Ihrer zweiten Variablen.