Remove um arquivo chamado “-f” ou “-r” [duplicado]

1

Querendo saber como remover um arquivo, seu nome é "-f" ou "-r" no Mac OS e no Linux. Qual é o caminho certo para escapar? Eu fiz alguma pesquisa e parece que a única maneira é remover por ID de inode?

obrigado antecipadamente, Lin

    
por Lin Ma 16.10.2015 / 05:18

2 respostas

1

Você pode usar rm ./'-f' e rm ./'-r' , rm -i ./* ou rm -i ./-* . Essas soluções são amplamente conhecidas.

    
por 16.10.2015 / 05:31
4

A solução de Larssend (especificando um diretório atual antes de especificar o nome do arquivo) funciona bem. Só para lhe dar outra solução, no entanto:

rm -- -f

Portanto, passe um parâmetro de dois hífens antes de especificar o nome do arquivo desafiador.

O - significa "pare de tentar tratar os próximos personagens como opções", para que os hífens parem de agir como caracteres especiais nos parâmetros posteriores. Ajuda a garantir que um arquivo iniciado com um hífen não permita que você especifique acidentalmente algumas opções não intencionais. Este é um recurso de programa, não um recurso de shell, portanto, o suporte para esse recurso pode variar entre os programas, mas muitos programas Unix padrão o suportam.

    
por 16.10.2015 / 07:57