Sie können eine Datei (Verzeichnis oder was auch immer) umbenennen, indem Sie nur den Inode kennen find
, aber wenn (a) das Dateisystem, das sie enthält, nicht gemountet ist oder wenn (b) ein anderes Dateisystem über einem nicht leeren Verzeichnis gemountet ist, das das enthält Datei, an der Sie interessiert sind, auf die Datei kann Ihr System einfach nicht zugreifen. In Fall (a) müssen Sie das Dateisystem bereitstellen, bevor Sie etwas an den Inhalten vornehmen können, einschließlich des Umbenennens. In Fall (b) müssen Sie das Dateisystem aushängen, das "über" dem Verzeichnis bereitgestellt wird, das das enthält Datei, die Sie umbenennen möchten. Es sieht so aus, als würden Sie nach Fall (b) fragen.
Wenn ich Sie richtig verstehe, versuchen Sie, Ihr altes /home
Verzeichnis (das sich auf Ihrer Root-Partition befindet) zugänglich zu machen, während Sie weiterhin Ihre neue Partition verwenden, die unter gemountet ist /home
. Wenn Sie dies möchten, gehen Sie wie folgt vor:
Schließen Sie alle Dateien und melden Sie sich ab. Melden Sie sich dann an als root
(verwenden Sie dazu ein virtuelles Terminal - drücken Sie Strg-Alt-F2) Führen Sie Folgendes aus:
umount /home
mv /home /home-old
mkdir /home
mount -a
ls /home
ls /home-old
Wenn alles in Ordnung ist, melden Sie sich als Sie selbst ab und wieder an, und alles sollte in Ordnung sein.
Im Übrigen lautet der Befehl zum Umbenennen einer Datei nur unter Kenntnis ihres Inodes (vorausgesetzt, die Datei befindet sich im aktuellen Verzeichnis):
find . -maxdepth 1 -inum 123456789 -exec mv {} mynewname \;
Wo 123456789
ist natürlich die Inode-Nummer? (Beachten Sie, dass Sie find
die Dateinamen und den Pfad bestimmt und leitet diese Informationen an mv
, es gibt keine Möglichkeit , überhaupt eine Datei umbenennen , ohne Einbeziehung der vorhandenen Dateinamen in irgendeiner Weise, aber wenn es nur ist , dass Sie nicht wissen , die Dateinamen, es ist ganz einfach.)