Ви можете перейменувати файл (каталог або будь-що інше), використовуючи лише знання про вкладку, використовуючи find
, але якщо (a) файлова система, що містить її, не встановлена, або якщо (b) є інша файлова система, встановлена над не порожнім каталогом, який містить файл, який вас цікавить, файл просто не доступний вашій системі. У випадку (а) вам потрібно змонтувати файлову систему, перш ніж робити що-небудь до вмісту, включаючи перейменування, а у випадку (б) вам потрібно відключити файлову систему, встановлену "вгорі" каталогу, що містить файл, який потрібно перейменувати. Схоже, ви запитуєте про випадок (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
, звичайно, номер inode. (Зверніть увагу, що find
визначає ім'я файлу та його шлях і передає цю інформацію до нього mv
; взагалі немає способу перейменувати файл, не залучаючи існуюче ім'я файлу, але якщо ви просто не знаєте імені файлу, це цілком простий.)