
お客さんから頂いたzipファイルを展開すると、ターミナル上で文字化けしたファイル名で表示される場合があります。ファイル名をうまく認識出来ていない為に、通常のrmコマンドでは削除することが出来ません。
今回は文字化けしたファイルやディレクトリを、inodeを指定することで削除する方法のご紹介です!
まずは現状確認をしよ~!
[root@150-95-142-202 ~]# ls -laht total 2.3M dr-xr-x---. 7 root root 4.0K Jun 7 11:44 . drwxr-xr-x 2 root root 4.0K Jun 7 11:42 縺ゅ>縺?∴縺?(^▽^) ?撰シ托シ抵シ?.files -rw------- 1 root root 131 Jun 7 11:35 .mysql_history drwxr-xr-x 3 root root 4.0K Jun 7 11:28 .config drwxr-xr-x 3 root root 4.0K Jun 7 11:28 .cache dr-xr-xr-x. 18 root root 4.0K Jun 7 11:23 .. drwx------ 2 root root 4.0K Jun 7 11:22 .ssh drwxr-----. 3 root root 4.0K May 17 17:16 .pki -rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc -rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc -rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
文字化けしてますね・・・!
そんな時にはinode番号を確認するんだ!
はい、inodeの番号を確認します。
# ls -i 1312133 ./縺ゅ>縺?∴縺?(^▽^) ?撰シ托シ抵シ?.files
この番号【1312133】を利用しましょうね。
削除前テスト
# find . -inum 1312133 -exec rm -i {} \+
rm: descend into directory ‘./縺ゅ>縺?∴縺?(^▽^) ?撰シ托シ抵シ?.files’?
ちゃんと指定出来ています、問題ないです。
どっかーん!削除実行
# find . -inum 1312133 -exec rm -rf {} \+
どうでしょうか、
削除することが出来ているはずです。
お疲れ様です。
