文字化けしてしまってファイルがリネームできなくなりました。その時の対処法です。
下記の流れでリネームします。
1.文字化けしたファイルのinode番号を調べる
- inodeには、ファイル・ディレクトリの「ファイルシステム上のオブジェクトに関する基本情報」が格納されている。
- inode番号は、そのinodeが記録されているデバイス上で一意の整数値で、全てのファイルはinodeに物理的にリンクされている。プログラムがファイルをファイル名で参照するとき、システムはそのファイル名に対応するinodeを検索する。
2.文字化けしたファイルをinode番号で探す
- find 検索パス -inum inode番号
3.文字化けしたファイルをリネームする
- find 検索パス -inum inode番号 -ok mv ‘{}’ リネーム後のファイル名 \;
- find 検索パス -inum inode番号 -exec mv ‘{}’ リネーム後のファイル名 \;
- -okはリネームするときに確認が入ります。(y/n)
- -execは確認なしにリネームされます。
$ ls -i 50452 a.txt 50538 文字化けしたファイル $ find . -inum 50538 ./文字化けしたファイル・ディレクトリ $ find . -inum 50538 -exec mv '{}' リネーム後のファイル名 \;