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 mediante la tecla Del o utilizando rm en la línea de comandos.

En el primer caso, siempre puede ir a 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 los archivos eliminados a ninguna parte, sino que los ELIMINA . Culo. Se fueron.

En este artículo compartiremos una sugerencia 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 interruptor -i , cuando se usa con rm (y también 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 renombrar un archivo en una ubicación donde ya existe uno con el mismo nombre.

Esta solicitud le brinda una segunda oportunidad de considerar si realmente desea eliminar el archivo; si confirma la solicitud, 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' , haz:

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, deberá guardarlo en ~/.bashrc (algunas distribuciones pueden usar ~/.profile ) 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 - Foremost

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 eliminó accidentalmente un archivo en su sistema y va a entrar en pánico, no lo haga. Veamos primero, una herramienta forense que fue diseñada para este tipo de escenarios.

Para instalar primero 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 en los derivados, simplemente haga

# aptitude install foremost

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

# cd images
# rm nosdos.jpg

Para recuperarlo, use primero como sigue (primero deberá identificar la partición subyacente - /dev/sda1 es donde reside /boot en este caso):

# 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 un acierto.

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

Una vez que se haya completado la ejecución, el archivo recuperado (si es posible) se encontrará dentro del directorio /home/gacanepa/rescued/jpg .

En este artículo, hemos explicado cómo evitar la eliminación accidental de un archivo y cómo intentar recuperarlo si ocurre un evento no deseado. Tenga en cuenta, sin embargo, que lo más importante puede llevar bastante tiempo ejecutar según el tamaño de la partición.

Como siempre, no dude en hacernos saber si tiene preguntas o comentarios. Siéntase libre de enviarnos una nota utilizando el formulario a continuación.