Rename
是否可以使用 inode 重命名文件或目錄?
我將 /home 目錄更改為不同的分區並且無法從中訪問文件,我已經能夠從這個問題中解決這個問題 -如何在切換到不同的分區後訪問先前安裝的內容?.
如果我之前已經註意到目錄的 inode,我可以單獨使用它來重命名目錄嗎?
您可以僅使用 inode 的知識重命名文件(目錄或其他)
find
,但如果 (a) 包含它的文件系統未安裝,或者 (b) 有另一個文件系統安裝在包含您感興趣的文件,您的系統根本無法訪問該文件。在情況 (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
給簡單的。)