rm -R ./~
Isso fará com que procure ~
na pasta atual.
Esta é a saída de ls -l
ls -l
total 53484
drwxr-xr-x 3 root root 4096 2011-02-10 05:59 ~
-rw-r--r-- 1 root root 54313810 2011-02-13 05:09 jobs.jar
-rw-r--r-- 1 root root 384035 2011-02-15 05:33 jobsLog.out
Não consigo fazer rm -rf ~
porque isso removerá meu diretório pessoal.
O que devo fazer? Não é um problema para mim, mas apenas uma dor nos olhos.
rm -R ./~
Isso fará com que procure ~
na pasta atual.
Eu cometi erros bobos com rm
, então aqui estão algumas dicas que aprendi ao longo dos anos para tentar manter seus dados protegidos contra acidentes:
Use uma solução gráfica como o Nautilus. Suavize-o para o lixo. Então, quando você souber que não moveu seu $HOME
para a lixeira (tudo teria começado a falhar e parecer estranho), esvazie sua lixeira.
Mover em vez de excluir. Renomeie o diretório com mv
, por exemplo:
mv ./\~ ./a-nice-sensible-directory-name
Em seguida, exclua-o.
Em caso de dúvida, use o flag -i
ao lidar com possíveis fubars. Ele solicitará todos os arquivos removidos e permitirá que você saiba rapidamente se algo ruim irá acontecer.
oli@bert:~/Desktop$ rm -rfi ./del/
rm: descend into directory './del'? y
rm: remove regular file './del/output2.pdf'?
Problema brilhante:)
Você pode excluir o diretório escapando o til:
rm -rf \~
Isso funciona para todos os tipos de caracteres especiais.
Você pode simplesmente adicionar o nome da pasta em apóstrofos:
rm '~'
Apenas outra maneira, um pouco mais complexa, é usar números de inode:
$ ls -li
total 24
7146369 drwxr-xr-x 4 user staff 136 Jan 19 21:50 ~
$ find . -xdev -inum 7146369 -exec rm -rf {} \;
Prós
-xdev
: não desce diretórios em outros sistemas de arquivos) e você pode testar a pesquisa primeiro, apenas no caso de remover -exec rm -rf {} \;
. / li>
Contras
find .
em um diretório com muitos arquivos e / ou diretórios levará muito tempo e leitura de disco.