Remova o arquivo com ` no nome

Remova o arquivo com ` no nome

Em algum momento eu criei um arquivo com: ` nele. Como faço para removê-lo?

ls -laretorna:

-rw-rw-r--  1 ec2-user ec2-user     0 Sep 25 23:01 `which

Responder1

Existem muitos caminhos:

  1. Cite o nome do arquivo

    rm '`which'
    
  2. Fuja do personagem ofensor

    rm \`which
    
  3. Use shell globbing (com aviso, caso haja outros arquivos correspondentes)

    rm -i ?which
    rm -i *which
    
  4. Use findem vez disso (observe que, como @Braiam apontou abaixo, isso encontrará todos os arquivos que correspondem ao diretório atual e poderá excluir mais do que você esperava).

    find . -name '`which' -exec rm {} \;
    find . -name '`which' -delete
    

Responder2

Se você tiver 'personagens engraçados' em seu nome de arquivo e não conseguir digitá-los, você pode fazer:

rm -i *which*

onde whichestá a parte que consiste em caracteres normais.

O -i(para interativo) certifique-se de ser avisado antes de remover qualquer nome de arquivo correspondente, para que você possa pular todas as correspondências que não deseja excluir.

Responder3

Você pode removê-lo escapando do caractere ofensivo com uma barra invertida. Você pode digitar

rm \`which

e isso resolverá o problema.

Responder4

Isso acontece. Se o seu nome de arquivo for

`which 

você deveria usar

mv '`which' which

Você precisa usar isso 'em torno do nome do arquivo, pois ele possui um caractere especial antes do nome do arquivo.

informação relacionada