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

Einen riesigen Ordner umbenennen:Ist das riskant?

Das Ändern des Namens eines Ordners ist sicher, wenn er im selben Dateisystem bleibt.

Wenn es sich um einen Einhängepunkt handelt (/data sieht irgendwie so aus, als könnte es ein Einhängepunkt für mich sein, überprüfen Sie dies mit mount ), dann müssen Sie etwas anderes tun als nur ein einfaches mv seit mv /data /BD_FILES würde die Daten auf die Root-Partition verschieben (was möglicherweise nicht das ist, was Sie möchten).

Sie sollten das Dateisystem aushängen, das jetzt leere Verzeichnis umbenennen, /etc/fstab aktualisieren mit dem neuen Speicherort für dieses Dateisystem und hängen Sie das Dateisystem dann am umbenannten Speicherort erneut ein.

Mit anderen Worten,

  1. umount /data
  2. mv /data /BD_FILES (Angenommen /BD_FILES existiert noch nicht, in diesem Fall zuerst aus dem Weg räumen)
  3. aktualisiere /etc/fstab , indem Sie den Einhängepunkt von /data ändern bis /BD_FILES
  4. mount /BD_FILES

Dabei werden keine Dateien kopiert, sondern nur der Name des Verzeichnisses geändert, das als Einhängepunkt für das Dateisystem dient.

Wenn das Umbenennen des Verzeichnisses das Verschieben in ein neues Dateisystem beinhaltet (was der Fall wäre, wenn /data befindet sich auf einer Festplatte, während /BD_FILES auf einer anderen Festplatte befindet, was üblich ist, wenn Sie beispielsweise Dinge auf eine größere Partition verschieben), würde ich empfehlen, die Daten zu kopieren und dabei das Original intakt zu lassen, bis Sie überprüfen können, ob die Kopie in Ordnung ist. Sie können dies mit

tun
rsync -a /data/ /BD_FILES/

zum Beispiel, aber siehe rsync Handbuch, was dies tut und was nicht (es behält zum Beispiel keine harten Links bei).

Nachdem der Ordner umbenannt wurde, müssen Sie auch sicherstellen, dass bestehende Prozeduren (Programme und Benutzer, die den Ordner verwenden, Sicherungen usw.) die Namensänderung kennen.


Sie benennen nicht jede Datei im Verzeichnis um, Sie benennen eine um Datei in /. Das liegt daran:

  1. Verzeichnisse sind Dateien und
  2. das Dateisystem kümmert sich wirklich um den Inode, nicht um den eigentlichen Text.

Daher ist das Umbenennen eines Verzeichnisses trivial, egal wie viele Dateien oder wie viele Daten darin enthalten sind.


Wenn Sie nur umbenennen (Quelle und Ziel in gleich Dateisystem), ist es einfach eine Umbenennung eines Verzeichniseintrags. Es ist entweder erfolgreich und das Verzeichnis hat einen neuen Namen oder es schlägt fehl, in diesem Fall ändert sich nichts .

Wenn sich Quelle und Ziel auf unterschiedlichen Dateisystemen befinden, müssen die Daten um mv kopiert werden . Unterschiede in den Dateisystemfunktionen, wie z. B. maximale Dateigröße, Einschränkungen bei Dateinamen usw., können Probleme verursachen. Um Probleme zu vermeiden, kopieren Sie zunächst Dateien (cp , rsync , …) und nachdem der Kopiervorgang erfolgreich abgeschlossen wurde, entfernen Sie die Dateien am ursprünglichen Speicherort.

* Es gibt jedoch einige Sonderfälle, die zum Beispiel in den BUGS erwähnt werden Abschnitt in man 2 rename


Linux
  1. Java-Dateimanager

  2. Cat Zeile X bis Zeile Y in einer riesigen Datei?

  3. Linux – Zweck des Verzeichnisses /net?

  4. cPanel-Indizes

  5. Wie verhindert man das Ändern, Löschen und Umbenennen von Dateien/Verzeichnissen in Linux?

Suchen Sie die Datei und wechseln Sie dann in dieses Verzeichnis in Linux

Bash:Keine solche Datei oder Verzeichnis?

sys/types.h:Keine solche Datei oder Verzeichnis

Wiederholen Sie Bilder aus einem Ordner und zeigen Sie eine Diashow im Vollbildmodus an

Wie kopiere ich eine Datei/einen Ordner aus dem Home-Verzeichnis eines anderen Benutzers in Linux?

unix - teilt eine riesige .gz-Datei zeilenweise auf