Gibt es eine bessere Möglichkeit als mv, Ordner in einem Verzeichnis nach oben zu verschieben?

Gibt es eine bessere Möglichkeit als mv, Ordner in einem Verzeichnis nach oben zu verschieben?

Ich habe eine ziemlich große Dateistruktur (> 100 GB) in einen Unterordner meines Stammverzeichnisses heruntergeladen, nennen wir ihn /folder. Das Problem ist, dass ich sie versehentlich in einen Unterordner dieses Ordners kopiert habe, anstatt direkt in diesen Ordner. Jetzt habe ich also /folder/folder/*anstelle von /folder/*was ich will. Gibt es eine bessere Möglichkeit, die zusätzliche Ebene zu entfernen, als einfach:

# mv /folder/folder/* /folder
# rmdir /folder/folder

Antwort1

Wenn Quelle und Ziel auf demselben Dateisystem liegen, erstellt mv einfach einen weiteren Verzeichniseintrag und kopiert nicht 100 GB Daten. Das ist also die beste Vorgehensweise, Sie müssen nicht nach einer anderen Möglichkeit suchen. Wenn sie sich jedoch auf unterschiedlichen Dateisystemen befinden, werden die Daten kopiert. Außerdem müssen Sie kein rmdir ausführen – mv erledigt das automatisch.

Antwort2

Der mvBefehl verschiebt nicht die Daten in den Dateien, sondern nur die Namen der Dateien. Wenn Sie befürchten, dass alle Daten in jeder Datei verschoben werden, ist dieser Befehl nicht geeignet.

Antwort3

Sie können verwenden:

# cd /folder/folder
# mv * ../
# rmdir /folder/folder

aber was ist das Problem mit dem, was Sie hatten? Können Sie besser erklären, was Sie damit meinen?

Antwort4

Ein etwas einfacheres Verfahren (weniger MV-Operationen insgesamt)

  mv /folder /surplusfolder
  mv /surplusfolder/folder /folder
  rmdir /surplusfolder

verwandte Informationen