Você afirma que deseja excluir o conteúdo deste: ~/tmp
. Mas o comando que você diz que correu é isto:
sudo rm -rf * tmp/
Lamentamos informar que todo o conteúdo do diretório em que você estava quando executou esse comando, provavelmente o seu diretório pessoal, foi eliminado quando você executou esse comando.
O comando que você deve ter executado é este:
sudo rm -rf ~/tmp
Ao executar o primeiro comando, isso é o que deu errado:
- Você tinha um caractere curinga (
*
) que significa basicamente "Atuar em tudo a partir desse diretório, incluindo diretórios filhos". - Existe um espaço entre o
*
e otmp/
, o que não faz sentido. - A maneira como o
rm
funciona é que ele excluirá todos os itens na lista delimitada por espaço com a qual ele foi fornecido. Então, quando você executavasudo rm -rf
com* tmp/
, basicamente dizia ao sistema para “Atuar em tudo a partir deste diretório, incluindo diretórios filhos, e quando isso for feito, exclua o diretóriotmp/
depois disso”. E, claro, o-r
disserm
para pesquisar em seus diretórios filhos recursivamente .
Então, quando tudo estiver dito e pronto… Sim… Você disse ao Mac OS X - via “Terminal” - para excluir todos os arquivos e diretórios de qualquer diretório em que você executou esse comando.
Além disso, você diz isso:
Nothing in “Trash.” All my documents, downloads, pictures, projects. GONE!
A “Lixeira” não desempenha nenhum papel no “Terminal”, já que todo o conceito de “Lixeira” é uma parte de segurança do sistema “Finder” do Mac OS X. Quando você apaga algo no “Finder”, ele vai para o “Lixeira”, mas se você executar rm
do “Terminal”, o (s) item (ns) será (ão) apagado (s). A menos que você tenha um backup, o material desapareceu. Desculpa. Nada pode ser feito.
É por isso que, no mundo da linha de comando - e agindo em arquivos como este - é sempre recomendado que você faça um comando de "execução a seco" com ls
(lista o conteúdo do diretório) assim:
ls -la * tmp/
Como ls
apenas lista arquivos e diretórios, ao executar ls -la
with * tmp/
, você obterá uma listagem de todos os arquivos e diretórios aos quais os argumentos * tmp/
atuariam. E, em algum cenário alternativo, você veria imediatamente o que o comando faria se o executasse com o comando sudo rm -rf
e saberia: “Ei! Isso parece errado ... ”e pule de volta para a prancheta para ver como reprovar seu esforço de limpeza.