Eu tinha uma pasta que não queria que tivesse o nome '~', então, na linha de comando, digitei
rm -rf ~
e excluiu acidentalmente minha pasta pessoal (desde que ~ foi resolvido para / home / nome de usuário). Existe algum caminho de volta ou eu basicamente preciso recriar a conta do zero?
rm -rf "~"
aspas procurarão esse nome literal em vez de expandi-lo. Mas eu ficaria com medo de usá-lo de qualquer maneira - eu usaria algo comols
oucd
primeiro para verificar se eu tenho o diretório certo ou excluir a pasta de um gerenciador de arquivos da GUI. Talvez primeiro renomeie o dir (mv "~" tilde
), verifique e remova.Respostas:
Em geral, não há caminho fácil de volta.
Você pode restaurar do seu backup diário.
fonte
Outros (como @RiMMER , @ Adam , e @ James T ) ter mencionado que, para a maioria dos sistemas de arquivos, é possível recuperar a maioria ou todos os seus dados (talvez sem nomes), porque os dados não são realmente zerado apenas removido da tabela de arquivos. Isso não se aplica apenas ao Linux - o mesmo se aplica ao Windows e Mac.
No entanto, ninguém mencionou a coisa mais importante - DESLIGUE O COMPUTADOR. AGORA. .
Muitos programas - incluindo o navegador da Internet que você está usando no momento - armazenam em cache os dados no disco rígido e praticamente qualquer coisa que você faça pode fazer com que o computador redimensione / grave no arquivo de troca. Ambas as coisas serão gravadas em setores livres no disco rígido, potencialmente substituindo seus dados preciosos.
Portanto, desligue o computador, retire o disco rígido e coloque-o em outro computador. Monte o disco rígido como somente leitura e recupere os arquivos em um disco rígido separado. Quando você recupera tudo o que pode interessar - e somente então -, grave os arquivos de volta na unidade original.
fonte
killall rm
em vez de desligar.Eu acredito que todo usuário de Linux em um determinado momento precisa aprender esta lição dolorosa em primeira mão antes de aprender a importância dos backups, além de prestar atenção aos detalhes e ter cuidado.
Por exemplo, se você estiver excluindo arquivos com aparência estranha, primeiro poderá executar comandos nesse arquivo estranho que não têm efeitos colaterais e que não fazem alterações nos seus dados. Por exemplo, você correu
antes de tentar excluir a pasta, você perceberia que ela mudaria o diretório para a sua pasta pessoal, não para a
~
pasta. Depois de seguir as etapas de solução de problemas suficientes para aprender o verdadeiro comando que você precisaria acessar corretamentecd
na~
pasta, pressione a tecla de seta para cima para puxar o último comando do histórico e depois alterecd
pararm
e então e somente então tente excluir a pasta .Sugiro tomar medidas como essa antes de executar qualquer ação permanente. Não é permanente ou infalível, mas você tem uma chance muito maior de impedir esses momentos difíceis se tomar esse grau de cuidado ao executar ações que tenham efeitos colaterais.
fonte
ls
antes de vocêrm
.Se você estiver usando o sistema de arquivos ext3, o ext3grep é seu novo melhor amigo. Um bom tutorial (entre muitos outros) sobre o uso do ext3grep pode ser encontrado aqui .
fonte
Você pode tentar usar o testdisk para recuperar arquivos individuais . Aparentemente, isso funciona apenas no ext2 e NTFS (mas ainda vale a pena tentar).
Se você possui ext3 ou ext4, pode recuperar arquivos conhecidos usando o photorec , o que provavelmente acabará se recuperando mais do que você deseja. O Photorec recupera arquivos sem as informações do nome do arquivo, portanto pode ser entediante percorrer os arquivos.
fonte
Se você possui uma unidade externa grande o suficiente, tem outra opção possivelmente mais segura. Você precisará de espaço suficiente para armazenar toda a partição pessoal, incluindo espaço livre.
Inicialize a partir de um CD e não monte a unidade doméstica. Monte a unidade externa. dd a partição da unidade inicial em um arquivo na unidade externa. monte o arquivo como um dispositivo de loopback, faça seu trabalho de exclusão nesta imagem, com a certeza de que você não pode danificar o sistema de arquivos original. Dependendo do sistema de arquivos, pode haver muitas coisas para tentar, algumas delas potencialmente destrutivas.
Isso me salvou uma vez com uma versão beta do Reiser4, quando eu não sabia o que faria, mesmo que eu o montasse apenas para leitura. Eu li em algum lugar no momento em que as redações de diário ainda eram possíveis.
Também é uma boa técnica para salvar dados de uma unidade que está morrendo.
fonte
Existem técnicas para recuperar arquivos inspecionando os inodes que não foram reciclados. Quanto mais dados você gravar no sistema de arquivos após a exclusão, menor a probabilidade de recuperar seus dados. A melhor estratégia para recuperar uma exclusão acidental de dados é restaurar do backup.
fonte
Supondo que você esteja usando o shell Bash (coloque isso no seu arquivo .bashrc para que ele persista em novos shells que você abrir).
Isso deve resultar em rm solicitando que você confirme o que deseja excluir, o que é bom, especialmente quando você está executando -rf, mas também expandirá '~' para o caminho completo para o diretório inicial no prompt, o que deve fornecer uma pista de que você não está excluindo um arquivo '~', mas na verdade seu proprietário.
Tecnicamente, essa não é uma resposta para sua pergunta, mas pode ajudá-lo a evitar esse problema no futuro.
EDIT: Algumas pessoas podem desencorajá-lo a usar essa técnica, pois isso torna você menos cuidadoso com o comando "rm". Na minha experiência, isso está longe da verdade. Na realidade, o efeito do alias é desencorajá-lo a usar "rm -rf" - como você sabe, isso resultará em muitos prompts que você não deseja responder - e para obter um "rm -rf" não solicitado "você precisa se referir deliberadamente ao comando rm como / bin / rm (ou o que seja). Isso leva a um uso muito mais consciente e deliberado do comando "rm" em geral - como você sempre precisa preceder o uso do rm com uma opção mental de "rm ou / bin / rm" - no servidor e em qualquer outro para estar conectado. E um mundo em que todos pensassem antes de usar a rm seria realmente mais seguro!
fonte
-f
substitui a-i
opção.rm -i my_list_of_files
. Então eu uso CTRL-C e lembro o meu comando para modificá-lo pararm -rvf my_list_of_files
Sinto muito pelos seus dados. Todos os demais entraram em contato com a forma de lidar com o problema dos dados, mas aqui estão algumas informações sobre como lidar com a próxima vez que uma pasta for calibrada
~
.-rf
nenhum argumento louco e poderoso para a rm fazer a exclusão. Em vez disso, tome calma e devagar e verifique se você pode ver o que está acontecendo. É possível inserir o til sem expandir para o diretório inicial, escapando-o no shell. Em teoria, você poderiarm -rI \~
, no entanto, pode dar um passo adiante.cd \~
para entrar nessa pasta, talvez até usepwd
para verificar se você chegou lá. Dez removem o conteúdo enquanto você está lá. Mais uma vez, tenha cuidado, mas limpe a pastarf -rI *
e, se precisar,.*
também.cd ..
e remova o diretório comrmdir \~
.fonte
Eu apenas CD. Instantâneo e restaurar os arquivos. Mas faço isso no trabalho e não faço ideia de que o diretório .snapshot vem. Eu pensei que talvez fosse um recurso do Linux.
fonte
Ferramentas de recuperação - linha de comando:
Ferramentas de recuperação - Gui:
Informações:
Na minha experiência pessoal, recupero meus dados usando o "UFS Explorer" e o photorec
(1) = Não é de código aberto, não é livre
(2) = Não é de código aberto, gratuito
(3) = Código aberto e gratuito
(4) = Ter suporte a NTFS
(5) = Possui recurso de estrutura de diretório
fonte
rm é para sempre.
Embora isso não o ajude agora, no futuro, você não poderá usar o rm ou, para forçar a si mesmo, adicionar um script encontrado anteriormente no seu caminho chamado rm, que moverá os arquivos para uma pasta lixeira que você limpará em outra hora (permitindo você cometer erros e não ser SOL).
fonte