- 締切済み
ファイルの削除について。
「 - 」というファイル名のファイルを誤って作ってしまい、rm -r で消そうにも消せません。 どうしたら消せるでしょうか? solaris8 です。 モードは 555です。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- gaktank
- ベストアンサー率65% (23/35)
ありがちですね。 FAQでもよく紹介されてます。 基本はこれです。 # rm ./- この事象を応用して、「rm * 」等で間違って消されないよう、 重要なファイルをあえて「-」から始まるファイル名にしておく、 という方法を私はよく使います。
- garyu77
- ベストアンサー率45% (30/66)
う~ん…ファイル、ディレクトリとして認識されていませんね… 同じディレクトリ配下に【-】を含むファイルはありますか? 無ければ、好都合なのですが…あれば、以下の手順をやってください。 ※ ファイル名【-】があるディレクトリにカレントを置きます。 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)
【rm \-】で、消えると思います。 が、alias等で何かされていると困るので、 mkdir temp mv \- temp cd temp で、temp配下に【-】ファイルのみだった場合は、 上記のrmコマンド実施すれば失敗してもOK。
- nightowl
- ベストアンサー率44% (490/1101)
こんばんは。この場合は 78tch さんのおっしゃる通りですね。 下記のマニュアルの一番下、「注意事項」に書いてあります。 ご自分でも「man rm」でマニュアルを見てください。 ところで、ファイル相手なら「-r」は要らないんじゃないでしょうか。 ディレクトリを再帰的に削除するためのオプションですから。 書き込み保護を無視して削除するなら「-f」です。 rm -f -- - でお試しを。
- PAPA0427
- ベストアンサー率22% (559/2488)
確かUNIX系では、バックスラッシュを入れて記述すると、文字そのものと認識したはずです。 rm -r バックスラッシュ- で出来ませんか?
- 78tch
- ベストアンサー率31% (50/157)
そのディレクトリに他にファイルがなければ rm * でもいいでしょうが rm -r -- - ではだめでしょうか?
補足
バックスラッシュ(半角の\)で試みましたが駄目でした。 r オプションをつけたりつけなかったりしましたが受け付けられません。 No such file or directory とメッセージされてしまいます。 solaris8 の man ページや web 等で調べてみましたが、対応策に行き当たっていません。 どうしたものでしょうか。