¿Te ha pasado alguna vez? Te das cuenta de que has eliminado un archivo por error, ya sea con la tecla Del o usando rm
en la línea de comandos.
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 probablemente sepas, la línea de comandos de Linux no envía los archivos eliminados a ningún lado, simplemente los ELIMINA. Bum. Se han ido.
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 te suceda, y una herramienta que puedes considerar usar si en algún momento eres 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 con otras herramientas de manipulación de archivos como cp o mv), provoca que aparezca un mensaje antes de eliminar un archivo.
El mismo se aplica a copiar, mover o renombrar un archivo en una ubicación donde ya existe uno con el mismo nombre.
Esta indicación te brinda una segunda oportunidad para considerar si realmente deseas eliminar el archivo; si confirmas la indicación, desaparecerá. En ese caso, lo siento, pero este consejo no te protegerá de tu propia descuido.
Para reemplazar rm con un alias a 'rm -i'
, haz lo siguiente:
alias rm='rm -i'
El comando alias confirmará que rm ahora está aliado:

Sin embargo, esto solo durará durante la sesión de usuario actual en la shell actual. Para hacer el cambio permanente, deberás 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 de inmediato, carga el archivo desde la shell actual:
. ~/.bashrc

La herramienta forense, Foremost
Con suerte, serás cuidadoso con tus archivos y solo necesitarás usar esta herramienta al recuperar un archivo perdido de un disco externo o una unidad USB.
Sin embargo, si te das cuenta de que eliminaste accidentalmente un archivo en tu sistema y estás a punto de entrar en pánico, no lo hagas. Veamos Foremost, una herramienta forense diseñada para este tipo de escenarios.
Para instalar Foremost en CentOS/RHEL 7, primero deberás 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 la instalación haya finalizado, 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, usa foremost de la siguiente manera (primero deberás 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 – ten en cuenta que recuperar archivos en la misma unidad donde se encontraban los eliminados no es una buena idea.
Si, durante la recuperación, ocupas los mismos sectores de disco donde solían estar los archivos eliminados, puede que no sea posible recuperar nada. Además, es esencial detener todas tus actividades antes de realizar la recuperación.
Después de que foremost 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, ten en cuenta que foremost puede tardar bastante tiempo en ejecutarse dependiendo del tamaño de la partición.
Como siempre, no dudes en hacernos saber si tienes preguntas o comentarios. Siéntete libre de enviarnos un mensaje utilizando el formulario a continuación.
Source:
https://www.tecmint.com/recover-deleted-file-in-linux/