Допустим, у меня есть папка с именем *
. /
Я знаю, что обычные команды вроде 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
без проблем.