Допустим, у меня была папка с именем * в / . Я знаю, что такие общие команды, как rm -rf * не будут работать. Любая помощь?
8
 2 ответа
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 .
7
используйте эту короткую команду:
rm /\*
