Uso:
cd ./-
Ou:
cd /absolute/path/leading/to/-
Ou melhor:
mv ./- something-sensible
cd something-sensible
O traço solitário é usado por muitos comandos para significar 'entrada padrão' ou 'saída padrão'. Alguns comandos podem ser persuadidos a levar um traço solitário à entrada padrão e outro à saída padrão em uma única chamada de comando: por exemplo, com o GNU Tar, tar -cf - -T -
lê a lista de nomes de arquivos para arquivar a partir da entrada padrão ( -T -
) e grava o arquivo tar na saída padrão ( -f -
). Esses comandos nunca verificam se existe um arquivo real chamado -
; eles apenas comparam o nome com -
e o tratam como o fluxo de E / S padrão apropriado. Você contorna o problema da mesma maneira: use um nome como ./-
para especificar o arquivo.
Você também pode observar que um nome --
(traço duplo) também causa problemas porque o argumento de traço duplo é usado para separar opções dos argumentos de nome de arquivo (não-opção), como em:
rm -fr -- -
Isso removeria o arquivo ou diretório -
, mas deixaria o arquivo (ou diretório) --
inalterado. Estude a especificação das Convenções de Utilidade POSIX do POSIX para ver onde esse comportamento é definido.