annullare rm di Linux? [duplicare]


31

Possibile duplicato:
comando cestino UNDO LINUX

Ciao,

Esiste un modo semplice per annullare un rmcomando?

La domanda è puramente teorica; Non ho MAI cancellato il registro di una coda di benchmark che ha impiegato un'intera ora di pranzo per essere eseguito.



1
... o almeno strettamente correlato, anche se la domanda stessa è formulata per essere un po 'più generale
— Jonik,

Risposte:


33

Su Ubuntu o simili:

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

Quindi inserisci tale alias in .bashrc o nello script di accesso appropriato per la tua shell preferita.

Il trash-clipacchetto è un'interfaccia della riga di comando per lo stesso cestino che GNOME, KDE e altri usano. Quindi tutto ciò che elimini tramite il trashcomando può essere ripristinato da GNOME / KDE e viceversa.

Gli altri comandi nel trash-clipacchetto sono trash-list, trash-emptye restore-trash.


11
+1 per trash-cli, -1 per aliasing rm.

1
Cosa c'è di sbagliato con l'aliasing rm? Mi piace avere un pulsante Annulla per le mie eliminazioni accidentali, anche sulla riga di comando. Inoltre, trash-clifacilita esplicitamente questo accettando (e ignorando) molte rmopzioni GNU . Inoltre, l'OP ha chiesto un modo per annullare rm. Questa soluzione non risponde correttamente alla domanda senza l'alias.
— Ryan C. Thompson,

15
@Ryan: Perché ti abitui a significare qualcosa di diverso da quello che fa veramente il comando rm, e poi fai un errore quando non è alias. Abituati invece ad usare il comando cestino e ciò non può accadere.

5
@Roger: Oppure ... puoi alias rme quindi ipnotizzare te stesso dimenticando di averlo fatto. In questo modo puoi continuare a usarlo rmcome se fosse definitivo .... ma se scivoli su e vai "oh no !!" non sei completamente fregato. (cioè non fare affidamento sulla sua funzionalità "recuperabile")
— mpen

@RyanThompson: questo è un bel consiglio, ma come configurarlo per funzionare anche con sudo rm?
— Takeshin

15

La risposta tradizionale è:

Si recupera il file dall'ultimo backup. Hai un backup recente, vero?

perché su molti filesystem unix questo semplice non è possibile o è molto difficile.

Come altri hanno notato, questo non è più il problema generale, ma non fare errori di questo tipo è ancora l'approccio preferito.


5
Ho davvero intenzione di mettere tutti i miei script su un repository bzr con impegno orario.
— Adam Matan,

3
La risposta moderna è: recuperare il file da un'istantanea recente del filesystem. :-)
— Knweiss,

Questa è una bella domanda ... Di solito non faccio backup di ~ / Download ... e ho cancellato il mio contenuto passando rm -fr *(1)*... ogni file è sparito. Quindi avere i backup non è sempre la soluzione. I suoni del cestino si raffreddano.
— m3nda,

No, avere i backup è SEMPRE la soluzione. Solo perché hai scelto di non eseguire il backup di qualcosa, non fare il backup non è la soluzione, ti rende sciocco, per non eseguire il backup di qualcosa.
— djsmiley2k - CoW

4

Per prevenire errori futuri ipotetici, potresti voler alias rm-rm -i ...


6
In genere penso che ciò non impedirebbe mai alcun errore (la 'y' viene digitata in modo abbastanza automatico), ma consuma molto tempo e incoraggia l'uso di He-Whose-Name-Must-Not-Be-Menzionato rm -rf.
— Adam Matan,

Ti dà comunque una possibilità in più prima di rovinare le cose. In genere ho solo lsgli stessi parametri prima, quindi posso vedere cosa succederà.
— Rich Bradshaw,

Di solito elimino i file di proposito, mi rendo conto di aver bisogno di quei file in seguito. Così interattivo non aiuterebbe
— andrewtweber il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.