Remove nome do arquivo com “-r” no linux [duplicado]

3

Não consigo excluir um nome de arquivo chamado -r com rm -rf -r Existe algum truque especial para removê-lo?

    
por Niketan Raval 14.07.2016 / 13:21

2 respostas

16

No sistema Linux ou no sistema Unix, você pode encontrar nomes de arquivos com caracteres especiais, como:

-
--
;
&
$
?
*
White spaces, backslashes and more.

The problem and solution

Dica 1: tente usar um ./ no início do nome do arquivo

A sintaxe é a seguinte para excluir um arquivo chamado '-file':

$ rm -v ./-file

removed './-file'

Dica # 2: tente um - no começo do nome do arquivo

A -- signals the end of options and disables further option processing     by   shell. 

Any arguments after the -- are treated as filenames and arguments.

$ rm -- -file

$ rm -- --file

$ rm -- '@#$%^&file'

$ rmdir -- '--dirnameHere'

    
por 14.07.2016 / 14:16
12

Conforme descrito nas páginas rm man:

To remove a file whose name starts with a '-', for example '-foo', use one of these commands:

      rm -- -foo
      rm ./-foo

Então, no seu caso:

rm -- -r

Ou

rm ./-r
    
por 14.07.2016 / 13:24

Tags