As duas maneiras canônicas de criar / excluir arquivos com "personagens engraçados" são
- Citar , como o alex mostrou. Você pode usar aspas simples ou duplas, dependendo das suas necessidades de expansão. Uma barra invertida pode ser usada para escapar de um único personagem engraçado. Isso funciona desde que o nome do arquivo não se pareça com uma opção (começa com um traço).
- Se o arquivo parecer uma opção, adicione um caminho :
rm ./- "./-rf ."
As versões modernas dos utilitários Unix geralmente suportam o traço duplo para indicar o final das opções. Em tais sistemas, rm -- -
remove um arquivo chamado -
.
Note que você não pode criar ou remover arquivos com uma barra ou NCA ASCII em seu nome. Se você tem esse arquivo (eu já vi), alguma coisa no seu sistema de arquivos está terrivelmente errada.
Em seu caso particular com o hash #
, o problema deriva do shell interpretando uma palavra que começa com #
como iniciando um comentário do shell . Um bom shell permite desativar esse recurso de shell, chamado comentários interativos :
- zsh:
unsetopt interactivecomments
- bash:
shopt -u interactive_comments
Com isso, você pode simplesmente touch #; rm #
sem problemas.