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