Anda dapat mengganti nama file (direktori atau apa pun) hanya menggunakan pengetahuan inode menggunakan find
, tetapi jika (a) filesystem yang berisi itu tidak di-mount, atau jika (b) ada filesystem lain yang dipasang di atas direktori non-kosong yang berisi file yang Anda minati, file tersebut tidak dapat diakses oleh sistem Anda. Dalam hal (a), Anda perlu me-mount sistem file sebelum Anda dapat melakukan apa saja untuk konten, termasuk mengubah nama, dan dalam kasus (b), Anda perlu meng-unmount sistem file yang dipasang "di atas" direktori yang berisi file yang ingin Anda ganti namanya. Sepertinya Anda bertanya tentang kasus (b).
Jika saya mengerti Anda dengan benar, Anda mencoba membuat /home
direktori lama Anda (yang terletak di partisi root Anda) dapat diakses, sementara masih menggunakan partisi baru Anda yang terpasang di /home
. Jika itu yang Anda inginkan, lakukan hal berikut:
Tutup semua file dan keluar. Kemudian masuk sebagai root
(gunakan terminal virtual untuk ini — tekan Ctrl-Alt-F2) Jalankan yang berikut:
umount /home
mv /home /home-old
mkdir /home
mount -a
ls /home
ls /home-old
Jika semuanya baik-baik saja, keluar dan masuk kembali seperti dirimu sendiri dan semuanya akan baik-baik saja.
Secara kebetulan, perintah untuk mengganti nama file hanya menggunakan pengetahuan inode-nya (dengan asumsi file ada di direktori saat ini) adalah:
find . -maxdepth 1 -inum 123456789 -exec mv {} mynewname \;
Di mana 123456789
nomor inode, tentu saja. (Catatan yang find
menentukan nama file dan jalurnya dan meneruskan info ini ke mv
; tidak ada cara sama sekali untuk mengubah nama file tanpa melibatkan nama file yang ada dengan cara apa pun, tetapi jika hanya karena Anda tidak tahu nama file, itu cukup sederhana.)