Вы можете переименовать файл (каталог или что-то еще), используя только знания о inode, используя find
, но если (a) файловая система, содержащая его, не смонтирована, или если (b) есть другая файловая система, смонтированная поверх непустого каталога, который содержит файл, который вас интересует, файл просто не доступен вашей системе. В случае (a) вам необходимо смонтировать файловую систему, прежде чем вы сможете что-либо сделать с содержимым, включая переименование, а в случае (b) вам необходимо размонтировать файловую систему, которая смонтирована «поверх» каталога, содержащего файл, который вы хотите переименовать. Похоже, вы спрашиваете о случае (б).
Если я вас правильно понимаю, вы пытаетесь сделать ваш старый /home
каталог (который находится в вашем корневом разделе) доступным, но при этом используете новый раздел, смонтированный в /home
. Если это то, что вы хотите, сделайте следующее:
Закройте все файлы и выйдите из системы. Затем войдите в систему root
(используйте для этого виртуальный терминал - нажмите Ctrl-Alt-F2). Выполните следующее:
umount /home
mv /home /home-old
mkdir /home
mount -a
ls /home
ls /home-old
Если все хорошо, выйдите из системы и войдите в систему как вы сами, и все должно быть в порядке.
Кстати, команда для переименования файла, используя только знание его inode (при условии, что файл находится в текущем каталоге):
find . -maxdepth 1 -inum 123456789 -exec mv {} mynewname \;
Где 123456789
номер инода, конечно. (Обратите внимание, что find
определяет имя файла и его путь и передает эту информацию mv
; нет никакого способа переименовать файл без какого-либо участия существующего имени файла, но если это просто, что вы не знаете имя файла, это довольно просто.)