困ったこと
うっかりWindowsで作成した日本をファイル名を、そのままlinux(ubuntu)に転送してしまった。 lsすると一応ファイル名は日本語で表示されていた。
> ls こんにちは.txt
よかったー!と思ったのもつかの間、名前を変更しようとmvしても、「ファイルが見つかりません」と表示されるばかり。
mv こんにちは.txt hello.txt
もちろんrmやcpやすべてのコマンドでダメ。 そりゃそうか…文字コードが違うんだから。
削除もできなくて困っていたのだけど、lsコマンドの--show-control-charオプションで、何とか解決できました。
ls --show-control-chars
--show-control-charsは、システムが表示できない文字をそのまま表示するコマンド。
解決
これをバッククォートで括って、mvコマンドで実行させることにより、認識に成功。ファイルがリネームできました。
> mv `ls --show-control-char こんにちは.txt ` hello.jpg
めでたしめでたし。