Я уже пробовал много команд для создания файла и удаления файла с символом #
, но это не работает. Может кто-нибудь сказать мне команду для создания, а затем удалить файл, который начинается с #
?
2 ответа
Два канонических способа создания / удаления файлов с "забавными персонажами":
- Цитируя, как показал Алекс. Вы можете использовать одинарные или двойные кавычки, в зависимости от ваших потребностей расширения. Обратная косая черта может использоваться, чтобы избежать единственного забавного персонажа. Это работает до тех пор, пока имя файла не выглядит как опция (начинается с тире).
- Если файл выглядит как опция, добавьте путь:
rm ./- "./-rf ."
Современные версии утилит Unix часто поддерживают двойную черту для обозначения конца опций. В таких системах rm -- -
удаляет файл с именем -
.
Обратите внимание, что вы не можете создавать или удалять файлы с косой чертой или ASCII NUL в их имени. Если у вас есть такой файл (я их видел), что-то в вашей файловой системе пошло не так.
В вашем конкретном случае с хешем #
проблема связана с тем, что оболочка интерпретирует слово, начинающееся с #
как начало комментария оболочки. Хорошая оболочка позволяет отключить эту функцию оболочки, называемую интерактивными комментариями:
- zsh:
unsetopt interactivecomments
- bash:
shopt -u interactive_comments
С ними вы можете просто touch #; rm #
без хлопот.
Делать...
touch "#file"
Удалить...
rm "#file"