Cuando se borran archivos accidentalmente lo primero que hay que intentar es que nada sobre-escriba el espacio que ocupaban.
A veces al instalar el programa que recupera archivos podemos sobreescribirlos. Por eso recomiendo instalar la aplicación en cualquier sistema, sin esperar a necesitarlo.
SI EL ARCHIVO TODAVÍA ESTÁ ABIERTO
Si hemos borrado un archivo que está abierto, hay una copia de él. No cierres la aplicación que lo tiene abierto.
Comprobamos si es el caso, por ejemplo con
lsof | grep Hank_Mobley
totem 25655 guimi 21u REG 8,4 5477902 55689957 /home/guimi/Hank_Mobley-Soul_Station/01-Remember_(Irving_Berlin)-Hank_Mobley.mp3
Nos fijamos en que el proceso que tiene abierto el fichero es el 25655 y le ha asignado el número 21.
Recuperamos el fichero con:
cp /proc/25655/fd/21 otra/ubicacion/01-Remember_(Irving_Berlin)-Hank_Mobley.mp3
INSTALACIÓN DE EXTUNDELETE
En este caso la aplicación que vamos a utilizar es extundelete.
Otra herramienta, solo para ext3, es ext3grep.
Como es habitual basta con:
aptitude install extundelete
USO
Supongamos que tenemos la partición “/dev/sda4” montada como “/home” y que hemos borrado el archivo “/home/guimi/ejemplo.txt”. Por tanto la ruta relativa del fichero en el dispositivo es guimi/ejemplo.txt.
Primero desmontamos la partición implicada:
umount /dev/sda4
Considera la opción de copiar toda la partición con dd.
Después recuperamos el archivo con:
extundelete --restore-file guimi/ejemplo.txt /dev/sda4
Si queremos recuperar el contenido de un directorio entero, por ejemplo “/home/guimi/ejemplo/” ejecutamos:
extundelete --restore-directory guimi/ejemplo /dev/sda4
Otras opciones interesantes son –before y –after.
OTRAS OPCIONES
También se puede probar a usar photorec.