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 alias
es para comandos alternativos para remover arquivos. Adicione-os ao seu ~/.bashrc
e 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 y
imediatamente após emitir um rmi
comando, pois isso anulará o objetivo.
Você também pode mover os arquivos excluídos pelo trsh
comando 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.
rm
para 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=trash
que 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 trash
vez de rm
.
Você pode criar rm
um alias para o trash
comando (você precisará instalar trash
primeiro.) 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 trash
descobrir 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 git
em todo o seu trabalho. Embora isso não proteja contra um louco rm -r
que mata o repositório, ele protege contra problemas regulares, pois você estará usando o git rm
não bruto rm
.
Seja extremamente cuidadoso e não confie demais rm -i
, trash-cli
e 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 mv
e 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 testdisk
criadores - 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 orm
comando é emitido" -> unix.stackexchange.com/questions/10883/… também pode ser uma boa leitura para você.