ein Verzeichnis in ein anderes Verzeichnis kopieren und Zwischenverzeichnisse erstellen

ein Verzeichnis in ein anderes Verzeichnis kopieren und Zwischenverzeichnisse erstellen

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 -pzuerst anrufen?

Ich dachte, cp --parentsich 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/, cpwird 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, zoneinfoin das das Verzeichnis geschrieben werden soll.

Antwort2

rsync -a --relativehat geholfen.

rsync -a --relative /usr/share/zoneinfo/ /var/www/clients/client1/web5/

Der Verdienst geht anunix_ninjaAndieser Tweet

verwandte Informationen