rmdir ./~
Então, basicamente, você está especificando o caminho de tal forma que não haverá expansão do shell no "~".
Um programa de defeitos criou um diretório chamado ~
.
Se eu fizer rm \~
e, em seguida, TAB it for traduzido para ~/
, que é o diretório inicial dos usuários.
Como excluir esse diretório?
Atualizar
Veja minha resposta que resolveu o problema. É baseado nas respostas postadas.
Use rmdir '~'
, o que deve funcionar.
Como resposta geral para qualquer arquivo.
ls -i
pegue esse número e coloque-o em find -maxdepth 1 -inum [number] -exec rm -r {} \;
Eu confirmei os seguintes trabalhos. Você pode usar a conclusão de tabulação também.
rm ./~
Sem pressionar a guia, tente
rmdir \~
Dar o caminho absoluto resolveu o problema.
rmdir /home/user/~
e o TAB não o reescreveu para outra coisa.
O shell executa a expansão de curingas em vários símbolos reservados, sendo o til um exemplo. Quando a concha vê
$ rm ~
Ele expande o til para o caminho do diretório pessoal do usuário. Essencialmente, o shell "vê" isso:
$ rm /home/$USER/
Para evitar a expansão de curingas, escape do símbolo com \
, assim:
$ rm \~
Isso garantirá que o shell lide com o ~
literalmente.
Você tem duas opções para excluir um diretório chamado ~
:
Para um diretório não vazio, passe o sinalizador recursivo para rm
:
$ rm -r \~
E para um diretório vazio:
$ rmdir \~
primeiro pensamento seria "não use tab", mas não testado. Melhor opção: instale o "mc" (midnight commander) e apague o diretório de sua interface. é um pouco de uma solução alternativa embora.
Tags linux