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 mv
Befehl 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