inodeを使ってファイルやディレクトリの名前を変更できますか?

inodeを使ってファイルやディレクトリの名前を変更できますか?

/homeディレクトリを別のパーティションに変更しましたが、そのパーティションのファイルにアクセスできませんでした。これがこの質問で解決できたのです。別のパーティションに切り替えた後、以前にインストールしたコンテンツにどのようにアクセスしますか?

以前にディレクトリのinodeを書き留めた場合は、単独でディレクトリ名を変更できますか?

ベストアンサー1

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。この情報がないと、ファイル名をまったく変更できません。関連何らかの方法で既存のファイル名を使用しますが、そうしない場合知るファイル名はとても簡単です。 )

おすすめ記事