Linux全般
文字化けした名前を持つファイルの扱い
最終更新日: 2010年3月5日

ふと気がつくと、文字化けしたディレクトリ名があった。

$ ls
backup bin mbox tmp work ??????

このままでは扱うことができないので、asciiの名前に変更してみる。

このような場合、lsの結果をiconvに食わせてやると日本語の名前がちゃんと表示されると期待して試してみる。

$ ls | iconv
backup
bin
mbox
tmp
work
iconv: illegal input sequence at position 181

どうやら自動での変換できないらしい。ということで、iconvの-fオプションで思い当たる文字コードをいろいろと試してみるが、やっぱりだめ。ということで、ファイル名として扱うことを諦めて、inode番号を利用する。

$ ls -i
1054729 ??????
(出力結果は一部のみ表示)
$ find . -inum 1054729 -exec mv {} kkk \;

これでkkkという名前に変更できたので、あとは安心して好きなように扱える。