意味不明にファイルが削除できないことがあったのでここで共有。
ファイル名の末尾に半角スペースが付いている物があると削除に一苦労する。
まずは、削除が出来ないファイルがあるディレクトリにて、以下の方法で状況を確認してみる。
# ls -la | cat -e
そうすると、各ファイル名の終わりに行末を意味する「$」がつくので、半角スペースが付いているものは
「filename $」となる。
その後「”」を利用してファイルを削除すればいいのだぁ~
# rm “filename ”
↓こんな感じ
sh-3.2# ls -l total 0 -rw-r--r-- 1 root root 0 Jun 29 14:31 filename sh-3.2# sh-3.2# rm filename rm: cannot remove `filename’: No such file or directory sh-3.2# sh-3.2# ls -l | cat -e total 1$ -rw-r--r-- 1 root root 0 Jun 29 14:31 filename $ sh-3.2# sh-3.2# rm “filename ” sh-3.2# sh-3.2# ls -l total 0 sh-3.2#
ま、そんなこんなですね。
ls -lF だとフォルダとかなら分るんだけど、ファイルだと分らないみたい。
ls | tr ‘ ‘ ‘$’ もどうかと思ったけど、なんだか格好悪いからね^^;
以上
コメント