• 締切済み

ファイルの削除について。

「 - 」というファイル名のファイルを誤って作ってしまい、rm -r で消そうにも消せません。 どうしたら消せるでしょうか? solaris8 です。 モードは 555です。

みんなの回答

  • gaktank
  • ベストアンサー率65% (23/35)
回答No.6

ありがちですね。 FAQでもよく紹介されてます。 基本はこれです。 # rm ./- この事象を応用して、「rm * 」等で間違って消されないよう、 重要なファイルをあえて「-」から始まるファイル名にしておく、 という方法を私はよく使います。

  • garyu77
  • ベストアンサー率45% (30/66)
回答No.5

う~ん…ファイル、ディレクトリとして認識されていませんね… 同じディレクトリ配下に【-】を含むファイルはありますか? 無ければ、好都合なのですが…あれば、以下の手順をやってください。 ※ ファイル名【-】があるディレクトリにカレントを置きます。 1. mkdir temp 2. mv *-* temp 3. cd temp 4. mv 【-】を含む削除したくないファイル名 ../  (ファイル数分繰り返す) 5. cd .. 6. rm -r temp こんなんで如何でしょう? 1 tempディレクトリ作成 2 【-】を含むファイルを全てtemp配下に移動 3 temp配下に移動 4 【-】を含む必要なファイルを元の場所へ戻す   最終的にtemp配下には【-】ファイルだけになっている事を確認してください。(ls等で) 5 tempのひとつ上のディレクトリに移動 (【-】ファイルが元あった場所) 6 tempディレクトリごと削除 もしくは4までが完了したら… rm *-*でもいいかも知れませんが。

  • garyu77
  • ベストアンサー率45% (30/66)
回答No.4

【rm \-】で、消えると思います。 が、alias等で何かされていると困るので、 mkdir temp mv \- temp cd temp で、temp配下に【-】ファイルのみだった場合は、 上記のrmコマンド実施すれば失敗してもOK。

kn09
質問者

補足

バックスラッシュ(半角の\)で試みましたが駄目でした。 r オプションをつけたりつけなかったりしましたが受け付けられません。 No such file or directory とメッセージされてしまいます。 solaris8 の man ページや web 等で調べてみましたが、対応策に行き当たっていません。 どうしたものでしょうか。

  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.3

こんばんは。この場合は 78tch さんのおっしゃる通りですね。 下記のマニュアルの一番下、「注意事項」に書いてあります。 ご自分でも「man rm」でマニュアルを見てください。 ところで、ファイル相手なら「-r」は要らないんじゃないでしょうか。 ディレクトリを再帰的に削除するためのオプションですから。 書き込み保護を無視して削除するなら「-f」です。 rm -f -- - でお試しを。

参考URL:
http://docs.sun.com/db/doc/816-3518/6m9ptvr46?l=ja&a=view
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.2

確かUNIX系では、バックスラッシュを入れて記述すると、文字そのものと認識したはずです。 rm -r バックスラッシュ- で出来ませんか?

  • 78tch
  • ベストアンサー率31% (50/157)
回答No.1

そのディレクトリに他にファイルがなければ rm * でもいいでしょうが rm -r -- - ではだめでしょうか?

関連するQ&A