GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kopiert man eine Datei und erstellt gleichzeitig die Zielverzeichnisse?

Ich möchte cp aaa/deep/sea/blob.psd cp zu bbb/deep/sea/blob.psd

Wie mache ich das Kopieren, wenn der deep und sea Verzeichnisse existieren nicht unter bbb damit die Kopie sowohl die benötigten Verzeichnisse erstellt als auch die Datei kopiert?

Im Moment erhalte ich
No such file or directory wie es Tiefe und Meer nicht gibt.

Ich habe die Hilfeseiten und andere Fragen durchgesehen, aber mir fällt nichts auf.

Am nächsten kommt mir die Verwendung von rcp für das Verzeichnis:

rcp -r aaa/deep/sea/ bbb/deep/sea/

obwohl dies das gesamte Verzeichnis und den Inhalt kopiert und ich nur die eine Datei möchte. Der Versuch, dies zu tun, führte jedoch zu cp: cannot create regular file bbb/deep/sea/blob.psd' such file or directory

Akzeptierte Antwort:

Versuchen Sie, diese nächste Funktion für eine solche Situation zu verwenden:

copy_wdir() { mkdir -p -- "$(dirname -- "$2")" && cp -- "$1" "$2" ; }

und verwenden Sie es als

copy_wdir aaa/deep/sea/blob.psd bbb/deep/sea/blob.psd

Übrigens, GNU cp hat einen --parents Möglichkeit. Es ist wirklich nah an dem, was Sie wollen, aber nicht genau.
Es wird auch aaa erstellt Verzeichnis, das Sie anscheinend nicht benötigen. Sie können jedoch zuerst auf aaa cd und kopiere wie:

cd aaa && cp --parents deep/sea/blob.psd ../bbb/

Linux
  1. So kopieren Sie Dateien und ändern gleichzeitig den Besitz und die Berechtigungen

  2. Ausgabe nach Stdout und gleichzeitig Grep in eine Datei?

  3. So erstellen und fragen Sie ein BTRFS-Dateisystem ab

  4. So kopieren Sie eine Datei mit dem gnu cp-Befehl in mehrere Verzeichnisse

  5. Linux:Wie verwende ich eine Datei gleichzeitig als Ein- und Ausgabe?

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

Kopieren Sie Dateien und erstellen Sie gleichzeitig Zielverzeichnisse

So können Sie versteckte Dateien und Verzeichnisse unter Linux anzeigen und erstellen

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

Wie sind CPU-Zeit und CPU-Auslastung gleich?