怎样从 bash 中删除 / 中名为 * 的文件夹?

怎样从 bash 中删除 / 中名为 * 的文件夹?

假设我有一个名为的文件*/。我知道像 rm -rf * 这样的常用命令不起作用。有什么帮助吗?

答案1

使用这个简短的命令:

rm /\*

答案2

您可以用单引号括住参数以阻止 shell 处理。

rm -r '/*'

使用以下方法进行安全测试ls(在包含文件的文件夹中):

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

在这种情况下,双引号也可以工作,但如果涉及到$,则不行,因为 shell 会假定它是一个变量:

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

对于 GNU rm,您还可以--在文件名前添加参数,以防止它们被解析为参数。这样您就可以-rf毫无问题地删除命名的文件。

相关内容