[Linux] ファイル削除できない理由は半角スペースだったの巻

スポンサーリンク

意味不明にファイルが削除できないことがあったのでここで共有。

ファイル名の末尾に半角スペースが付いている物があると削除に一苦労する。

まずは、削除が出来ないファイルがあるディレクトリにて、以下の方法で状況を確認してみる。

# 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 ‘ ‘ ‘$’ もどうかと思ったけど、なんだか格好悪いからね^^;

以上

コメント

タイトルとURLをコピーしました