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