03 mayo 2006

Recuperar fichero borrado en linux

Si eliminamos accidentalmente un fichero en linux con rm es bastante complicado recuperarlo. Existen algunas opciones sobre todo si se trata de un fichero de texto o un código fuente de un programa. Una posibilidad es utilizar grep tal como se muestra en el ejemplo:

grep -a -B 40 -A 80 texto_exclusivo_del_fichero /dev/hda3

Donde texto_exclusivo_del_fichero es un texto que aparecía en el fichero y que es poco probable que aparezca en otros, 40 es el número de líneas que se mostrarán antes del texto y 80 el número de líneas que se mostrarán después. /dev/hda3 es el dispositivo (disco) donde estaba el fichero.

El comando buscará el texto en todo el dispositivo indicado mostrando cualquier ocurrencia del mismo. Sería deseable conocer el número de líneas del fichero para poder ajustar el número de líneas antes y después.

Si queremos meter lo recuperado en un fichero en lugar de que salga por pantalla añadiremos al final:

... _del_fichero /dev/dha3 > recuperado.txt

Nota: es necesario ejecutar el comando con permisos de root para poder acceder al dispositivo.

Enlace relacionado: http://elenya.net/trabajos/minirecetasgnulinux.html

1 comentario:

Anónimo dijo...

Gracias! En su día me fué muy bien para recuperar un script en python que borré accidentalmente. Hoy recuperé tu artículo para un compañero de trabajo que también borró accidentalmente un fichero sin copia reciente y le ha ido genial!.

Un saludo,
David.