最近はなかなか御目にかかることのなくなった表題のような事案。たとえば、文字コードが EUC のサーバに、Windows からファイル名が Shift_JIS のファイルを FTP で置いちゃいましたーみたいな状況。 こういうのを Linux から見ると文字化けしているため、何か処理をしようとしてもコマンドが記述できない。リネームしたいけど、そもそも mv コマンドの引数に与えるべきファイル名を指定する手段がなかったりして積む。 こういうときは inode 番号を指定してやればいいです。ls には -i オプションがあって、inode 番号が表示できるので、この inode 番号を find で指定すればよいです。 $ ls -li [文字化けしたファイルが置かれているディレクトリ] $ find [そのディレクトリ] -inum <inode 番号> | xargs -I{} mv {}