
Ich möchte das Ganze kopieren/usr/share/zoneinfo/Verzeichnis in /var/www/clients/client1/web5/./usr/share/zoneinfo/. (Das /./
wurde aus Gründen der Übersichtlichkeit und Formatierung hinzugefügt)
Das Verzeichnis /var/www/clients/client1/web5/ existiert, aber das darunterliegendeusr/share/zoneinfoVerzeichnis nicht.
Gibt es eine Möglichkeit, dies mit einem einzigen Befehl zu tun, oder muss ich mkdir -p
zuerst anrufen?
Ich dachte, cp --parents
ich würde genau das tun, aber es scheint, dass es nur beim Kopieren einer einzelnen Datei funktioniert, nicht beim Kopieren eines ganzen Verzeichnisses.
Antwort1
Da Sie als Zielort angeben /var/www/clients/client1/web5/./usr/share/zoneinfo/
, cp
wird zunächst geprüft, ob das Verzeichnis vorhanden ist, in das Dateien geschrieben werden können. Sie müssen also zuerst das Verzeichnis erstellen. Wenn jedoch /var/www/clients/client1/web5/./usr/share/
bereits vorhanden ist, sollten Sie Folgendes tun können:
cp -pr /usr/share/zoneinfo /var/www/clients/client1/web5/./usr/share/zoneinfo
da das Zielverzeichnis existiert, zoneinfo
in das das Verzeichnis geschrieben werden soll.
Antwort2
rsync -a --relative
hat geholfen.
rsync -a --relative /usr/share/zoneinfo/ /var/www/clients/client1/web5/
Der Verdienst geht anunix_ninjaAndieser Tweet