Você pode renomear um arquivo (diretório ou qualquer outra coisa) usando apenas o conhecimento do inode find
, mas se (a) o sistema de arquivos que o contém não estiver montado, ou se (b) houver outro sistema de arquivos montado em um diretório não vazio que contenha o arquivo em que você está interessado, o arquivo simplesmente não está acessível pelo seu sistema. No caso (a), é necessário montar o sistema de arquivos antes de fazer qualquer coisa no conteúdo, incluindo renomear; no caso (b), é necessário desmontar o sistema de arquivos montado "por cima" do diretório que contém o arquivo arquivo que você deseja renomear. Parece que você está perguntando sobre o caso (b).
Se o entendi corretamente, você está tentando tornar seu /home
diretório antigo (localizado na partição raiz) acessível, enquanto ainda usa a nova partição montada em /home
. Se é isso que você deseja, faça o seguinte:
Feche todos os arquivos e efetue logout. Em seguida, efetue login como root
(use um terminal virtual para isso - pressione Ctrl-Alt-F2) Execute o seguinte:
umount /home
mv /home /home-old
mkdir /home
mount -a
ls /home
ls /home-old
Se tudo estiver bem, efetue logout e efetue login novamente como você e tudo ficará bem.
Aliás, o comando para renomear um arquivo usando apenas o conhecimento de seu inode (assumindo que o arquivo esteja no diretório atual) é:
find . -maxdepth 1 -inum 123456789 -exec mv {} mynewname \;
Onde 123456789
está o número do inode, é claro. (Observe que find
determina o nome do arquivo e seu caminho e passa essas informações para mv
; não há nenhuma maneira de renomear um arquivo sem envolver o nome do arquivo existente, mas se você não conhece o nome do arquivo, é bastante simples.)