- で始まるファイルを削除したいとき


なんかの拍子に - で始まるファイルを作ってしまいました。例えばgphotoと いう画像表示のソフトでデジカメから画像をディスクに書き込むと勝手に "-001.jpg" や "-002.jpg" ... といったファイルが作られてしまうことがあります。
さて、これをどうやってリネームや削除すればいいのでしょう?
メーリングリスト等でよく見かける内容でさまざまな方法があるようですが、 特別なツール等を使用せずに実行するには以下のような方法があります。

まず単純に
$ rm -001.jpg
とすると
rm: オプションが違います -- 0
詳しくは `rm --help' を実行して下さい.
といったようなメッセージが表示されて削除できません。(メッセージはディ ストリビューション等によってことなります。)

これでどうだ!と
$ rm "-001.jpg"
とやっても結果はおなじでしょう。

これはrmコマンドが -001.jpg をファイル名でなくオプションパラメーターと みなしてしまうためです。
これを回避する為に以下方法があります。

やり方 その1

$ rm -- -001.jpg

-- はそれ以降をオプション以外のものとみなしてくれます。
ですので -001.jpg を hoge.jpg としたいときは
mv -- -001.jpg hoge.jpg
とすれば変更できます。

やり方 その2
$ rm ./-001.jpg
といったようにカレントディレクトリにあるファイルであることを明示して実行します。
もちろん手間でなければフルパスで書いても構いません。

他にも方法があるかもしれませんがこれらのことはよく読めば man rm で記述されていますね。



[ホームへ]     [へなちょこlinuxのコーナーへ]