Respostas:
Não existe um "desfazer" geral para todas as operações no terminal. Se você deseja recuperar um arquivo após o uso rm, precisará procurar no software de recuperação.
Uma opção para evitar erros futuros é fazer aliases para comandos alternativos para remover arquivos. Adicione-os ao seu ~/.bashrce adquira o hábito de usá-los em vez de rm.
alias rmi = 'rm -i'
Se você usar rmi, você será solicitado a confirmar futuras exclusões. Tente evitar desenvolver o hábito de pressionar yimediatamente após emitir um rmicomando, pois isso anulará o objetivo.
Você também pode mover os arquivos excluídos pelo trshcomando no terminal para a lixeira (no KDE e no Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
Se você usar trsh, terá um recurso limitado de "exclusão". Cuidado que
trsh dir1/file1 dir2/file1
ainda pode causar perda irrecuperável de dados.
rmpara rm -ié que você se acostumar com a rede de segurança que ele lhe dá. Então você vai para outra máquina, que não tem esse apelido ...
rmi-> rm -i. É realmente um erro simplesmente atrapalhar um programa existente fazendo um alias sobre ele.
Não há lixeira para a linha de comando.
Você pode experimentar alguns dos vários utilitários não excluídos, mas não há garantia de que eles funcionariam.
Você pode usar o lixo-cli se usar o KDE ao executar um gui. Este é um utilitário de linha de comando para excluir / restaurar usando as instalações da lixeira do KDE.
alias rm=trashque suas falhas de linha de comando típicas venham com botões de desfazer.
alias rm=trashé potencialmente perigoso, se houver alguma chance de você usar o sistema de outra pessoa um dia e esquecer (ou ssh). Muito mais seguro se acostumar a escrever em trashvez de rm.
Você pode criar rmum alias para o trashcomando (você precisará instalar trashprimeiro.) Adicione isso ao seu ~/.bashrc:
alias rm='trash'
Isso é preferível, alias rm='mv --target-directory=$HOME/.Trash'já que ~ / .Trash NÃO é a pasta de lixo do gnome. É melhor IMHO deixar trashdescobrir onde está a pasta de lixo real.
btw eu teria postado isso em um comentário, mas eu não tenho representante suficiente.
Ainda não foram nomeadas mais duas soluções técnicas:
Há uma pergunta maior aqui que vale a pena abordar. Os comandos do shell não são faladores (eles não checam o que você deseja) e esperam que você saiba o que está fazendo. Isso é fundamental para como eles são projetados . É um recurso, não um bug.
Algumas pessoas se sentem machões quando usam esses comandos, o que eu acho bastante tolo, mas é importante entender os perigos. Você pode causar muitos danos em um terminal, mesmo que não seja root. Acho que você provavelmente só se importou rm, mas como você disse: "Podemos desfazer as operações realizadas no terminal", pensei que valeria a pena dizer. A resposta geral é não, você não pode.
Opção 1: Consulte Recuperar arquivos Linux de um sistema de arquivos ext2 . Esta página aponta para um programa, escrito por Sebastian Hetze, da empresa LunetIX, que (como o título sugere) anula a exclusão de arquivos excluídos recentemente de um sistema de arquivos ext2. Exemplo de uso:
# undelete -d /dev/hdc3 -a 10
Advertências:
Opção 2: Tenho o rsnapshot (rsync) em execução na minha máquina, que faz instantâneos de hora em hora das minhas pastas selecionadas. Ele faz isso de forma incremental a cada hora, 2 horas ou o que você solicitar ao CRON. Após um dia inteiro, ele recicla esses instantâneos em um instantâneo diário e após 7 dias por semana, etc. Isso me permite voltar no tempo por cerca de um mês a cada hora! É muito bom com espaço em disco, pois cria links simbólicos para arquivos que nunca foram alterados ...
Recupere usando grep on /dev/partition( Linux ou Unix Recupere arquivos excluídos - cancele a exclusão de arquivos ),
grep -b 'search-text' /dev/partition > file.txt
Apenas uma tentativa.
Existem utilitários não-excluídos para o ext2, mas a maioria dos outros sistemas de arquivos Linux está paralisada na Idade da Pedra e não possui recursos avançados de usabilidade. Triste estado de coisas considerando unidades gigantescas com espaço suficiente para nunca excluir um arquivo novamente é comum.
Então você está preso a três opções:
Faça backup regularmente, por exemplo, com um comando como:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
Use uma ferramenta de controle de versão, como gitem todo o seu trabalho. Embora isso não proteja contra um louco rm -rque mata o repositório, ele protege contra problemas regulares, pois você estará usando o git rmnão bruto rm.
Seja extremamente cuidadoso e não confie demais rm -i, trash-clie amigos, pois a maioria dos dados que você perderá no shell não perderá acidentalmente rm, mas por tubos mal direcionados, arquivos de saída digitados incorretamente, mal direcionados mve outras coisas, ou seja, coisas que sobrescreverão seus dados, não apenas exclua-os.
Faça os três para obter o máximo de segurança.
verifique isso ... pode ser útil http://artmees.github.io/rm/
suponha que você fez
rm very_important_file
do terminal. recuperar esse arquivo é um processo tedioso e nem sempre bem-sucedido
em vez disso, se você usou o script mencionado acima. você não precisa se preocupar com isso porque
rm very_important_file
mv very_important_file ~/.Trash/
são equivalentes. o script lida com mais casos e não altera o seu sistema rm, porque é colocado na pasta bin local do usuário, de modo que oculta a rm do sistema e ainda não o afeta ou desativa o uso
essa é uma abordagem refinada de alias, mas sem perder nenhum recurso
O TestDisk pode recuperar arquivos dossistemas dearquivos FAT, exFAT, NTFS e ext2 .
Para mim (opensuse salto 42.2, pendrive NTFS) PhotoRec - também pelos testdiskcriadores - funcionou :) No entanto, ele não recuperou os nomes dos arquivos.
O PhotoRec é um software de recuperação de dados de arquivos projetado para recuperar arquivos perdidos, incluindo vídeo, documentos e arquivos de discos rígidos, CD-ROMs e fotos perdidas (portanto, o nome do Photo Recovery) da memória da câmera digital. O PhotoRec ignora o sistema de arquivos e segue os dados subjacentes; portanto, ele continuará funcionando mesmo que o sistema de arquivos da mídia tenha sido severamente danificado ou reformatado.
Instalei-o usando repositórios padrão no openSUSE
rm: Desvincula um arquivo deleinode. A pergunta: "Para onde vão os arquivos quando ormcomando é emitido" -> unix.stackexchange.com/questions/10883/… também pode ser uma boa leitura para você.