Risposte:
Non esiste un "annullamento" generale per ogni operazione nel terminale. Se si desidera ripristinare un file dopo l'uso, rm
è necessario esaminare il software di recupero.
Un'opzione per impedirti di errori futuri è quella di creare alias
comandi alternativi per rimuovere i file. Aggiungili al tuo ~/.bashrc
e prendi l'abitudine di usarli invece di rm
.
alias rmi = 'rm -i'
Se lo usi rmi
, ti verrà richiesta la conferma di future eliminazioni. Cerca di evitare di sviluppare l'abitudine di premere y
immediatamente dopo aver emesso un rmi
comando, in quanto ciò annullerebbe lo scopo.
Puoi anche spostare i file eliminati dal trsh
comando nel terminale nel cestino (su KDE e Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
Se lo usi trsh
, avrai una funzionalità "undelete" limitata. Attenzione
trsh dir1/file1 dir2/file1
può comunque causare una perdita di dati irrecuperabile.
rm
a rm -i
è che ci si abitua alla rete di sicurezza che ti dà. Quindi vai su un'altra macchina, che non ha questo alias ...
rmi
-> rm -i
. È davvero un errore semplicemente intralciare un programma esistente aliasando su di esso.
Non esiste un cestino per la riga di comando.
Potresti provare alcune delle varie utility non ripristinate, ma non c'è garanzia che funzionino.
Puoi usare trash-cli se usi KDE quando esegui una GUI. Questa è l'utilità della riga di comando per eliminare / ripristinare usando i servizi di cestino di KDE.
alias rm=trash
modo che le tue tipiche incasature della riga di comando siano dotate di pulsanti Annulla.
alias rm=trash
sia potenzialmente pericoloso, se c'è qualche possibilità che un giorno userai il sistema di qualcun altro e dimenticherai (o ssh). Molto più sicuro abituarsi a scrivere trash
invece di rm
.
Potresti creare rm
un alias per il trash
comando (dovrai trash
prima installarlo .) Aggiungi questo al tuo ~/.bashrc
:
alias rm='trash'
Questo è preferibile alias rm='mv --target-directory=$HOME/.Trash'
poiché ~ / .Trash NON è la cartella cestino per gnome. È meglio IMHO per trash
capire dove si trova la cartella cestino.
tra l'altro avrei pubblicato questo in un commento ma non ho abbastanza rappresentante.
Altre due soluzioni tecniche non sono ancora state nominate:
C'è una domanda più grande qui che vale la pena affrontare. I comandi della shell non sono chiacchieroni (non ricontrollano quello che vuoi) e si aspettano che tu sappia cosa stai facendo. Questo è fondamentale per come sono progettati . È una funzionalità, non un bug.
Alcune persone si sentono macho quando usano tali comandi, che penso sia abbastanza sciocco, ma è importante capire i pericoli. Puoi fare molti danni in un terminale, anche se non sei root. Penso che probabilmente ti sia davvero importato rm
, ma dal momento che hai detto "Possiamo annullare le operazioni fatte nel terminal", ho pensato che valesse la pena dirlo. La risposta generale è no, non puoi.
Opzione 1: vedere Ripristina file Linux da un file system ext2 . Questa pagina indica un programma, scritto da Sebastian Hetze della società LunetIX, che (come suggerisce il titolo) elimina di recente i file eliminati da un filesystem ext2. Esempio di utilizzo:
# undelete -d /dev/hdc3 -a 10
Avvertenze:
Opzione 2: ho rsnapshot (rsync) in esecuzione sul mio computer che rende le istantanee delle cartelle selezionate ogni ora. Lo fa in modo incrementale ogni ora, 2 ore o qualunque cosa tu dica a CRON di fare. Dopo un'intera giornata ricicla queste istantanee in un'istantanea giornaliera e dopo 7 giorni in un settimanale e così via. Questo mi rende in grado di tornare indietro nel tempo per circa un mese circa ogni ora! È abbastanza buono con lo spazio su disco in quanto crea collegamenti simbolici a file che non sono mai cambiati ...
Ripristina usando grep su /dev/partition
( Linux o Unix Ripristina file cancellati - ripristina file ),
grep -b 'search-text' /dev/partition > file.txt
Solo una prova.
Esistono utility non ripristinate per ext2, ma la maggior parte degli altri filesystem Linux sono bloccati nell'età della pietra e non hanno funzionalità di usabilità avanzate. Lo stato di cose triste considerando unità gigantesche con spazio sufficiente per non cancellare mai più un file è all'ordine del giorno.
Quindi sei bloccato con tre opzioni:
Esegui il backup regolarmente, ad esempio con un comando come:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
Usa uno strumento di controllo della versione come git
per tutto il tuo lavoro. Mentre questo non proteggerà contro un matto rm -r
che uccide il repository, proteggerà contro i problemi regolari in quanto si utilizzerà git rm
non crudo rm
.
Essere molto attenti e non si fidano troppo in rm -i
, trash-cli
e gli amici, come la maggior parte dei dati si perde sul guscio si vuole non perdere accidentali rm
, ma da tubi disguidati, i file di output digitate in modo errato, errate mv
e roba, vale a dire, le cose che si sovrascrivere i tuoi dati, non solo cancellarli.
Fai tutti e tre per la massima sicurezza.
controlla questo ... potrebbe essere utile http://artmees.github.io/rm/
supponi di averlo fatto
rm very_important_file
dal terminal. il recupero di questo file è un processo noioso e non sempre efficace
invece se hai usato lo script menzionato. non devi preoccuparti di questo perché
rm very_important_file
mv very_important_file ~/.Trash/
sono equivalenti. lo script gestisce più casi e non altera affatto il sistema rm
e questo perché è inserito nella cartella bin dell'utente locale in modo da ombreggiare il sistema rm e tuttavia non influire su di esso o disabilitarlo
questo è un approccio aliasing raffinato ma senza perdere alcuna funzionalità
Per me (opensuse balzo 42.2, NTFS pendrive) PhotoRec - anche dai testdisk
creatori - ha funzionato :) Tuttavia non ha recuperato i nomi dei file.
PhotoRec è un software di recupero dei dati di file progettato per recuperare file persi, inclusi video, documenti e archivi da dischi rigidi, CD-ROM e immagini perse (da cui il nome di Photo Recovery) dalla memoria della fotocamera digitale. PhotoRec ignora il file system e segue i dati sottostanti, quindi continuerà a funzionare anche se il file system dei file multimediali è stato gravemente danneggiato o riformattato.
L'ho installato usando repository standard in openSUSE
rm
: Scollega un file da essoinode
. La domanda: "Dove vanno i file quandorm
viene emesso il comando" -> unix.stackexchange.com/questions/10883/… potrebbe anche essere una buona lettura per te.