Eliminar archivos importantes por accidente es una experiencia frustrante, en especial si no sabes cómo deshacer la acción. Usamos el comando rm para eliminar archivos o directorios en Linux. Una vez eliminado, el archivo no se puede recuperar de la basura o la papelera de reciclaje.
Sin embargo, en función de las circunstancias, un par de métodos pueden usarse para recuperar archivos eliminados en Linux. En esta guía, discutiremos maneras de deshacer los efectos del comando rm y recuperar archivos eliminados en Linux.
Parte 1: ¿Qué es el comando RM?
El comando RM en Linux y otros sistemas operativos basados en Unix remueve y elimina archivos y directorios. Significa "remover". Es habitual usar el comando rm para eliminar archivos y directorios que ya son innecesarios. Es un comando poderoso y debe usarse con cuidado, pues puede eliminar archivos de forma permanente y no hay un basurero o una papelera de reciclaje para recuperarlos.
Cuando usamos el comando rm, puedes usar etiquetas: "-r" para remover el directorio y su contenido, "-f" para forzar una eliminación de inmediato, o "-v" para mostrar lo eliminado.
Parte 2: ¿Es posible deshacer el RM en Linux?
Es usual que sea imposible deshacer el comando rm después de ejecutarlo porque se elimina el archivo o directorio de forma permanente. Sin embargo, algunos métodos pueden recuperar archivos eliminados por el RM en Linux, pero depende de ciertas circunstancias. Algunos métodos usan una herramienta de recuperación de archivos o de una línea de comandos.
No obstante, las probabilidades de recuperación dependen de muchos factores como el sistema de archivos, el medio de almacenamiento, el tiempo transcurrido desde la eliminación o si hay datos nuevos escritos al medio de almacenamiento.
Parte 3: Cómo deshacer el RM en Linux
Hay 3 maneras distintas de deshacer el "rm" en Linux.
Método 1: Deshaz los efectos del RM usando Recoverit recuperación Linux (herramienta GUI)
Una herramienta de interfaz gráfica de usuario (GUI) de recuperación sirve para recuperar archivos eliminados por el rm en Linux. Es una opción conveniente para usuarios incómodos al trabajar con utilidades de la línea de comandos. Una de las mejores herramientas de recuperación de datos GUI es Wondershare Recoverit recuperación Linux. Recoverit es una solución integral para la recuperación de datos que Linux provee con funciones de alto calibre.
Recupera por completo documentos, fotos, videos, canciones, correos electrónicos y más de 1000 tipos de archivos perdidos o eliminados de forma efectiva y segura.
Es compatible con todos los distros Linux convencionales como ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, entre otros.
Ayuda en más de 500 escenarios de pérdida de datos por eliminación, formateo del disco, caída del sistema operativo, apagón, ataque de virus, partición perdida y muchos otros más.
La interfaz simple e intuitiva te permite recuperar datos de tu disco duro Linux con solo un par de clics.
Deshaz fácilmente el rm usando la recuperación Linux Recoverit en tres pasos simples:
Paso 1. Escoge la opción de recuperación Linux.
Después de descargar e instalar el software de recuperación de datos Linux en tu computadora, navega a NAS y Linux y selecciona la función recuperación Linux.
Paso 2. Conectarte al sistema Linux.
Antes de iniciar el proceso de recuperación, necesitas conectar de forma remota Wondershare Recoverit al sistema de tu computadora Linux dando la dirección IP, el número de puerto, el nombre de usuario y la contraseña.
Paso 3. Escaneo y recuperación.
Recoverit comenzará a buscar datos perdidos en tu dispositivo Linux ni bien se complete la conexión. Puedes previsualizar los archivos para asegurarte que sean aquellos que quieres recuperar.
Por último, selecciona tus archivos deseados y haz clic en Recoverit para deshacer el rm en Linux.
Video tutorial: ¿Cómo recuperar archivos Linux?
Método 2: Deshaz los efectos del RM usando Foremost (herramienta de línea de comandos)
Para los usuarios de Linux avanzados y cómodos con las utilidades de línea de comandos, usar una herramienta de línea de comandos para deshacer el comando rm puede ser una manera poderosa de recuperar archivos eliminados. Una de las herramientas de línea de comandos más populares para recuperar archivos eliminados en Linux es Foremost. Esta herramienta ofrece opciones avanzadas para escanear y recuperar archivos; además, puede ejecutarse mediante el Terminal.
Foremost es un programa de recuperación de datos Linux que usa "file carving" para restaurar datos usando cabeceras, pies de página y estructuras de datos. Foremost puede recuperar rápidamente archivos de discos duros, tarjetas de memoria, unidades de memoria USB y otros dispositivos. También trabaja con archivos de imagen generados por cualquier otra aplicación.
Supongamos que eliminaste archivos por accidente en un dispositivo de almacenamiento externo usando rm. Puedes seguir los pasos a continuación para deshacer un comando rm en Linux.
Paso 1. Instala Foremost.
Usa un gestor de paquetes APT para instalar Foremost en cualquier dispositivo Ubuntu o Debian Linux:
sudo apt install foremost
Ejecuta el gestor de paquetes DNF para instalar Foremost en Fedora Linux:
sudo dnf install foremost
Usa "pacman" para instalar Foremost en ArchLinux:
sudo pacman -S foremost
Paso 2. Ejecuta el siguiente comando para visualizar las opciones disponibles y sus funciones.
foremost [options]
Paso 3. Conecta el sistema Linux al almacenamiento de memoria externo. Primero, debes determinar el camino de tu dispositivo de memoria externo usando el comando a continuación y copiando el camino del disco desde allí.
fdisk -l
Paso 4. Puedes recuperar los archivos del dispositivo después de copiar el camino que sigue el dispositivo. Usa las opciones disponibles del comando foremost -h.
Paso 5. Se guardarán todos los archivos en la carpeta especificada al ejecutar este comando. Verás la carpeta recuperada en el escritorio con todos los archivos guardados allí.
Método 3: Deshaz los efectos del RM usando Scalpel (herramienta de línea de comandos)
Scalpel es otra herramienta de línea de comandos muy recomendada. Esta herramienta recupera archivos al analizar del sistema de archivos y buscar archivos marcados como eliminados. Se creó el Scalpel con una mejora de Foremost de 0.69. Ya hablamos de Foremost.
Scalpel, tal como Foremost, recupera rápidamente datos eliminados de forma permanente. Scalpel es una herramienta de investigación forense que viene junto a Kali Linux. Puedes cambiar el archivo de configuración para especificar qué tipo de archivos quieres recuperar.
Las siguientes instrucciones explican cómo usar Scalpel para deshacer un comando rm en LInux:
Paso 1. Para usar Scalpel, ingresa el siguiente comando:
scalpel -h
Paso 2. Ejecuta el siguiente comando para recuperar archivos:
scalpel -o recovered/ KaliLinuxIn.dd
Se completó el proceso de recuperación. Especificamos la carpeta de salida usando la etiqueta -o (-o flag). Como resultado, se crea una carpeta nueva llamada "recuperado" en tu escritorio.
Paso 3. En tu escritorio, aparece la carpeta de salida recuperada.
Parte 4: ¿Cómo proteger datos Linux de una ejecución accidental del comando rm?
Consejo #1: Usando el comando de la basura
El comando de la basura es una utilidad de línea de comandos para mover archivos y directorios de la basura o la papelera de reciclaje. Es una alternativa conveniente para eliminar archivos de forma permanente usando el comando rm, pues permite recuperar archivos eliminados por accidente. Usaremos la basura CLI en este parte.
Paso 1. Veamos cómo agregar la aplicación "trash.cli" a tu distro Linux:
sudo apt install trash-cli -y # Para sistemas operativos basados en Debian (Ubuntu, Mint, Pardus, etcétera)
sudo apt-get install trash-cli -y # Para los sistemas operativos basados en versiones antiguas (Ubuntu, Mint, Pardus, etcétera)
sudo pacman -S trash-cli # Para sistemas operativos basados en Arch (Archman Linux, Arch Linux, Manjaro, etcétera)
sudo dnf install trash-cli # Para sistemas operativos basados en Redhat (Centos, Fedora, AlmaLinux, Rocky Linux etc)
sudo yum install trash-cli -y # Para sistemas opartivos basados en la versión antigua de Redhat (Centos, Fedora, AlmaLinux, Rocky Linux, etcétera)
sudo zypper install trash-cli # Para openSUSE
Paso 2. Después de instalarlo, usa el comando de basura para eliminar archivos:
foc@ubuntu22:~$ ls
text-1.txt text-2.txt text-3.txt text-4.txt
foc@ubuntu22:~$ trash text-1.txt
foc@ubuntu22:~$ ls text-2.txt text-3.txt text-4.txt
Paso 3. El comando de basura eliminó el archivo; para el directorio, usa el parámetro -d:
foc@ubuntu22:~$ trash -d folder
Paso 4. La lista del comando de basura puede usarse para listar los archivos y directorios eliminados:
foc@ubuntu22:~$ trash-list
2022-11-09 18:44:37
/home/foc/folder 2022-11-09 18:41:11
/home/foc/text-1.txt 2022-11-09 18:42:46
/home/foc/text-1.txt
Paso 5. Para recobrar un archivo o carpeta eliminada de la basura, usa el comando basura-restaurar:
foc@ubuntu22:~$ trash-list
2022-11-09 18:44:37 /home/foc/folder
2022-11-09 18:49:45 /home/foc/text-1.txt
foc@ubuntu22:~$ trash-restore /home/foc/text-1.txt
0 2022-11-09 18:49:45 /home/foc/text-1.txt
Qué archivo restaurar [0..0]: 0
foc@ubuntu22:~$ ls
text-1.txt text-2.txt text-3.txt text-4.txt
Paso 6. El comando basura-vaciar remueve toda la basura:
foc@ubuntu22:~$ trash-empty
Paso 7. Ahora, abre un editor de texto y añade la línea a continuación para el archivo ".bashrc" del usuario:
foc@ubuntu22:~$ nano ~/.bashrc
alias rm='trash'
Paso 8. Después, comunica este cambio al usuario:
foc@ubuntu22:~$ source ~/.bashrc
Paso 9. Cuando usas el comando rm, el comando basura ahora ejecuta:
foc@ubuntu22:~$ rm -h
Usage: trash [OPTION]... FILE...
Put files in trash
...
Consejo 2: Una solución truco para deshacer el RM
Esta solución truco es una técnica para proteger tus archivos de ser eliminados, pero no te ayudará a recuperar archivos eliminados.
Paso 1. Ahora el comando "mv" puede usarse como un "alias" para el comando rm. Se crea el directorio ".Trash" en el directorio de inicio del usuario con este propósito:
[foc@rocky9 ~]$ mkdir ~/.trash
Paso 2. Después, se define el comando mv Alias:
[foc@rocky9 ~]$ vi ~/.bashrc
alias rm='mv --target-directory="$HOME/.trash"'
Paso 3. Después, comunica este cambio al usuario:
[foc@rocky9 ~]$ source ~/.bashrc
Paso 4. Luego, ejecuta el comando rm:
[foc@rocky9 ~]$ rm text-1
[foc@rocky9 ~]$ ls ~/.trash/
arch text-1
Restringirás el uso de la función "deshacer rm" si usas el RM de esta manera.
Consejo 3: Usando el comando RM interactivo
Una vez más, se requiere del "alias". Esta vez, le daremos al comando rm su parámetro. En algunas distribuciones Linux, se emplea este método por defecto. El parámetro "-i" está predeterminado para el comando rm. De esta manera, el usuario pide una aprobación antes de seguir con el proceso de eliminación.
Paso 1. Edita el archivo ".bashrc" como a continuación:
[manjaro manjaro]# nano ~/.bashrc
alias rm="rm -i"
Paso 2. Después, comunica este cambo al usuario:
[manjaro manjaro]# source ~/.bashrc
Paso 3. Asimismo, trata de eliminar archivos:
[manjaro manjaro]# rm text-1
rm: remove regular empty file 'text-1'? y
Aparecerá una advertencia antes de la eliminación. No hay una función para deshacerlo, pero tendrás tiempo antes de la eliminación.
Más relacionado: Cómo recuperar archivos eliminados por el comando RM en Linux (Ubuntu)
Palabras finales
Este artículo te ayuda a aprender sobre los métodos distintos de deshacer el rm en Linux (mediante una herramienta GUI o de línea de comandos). Es peligroso eliminar datos de los servidores. Se debe otorgar permiso a los usuarios con cuidado. No obstante, se puede proteger el sistema mediante las medidas anteriores o las técnicas para deshacer el comando.