ふり返る暇なんて無いね

日々のメモ書きをつらつらと。メインブログに書くほどでもないことを流してます

-で始まるファイルを消す方法

忘れるので、覚え書き

よくありますよね。-で始まるファイルを作ってしまって消せなくなるパターン。

一応bashでも出来るハズだけど、zshでやってます。

% zsh --version
zsh 4.3.17 (x86_64-unknown-linux-gnu)

エスケープしても、クオートしても、消えてくれない-rfファイル。こいつをどうしたらいいか

% ls
-rf
% rm -rf
% ls
-rf
% rm \-fr
% ls
-rf
% rm '-fr'
% ls
-rf

対処方

相対パス

一つ目の方法としてはディレクトリを含めて相対パスで指定してあげる方法。

% ls
-rf
% rm ./-rf
% ls
## 消えてる

-- を付ける

二つ目は--を付ける方法。--を付けるとそれ以降はオプションとして認識しなくなります。(この機能はコマンド毎に対応が違う可能性がある。

% rm -- -rf
% ls -- -rf
ls: cannot access -rf: No such file or directory
## 消えてる

ちなみに-rfファイルも--使って作ってます。

% touch -- -rf
% ls
-rf