Допустим, у меня была папка с именем *
под /
. Я знаю, что такие общие команды, как rm -rf * не будут работать. Любая помощь?
Допустим, у меня была папка с именем *
под /
. Я знаю, что такие общие команды, как rm -rf * не будут работать. Любая помощь?
Ответы:
Вы можете заключить в кавычки аргументы, чтобы предотвратить обработку оболочкой.
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
без проблем.
&
), и избегать их по отдельности, что может легко стать большим усилием, чем один раз процитировать. Поэтому я считаю, что индивидуальный побег уступает и опубликовал эту альтернативу.
bash
справочной страницы занимает некоторое время, если вы не знаете, что искать.
rm *
будет работать, чтобы удалить эту папку.