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, denbash
zu 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/three
wird machen:$ mkdir -p one/two/three $ tree one one/ └── two └── three
Wenn Sie
-p
nicht angeben -Tag erhalten Sie eine Fehlermeldung, wenn Verzeichnisseone
sind undtwo
existieren 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 pluto
ausgeführt haben ,mars
wäre die erste Variable ($1
) undpluto
wäre die zweite Variable ($2
).Die
-R
Flag bedeutet, dass dies rekursiv geschieht, alsocp
Befehl wird alle durchlaufen die Dateien und Ordner aus Ihrer ersten Variablen und kopieren Sie sie in das Verzeichnis Ihrer zweiten Variablen.