Cómo recuperar un archivo eliminado en Linux
¿Alguna vez te pasó esto? Te diste cuenta de que habías eliminado un archivo por error, ya sea mediante la tecla Supr o usando rm
en la línea de comando.
En el primer caso, siempre puedes 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.
Lectura sugerida: Cómo recuperar archivos/directorios eliminados usando la herramienta Scalpel
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 te protegerá de tu propio descuido.
Para reemplazar rm con un alias de 'rm -i'
, haga lo siguiente:
alias rm='rm -i'
El comando alias confirmará que rm ahora tiene un alias:
Sin embargo, esto sólo durará durante la sesión del usuario actual en el shell actual. Para que el cambio sea permanente, deberá 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 del shell actual:
. ~/.bashrc
La herramienta forense – Foremost
Con suerte, tendrá cuidado con sus archivos y sólo necesitará utilizar 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 de su sistema y va a entrar en pánico, no lo haga. Echemos un vistazo a lo más importante: una herramienta forense diseñada para este tipo de escenarios.
Para instalar todo 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 haga
aptitude install foremost
Una vez que se haya completado la instalación, procedamos con una prueba sencilla. Comenzaremos eliminando un archivo de imagen llamado nosdos.jpg
del directorio /boot/images:
cd images
rm nosdos.jpg
Para recuperarlo, utilice todo de la siguiente manera (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/rescued 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 todo haya terminado de ejecutarse, el archivo recuperado (si la recuperación fue posible) se encontrará dentro del directorio /home/gacanepa/rescued/jpg.
Resumen
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 todo puede tardar bastante en ejecutarse dependiendo del tamaño de la partición.
Como siempre, no dude en hacernos saber si tiene preguntas o comentarios. No dude en enviarnos una nota utilizando el siguiente formulario.