Vous pouvez renommer un fichier (répertoire ou autre) en utilisant uniquement la connaissance de l'inode en utilisant find
, mais si (a) le système de fichiers qui le contient n'est pas monté, ou si (b) il y a un autre système de fichiers monté sur un répertoire non vide qui contient le fichier qui vous intéresse, le fichier n'est tout simplement pas accessible par votre système. Dans le cas (a), vous devez monter le système de fichiers avant de pouvoir faire quoi que ce soit au contenu, y compris renommer, et dans le cas (b), vous devez démonter le système de fichiers qui est monté "par-dessus" le répertoire contenant le fichier que vous souhaitez renommer. Il semble que vous posiez des questions sur le cas (b).
Si je vous comprends bien, vous essayez de rendre votre ancien /home
répertoire (qui se trouve sur votre partition racine) accessible, tout en utilisant votre nouvelle partition montée sur /home
. Si c'est ce que vous voulez, procédez comme suit:
Fermez tous les fichiers et déconnectez-vous. Connectez-vous ensuite en tant que root
(utilisez un terminal virtuel pour cela - appuyez sur Ctrl-Alt-F2) Exécutez ce qui suit:
umount /home
mv /home /home-old
mkdir /home
mount -a
ls /home
ls /home-old
Si tout va bien, déconnectez-vous et reconnectez-vous comme vous-même et tout devrait bien se passer.
Par ailleurs, la commande pour renommer un fichier en utilisant uniquement la connaissance de son inode (en supposant que le fichier se trouve dans le répertoire en cours) est:
find . -maxdepth 1 -inum 123456789 -exec mv {} mynewname \;
Où 123456789
est le numéro d'inode, bien sûr. (Notez que cela find
détermine le nom de fichier et son chemin d'accès et transmet ces informations à mv
; il n'y a aucun moyen de renommer un fichier sans impliquer le nom de fichier existant de quelque manière que ce soit, mais si c'est juste que vous ne connaissez pas le nom de fichier, c'est tout à fait Facile.)