どうやってbashから* in /というフォルダーを削除しますか?


8

私は名前のフォルダがあったとしましょう */。 rm -rf *のような一般的なコマンドは機能しないことを私は知っています。何か手助け?


2
技術的には rm * そのフォルダを削除するように動作します。
Colonel Panic

回答:


7

この短いコマンドを使用してください。

rm /\*

1
それは動作しません - それはディレクトリです。
naught101

1
それから、代わりに 'rmdir / \ *'を使用してください。他のオプションは 'rm -rf / \ *'を使うことです。しかし、あなたがミスをした場合、後者は危険です。
Serge

14

シェルによる処理を防ぐために引数を一重引用符で囲むことができます。

rm -r '/*'

使用して安全にテストする ls (ファイルを含むフォルダ内):

$ ls '*'
ls: *: No such file or directory

この場合、二重引用符も同様に機能しますが、ある場合は $ シェルはそれが変数であると想定するので、彼らは関与しません。

$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory

GNUの場合 rm追加することもできます -- ファイル名引数の前に、引数として解析されないようにします。これにより、名前の付いたファイルを削除できます。 -rf 問題なく。


必須ではありません。あなたは単に '*'をエスケープすることができるので、Sergeが答えたようにそれはシェルによって拡張されません。
darnir

5
@darnir気に入らなければ使う必要はありません。しかし、Sergeのアプローチを使うときは、エスケープする文字を知っておく必要があります。 & そして、それらを個別にエスケープします。したがって、私は個々のエスケープが劣っていると考え、この代替案を掲載しました。
Daniel Beck

3
@Serge私はあなたの答えが悪いとは言っていません。それは仕事を成し遂げ、そして 受け入れた 。ただし、長所と短所が異なる何かを達成するための(合理的に異なる)方法が複数ある場合は、それらすべてをリストしてください。それらはすべての状況で機能するわけではないかもしれないので、選択する選択肢があるのは良いことです。また、ユーザーが 似ている (全く同じではない)問題がGoogleからの質問に出る可能性があります。それはまたよい考えです 範囲を広げる それがより多くの人々を助けることができる質問につながるならば。より広い範囲の回答を書くことがそこから始まります。
Daniel Beck

1
私は自分のすべての答えを受け入れて最高の痛みを得ることを目的としていませんでした。私はこれらのサイトのいくつかで数日(今週の週末)を過ごします。最初の印象は、私が自分の知識を人々と共有できるということでした。これが私が答えを提供し始めた理由です。そう私はこれらの3日間で760ポイントを得ました。はい、私の答えの中には、さまざまな観点から見たハイエンドの品質に関するものではありませんでした。しかし、それらはすべて正しかった。しかし今、私はここに質問をするほとんどの人が - 自分自身で解決策を見つけるために一瞬を費やすことを望んでいない学者であることがわかります。私は私の時間を過ごすために何のために?
Serge

1
@Sergeあなたのコメントが何についてのものかわからない。あなたがそれを述べた後に私が見たものから、あなたはサイトに貢献することへの印象的な始まりを持っていました。私がサイトを使うのを手伝うことができる何か、またはあなたが議論したい何かがあるならば、チャットで私にpingを送ってください。私はUTC + 2に参加していますが、すぐに回答が届かない場合があります。 「初心者」の質問について:いくつかの情報は ではない 簡単に見つけられます。全文を読む bash 何を検索すればよいかわからない場合は、manページに時間がかかります。
Daniel Beck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.