Cómo recuperar un archivo eliminado en Linux


¿Te ha pasado esto alguna vez? Se dio cuenta de que había eliminado un archivo por error, ya sea a través de la tecla Supr o usando rm en la línea de comando.

En el primer caso, siempre puede ir a la Papelera, buscar el archivo y restaurarlo a su ubicación original. Pero, ¿qué pasa con el segundo caso? Como estoy seguro de que probablemente sepa, la línea de comandos de Linux no envía archivos eliminados a ninguna parte, los ELIMINA. Culo. Se fueron.

En este artículo, compartiremos un consejo que puede ser útil para evitar que esto le suceda, y una herramienta que puede considerar usar si en algún momento es lo suficientemente descuidado como para hacerlo de todos modos.

Crea un alias para "rm -i"

El modificador -i , cuando se usa con rm (y también con otras herramientas de manipulación de archivos como cp o mv) hace que aparezca un mensaje antes de eliminar un archivo.

Lo mismo se aplica a copiar, mover o cambiar el nombre de un archivo en una ubicación donde ya existe uno con el mismo nombre.

Este mensaje le brinda una segunda oportunidad para considerar si realmente desea eliminar el archivo; si confirma el mensaje, desaparecerá. En ese caso, lo siento, pero este consejo no lo protegerá de su propio descuido.

Para reemplazar rm con un alias para rm -i , haga lo siguiente:

alias rm='rm -i'

El comando alias confirmará que rm ahora tiene un alias:

Sin embargo, esto solo durará durante la sesión de usuario actual en el shell actual. Para que el cambio sea permanente, tendrá que guardarlo en ~/.bashrc (algunas distribuciones pueden usar ~/.profile en su lugar) como se muestra a continuación:

Para que los cambios en ~/.bashrc (o ~/.profile ) surtan efecto inmediatamente, obtenga el archivo desde el shell actual:

. ~/.bashrc

La herramienta forense: lo más importante

Con suerte, tendrá cuidado con sus archivos y solo necesitará usar esta herramienta mientras recupera un archivo perdido de un disco externo o unidad USB.

Sin embargo, si se da cuenta de que ha eliminado accidentalmente un archivo de su sistema y va a entrar en pánico, no lo haga. Echemos un vistazo a lo más importante, una herramienta forense que fue diseñada para este tipo de escenarios.

Para instalar principalmente en CentOS/RHEL 7, primero deberá habilitar Repoforge:

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

Mientras que en Debian y derivados, simplemente haz

# aptitude install foremost

Una vez que se haya completado la instalación, procedamos con una prueba simple. Comenzaremos eliminando un archivo de imagen llamado nosdos.jpg del directorio/boot/images:

# cd images
# rm nosdos.jpg

Para recuperarlo, utilice principalmente lo siguiente (primero deberá identificar la partición subyacente; en este caso, /dev/sda1 es donde /boot reside):

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

donde/home/gacanepa/rescatado es un directorio en un disco separado; tenga en cuenta que recuperar archivos en la misma unidad donde se ubicaron los eliminados no es una decisión inteligente.

Si, durante la recuperación, ocupa los mismos sectores del disco donde solían estar los archivos eliminados, es posible que no sea posible recuperar nada. Además, es fundamental detener todas sus actividades antes de realizar la recuperación.

Una vez que foremost haya terminado de ejecutarse, el archivo recuperado (si la recuperación fue posible) se encontrará dentro del directorio/home/gacanepa/rescued/jpg.

En este artículo hemos explicado cómo evitar eliminar un archivo accidentalmente y cómo intentar recuperarlo si ocurre un evento no deseado. Sin embargo, tenga en cuenta que, según el tamaño de la partición, la mayoría de las veces puede tardar bastante en ejecutarse.

Como siempre, no dude en informarnos si tiene preguntas o comentarios. No dude en enviarnos una nota utilizando el formulario a continuación.