お客さんから頂いたzipファイルを展開すると、ターミナル上で文字化けしたファイル名で表示される場合があります。ファイル名をうまく認識出来ていない為に、通常のrmコマンドでは削除することが出来ません。
今回は文字化けしたファイルやディレクトリを、inodeを指定することで削除する方法のご紹介です!
まずは現状確認をしよ~!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[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の番号を確認します。
1 2 3 |
# ls -i 1312133 ./縺ゅ>縺?∴縺?(^▽^) ?撰シ托シ抵シ?.files |
この番号【1312133】を利用しましょうね。
削除前テスト
1 2 3 |
# find . -inum 1312133 -exec rm -i {} \+ rm: descend into directory ‘./縺ゅ>縺?∴縺?(^▽^) ?撰シ托シ抵シ?.files’? |
ちゃんと指定出来ています、問題ないです。
どっかーん!削除実行
1 |
# find . -inum 1312133 -exec rm -rf {} \+ |
どうでしょうか、
削除することが出来ているはずです。
お疲れ様です。