Как удалить папку с именем * в / из 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без проблем.

Связанный контент