bash から / 内の * というフォルダーを削除するにはどうすればよいですか?

bash から / 内の * というフォルダーを削除するにはどうすればよいですか?

*の下にという名前のフォルダーがあるとします/。rm -rf * などの一般的なコマンドは機能しないことはわかっています。何か助けはありますか?

答え1

次の短いコマンドを使用します:

rm /\*

答え2

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

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

関連情報