desfazer o rm do Linux? [duplicado]


31

Possível duplicado:
UNDO LINUX Trash Command

Oi,

Existe alguma maneira simples de desfazer um rmcomando?

A questão é puramente teórica; NUNCA excluí o registro de uma fila de benchmark que levava um almoço inteiro para executar.



1
... ou pelo menos muito estreitamente relacionadas, mesmo que a própria questão é formulada para ser um pouco mais geral
Jonik

Respostas:


33

No ubuntu ou similar:

$ sudo apt-get install trash-cli
$ alias rm=trash

Em seguida, coloque esse alias no .bashrc ou no script de login apropriado para o seu shell de escolha.

O trash-clipacote é uma interface de linha de comando para a mesma lata de lixo usada pelo GNOME, KDE e outros. Portanto, qualquer coisa que você exclua por meio do trashcomando pode ser restaurada pelo GNOME / KDE e vice-versa.

Os outros comandos no trash-clipacote são trash-list, trash-emptye restore-trash.


11
+1 para lixo-cli, -1 para aliasing rm.

1
O que há de errado com o aliasing rm? Gosto de ter um botão para desfazer minhas exclusões acidentais, mesmo na linha de comando. Além disso, trash-cliexplicitamente facilita isso aceitando (e ignorando) muitas rmopções do GNU . Além disso, o OP pediu uma maneira de desfazer. Esta solução não responde à pergunta corretamente sem o alias.
Ryan C. Thompson

15
@ Ryan: Porque você se acostuma a rm a significar algo diferente do que o comando rm realmente faz, e então comete um erro quando não está com alias. Acostume-se a usar o comando lixeira e isso não pode acontecer.

5
@ Roger: Ou ... você pode criar um pseudônimo rme depois hipnotizar-se para esquecer o que fez. Dessa forma, você ainda pode continuar usando rmcomo se fosse final ... mas se você escorregar e dizer "oh não !!" você não está completamente ferrado. (ou seja, não dependem de funcionalidade que é "recuperável")
MPEN

@RyanThompson: Esta é uma boa dica, mas como configurar isso para funcionar também com sudo rm?
takeshin 25/09/10

15

A resposta tradicional é:

Você recupera o arquivo do backup mais recente. Você tem um backup recente, não é?

porque em muitos sistemas de arquivos unix, esse simples não é possível ou é muito difícil.

Como outros observaram, esse não é o objetivo final e final de tudo, mas não cometer erros desse tipo ainda é a abordagem preferida.


5
Realmente pretendo colocar todos os meus scripts em um repositório bzr comprometido a cada hora.
30511 Adam Matan

3
A resposta moderna é: Recupere o arquivo de um instantâneo recente do sistema de arquivos. :-)
knweiss

Essa é uma pergunta interessante ... Normalmente não faço backups de ~ / Downloads ... e limpei meu conteúdo passando rm -fr *(1)*... todos os arquivos foram removidos. Portanto, ter backups nem sempre é a solução. O lixo-cli soa frio.
M3nda

Não, ter backups é SEMPRE a solução. Só porque você optou por não fazer backup de algo, não torna o backup e não a solução, isso o torna tolo por não fazer backup de algo.
djsmiley2k - vaca

4

Para evitar erros futuros hipotéticos, convém alias rm para rm -i ...


6
Geralmente, acho que isso nunca evitaria erros (o 'y' é digitado automaticamente), mas consome muito tempo e incentiva o uso de rm -rf Nome-cujo-nome-não-deve-ser mencionado.
30511 Adam Matan

Isso lhe dá uma chance extra antes de estragar as coisas. Geralmente, apenas lscom os mesmos parâmetros antes, para que eu possa ver o que está acontecendo.
22330 Rich Bradshaw

Normalmente, apago os arquivos de propósito, só percebi que precisava desses arquivos mais tarde. Então interativo não ajudaria
andrewtweber
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.