業務中にファイル名を変更した際に、文字化けしてしまって対象のファイルが消せなくなりました。その時の対処法です。
ちなみに*(アスタリスク)でも削除できませんでした。
下記の流れで削除します。
1.文字化けしたファイル・ディレクトリのinode番号を調べる
- inodeには、ファイル・ディレクトリの「ファイルシステム上のオブジェクトに関する基本情報」が格納されている。
- inode番号は、そのinodeが記録されているデバイス上で一意の整数値で、全てのファイルはinodeに物理的にリンクされている。プログラムがファイルをファイル名で参照するとき、システムはそのファイル名に対応するinodeを検索する。
2.文字化けしたファイル・ディレクトリをinode番号で探す
- find 検索パス -inum inode番号
3.文字化けしたファイル・ディレクトリを削除する
- find 検索パス -inum inode番号 | xargs rm -rf
- find 検索パス -inum inode番号 -exec rm -rf {} \;
- xargsを使用する前者のコマンドの方が高速です。
$ ls -i 45128762376 a.txt 55866199552 文字化けしたファイル・ディレクトリ $ find . -inum 55866199552 ./文字化けしたファイル・ディレクトリ $ find . -inum 55866199552 | xargs rm -rf