Come recuperare un file eliminato in Linux

È mai successo anche a te? Ti sei reso conto di aver eliminato per errore un file, sia premendo il tasto Del, sia usando rm nella riga di comando.

Nel primo caso, puoi sempre andare nel Cestino, cerca il file e ripristinarlo nella sua posizione originale. Ma nel secondo caso? Come sicuramente sai, la riga di comando di Linux non invia i file rimossi da nessuna parte: li RIMUOVE. Sono spariti.

Lettura consigliata: Come recuperare file/cartelle eliminate usando lo strumento Scalpel

In questo articolo condivideremo un suggerimento che potrebbe esserti utile per evitare che ciò ti accada, e uno strumento che potresti considerare di utilizzare se in qualche momento commetti comunque un errore.

Crea un alias per ‘rm -i’

Lo switch -i, quando usato con rm (e anche con altri strumenti di manipolazione file come cp o mv), fa apparire un prompt prima di eliminare un file.

La stessa cosa si applica al copiare, spostare o rinominare un file in una posizione dove ne esiste già uno con lo stesso nome.

Questo prompt ti dà una seconda possibilità di considerare se vuoi effettivamente rimuovere il file: se confermi il prompt, sparirà. In tal caso, mi dispiace ma questo suggerimento non ti proteggerà dalla tua stessa disattenzione.

Per sostituire rm con un alias a 'rm -i', fai:

alias rm='rm -i'

Il comando alias confermerà che rm è ora un alias:

Add Alias rm Command

Tuttavia, questo durerà solo durante la sessione utente corrente nella shell corrente. Per rendere permanente il cambiamento, dovrai salvarlo in ~/.bashrc (alcune distribuzioni potrebbero usare ~/.profile invece) come mostrato di seguito:

Add Alias Permanently in Linux

Per far sì che le modifiche in ~/.bashrc (o ~/.profile) abbiano effetto immediato, esegui il file dalla shell corrente:

. ~/.bashrc
Active Alias in Linux

Lo strumento forense – Foremost

Speriamo che tu sia attento con i tuoi file e che avrai bisogno di utilizzare questo strumento solo per recuperare un file perso da un disco esterno o una chiavetta USB.

Tuttavia, se ti rendi conto di aver rimosso accidentalmente un file dal tuo sistema e stai per entrare nel panico – non farlo. Diamo un’occhiata a foremost, uno strumento forense progettato per questo tipo di scenari.

Per installare foremost in CentOS/RHEL 7, dovrai abilitare prima Repoforge:

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
# yum install foremost

Mentre in Debian e derivate, fai

# aptitude install foremost

Una volta completata l’installazione, procediamo con un semplice test. Inizieremo rimuovendo un file immagine chiamato nosdos.jpg dalla directory /boot/images:

# cd images
# rm nosdos.jpg

Per recuperarlo, utilizza foremost come segue (dovrai prima identificare la partizione sottostante – /dev/sda1 è dove si trova /boot in questo caso):

# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued

dove /home/gacanepa/rescued è una directory su un disco separato – tieni presente che recuperare file sullo stesso disco in cui si trovavano quelli rimossi non è una mossa saggia.

Se, durante il recupero, occupi gli stessi settori del disco dove si trovavano i file rimossi, potrebbe non essere possibile recuperare nulla. Inoltre, è essenziale interrompere tutte le attività prima di eseguire il recupero.

Dopo che foremost ha finito di eseguire, il file recuperato (se il recupero è stato possibile) sarà trovato all’interno della directory /home/gacanepa/rescued/jpg.

Riepilogo

In questo articolo abbiamo spiegato come evitare di rimuovere accidentalmente un file e come tentare di recuperarlo se si verifica un evento indesiderato del genere. Tieni presente, però, che foremost potrebbe richiedere del tempo per eseguire a seconda delle dimensioni della partizione.

Come sempre, non esitare a farci sapere se hai domande o commenti. Sentiti libero di lasciarci un messaggio utilizzando il modulo qui sotto.

Source:
https://www.tecmint.com/recover-deleted-file-in-linux/