¿Eliminaste accidentalmente archivos importantes en un dispositivo Linux?
No te preocupes. Wondershare Recoverit puede recuperar tus archivos perdidos en 3 pasos. El software de recuperación de datos Linux definitivo y profesional es completamente confiable y 100% seguro.
Un directorio puede tener muchos subdirectorios y archivos dentro de él. Eliminar todos los archivos y subdirectorios en un directorio puede ser necesario al trabajar con el sistema de archivos de Linux. Se le conoce como eliminación recursiva. Utilice el comando rm para eliminar recursivamente archivos o directorios (también conocidos como carpetas en Windows) en Linux. El comando rmdir sólo elimina directorios vacíos. Esta guía presentará los pasos paraeliminar de forma recursiva archivos y directorios en Linux.
Parte 1. Cómo Eliminar Directorio Recursivamente en Linux Usando el Comando rm
Un resumen de la sintaxis del comando rm para eliminar directorios/carpetas de forma recursiva:
Sintaxis del comando |
Descripción |
-f |
Una fuerte opción. Nunca solicite archivos o argumentos inexistentes. |
-r |
Elimine de forma recursiva los directorios y su contenido. |
-v |
Salida excesiva. |
rm -- '-dir1' |
Elimine un directorio o archivo cuyo nombre comienza con un '-'. |
rm ./-dir1 |
Igual que antes |
rm -rfv 'dir nombre aquí' |
Ponga comillas alrededor de su nombre de archivo/carpeta problemática. |
rm -rfv \$dirname1 |
Rm -rfv '\$dirname1' |
En los sistemas Linux y similares a Unix, todo se considera un archivo. En otras palabras, "archivos" incluyen fotos, documentos, directorios/carpetas, unidades SSD/disco duro, tarjetas de red, dispositivos USB, teclados, impresoras y comunicaciones de red.
Ejemplos De Cómo Borrar Una Carpeta Recursivamente
En este ejemplo, eliminaremos eldatosen el directorio principal actual de forma recursiva:
rm -r /home/vivek/data/
Antes de eliminar el directorio de datos, el/casa/vivek/datos/
se vaciará de todos los subdirectorios, incluidos sus subdirectorios y archivos. A menos que el -f
(forzar) en la línea de comandos, se solicita al usuario que elimine los archivos protegidos contra escritura de los directorios:
rm -rf nombre-aquí
Como alternativa, puede utilizar el comando siguiente:
rm -r -f /ruta/carpeta/
Para eliminar una carpeta cuyo nombre empiece por "-
,”como“-dsaatia
Utiliza uno de los siguientes comandos:
rm -rf -- --dsaatia
También puede ejecutar el siguiente comando:
rm -rf ./--dsaatia
Para ver los resultados detallados, podemos utilizar la función-v
opción. En otras palabras, el comando rm en Linux nos explicará qué ocurre con nuestros archivos y carpetas. A modo de ejemplo:
rm -rfv /path/to/dir1
rm -r -f -v /home/vivek/oldpartpics
Eliminar carpetas con caracteres de nombre únicos.
Tus carpetas y archivos pueden contener espacios en blanco, puntos y comas, barras invertidas y otros caracteres en Linux. A modo de ejemplo:
ls -l
Supongamos que tenemos una carpeta llamada "Nuestros datos de ventas" y "baddir#
"odir2 ;#
"en él. Entonces, ¿cómo nos deshacemos de esos directorios con nombres inusuales? La solución es sencilla. Encerraremos el nombre de archivo o carpeta problemático entre comillas. Por ejemplo:
rm "Nuestros datos de ventas'
rm -rfv '/path/to/Dir 1 ;'
rm -r -f -v "baddir#"
rm a\ long \dir1 \name
A veces una barra invertida(\
) antes del metacarácter en el nombre del archivo o carpeta:
rm \$dir1

Parte 2. Cómo eliminar archivos de forma recursiva en Linux utilizando el comando rm.
Eliminar todos los archivos de forma recursiva.
Cuando se utiliza con el comando rm. -r
con la bandera, el comando rm eliminará el contenido de todos los tipos de archivos.
Pero primero, usando el comandols
, veamos los directorios de inicio. En este ejemplo, hay cinco directorios: Escritorio, dir2, Documentos, Descargas y removerecurdir.
ls ~/

Supongamos que queremos borrar el directorio removecurdir
y su contenido, incluyendo todos los archivos y subdirectorios. Ejecute la sintaxis a continuación.
rm -r removerecurdir/
La salida de ls muestra que el directorio y su contenido fueron eliminados correctamente.

Elimine archivos de forma recursiva según su tamaño.
Estos son los pasos para eliminar recursivamente archivos (<10 MB) utilizando el comandoEncuentre
.
La sintaxis deEncuentre
es la siguiente:
find <ParentDirectory> -type f -size -<size and units> -exec rm {} +.
Puede utilizarsudo
para acceder a los archivos protegidos en el ejemplo siguiente.
sudo find /var/log -type f -size -10M -exec rm {} +
El signo menos (-
) debe sustituirse por un signo más (+
).
find <ParentDirectory> -type f -size +<size and units> -exec rm {} +
En el siguiente ejemplo, utilizaré la sintaxis anterior para eliminar archivos de más de 1 GB.
find /var/log -type f -size +1G -exec rm {} +
Eliminar archivos por extensión de forma recursiva (Tipo de archivo).
La siguiente sección describe cómo eliminar archivos de forma recursiva por extensión o tipo de archivo.
Busca el contenido del directorio raíz, que se llamatesthint
con el comando tree.
tree testhint/
El directorio principal testhint tiene un archivo (file1.txt) y dos subdirectorios: testhint2 tiene el archivo file3.txt, y testhint3 tiene los archivos file3 y something.txt.

Supongamos que desea eliminar todos los archivos txt de forma recursiva. La sintaxis es la siguiente:
find <DirectorioPadre> -type f -name '*.<Extensión>' -print -delete
Luego, ejecuta este comando para eliminar todos los archivos de texto de forma recursiva dentro del directorio padre testhint.
find ~/testhint -type f -name '*.txt' -print -delete
Se eliminaron todos los archivos de texto, dejando únicamente el archivo3 sin extensión.
prueba del árbol

También puede eliminar archivos por extensión mediante los comandosfind junto con exec
.

La sintaxis para eliminar archivos por extensión con-exec
es la siguiente:
find <ParentDirectory> -type f -name '*.<Extension>' -exec rm -f {} \;
Ejecute el comando a continuación para eliminar los archivos .log.
find ~/testhint -type f -name '*.log' -exec rm -f {} \;
El comando xargs
ofrece una solución similar. La distinción entre xargs y exec es que exec ejecuta la función rm siempre que un archivo cumple con la condición. El comando xargs ejecuta el comando rm una vez por cada archivo encontrado que cumple con la condición.
Para eliminar todos los archivos por extensión utilizandofind
yxargs
utilice la siguiente sintaxis:
find <DirectorioPadre> -name "*.<ExtensiónArchivo>" -print0 | xargs -0 rm

Introduzca el comando que se muestra a continuación para eliminar todos los .c
files con xargs.
find . -name "*.c" -print0 | xargs -0 rm
Una vez más, los archivos de extensión seleccionados han sido eliminados exitosamente.

Eliminando recursivamente todos los archivos basados en los permisos.
Echemos un vistazo al nuevo contenido del directorio testhint. Cuatro archivos tienen acceso completo (file2, file3.c, file6.c y file7).

Supongamos que deseas localizar y eliminar todos los archivos con permisos completos para todos. La sintaxis es la siguiente:
find <ParentDirectory> -perm <Permissions> -print0 | xargs -0 rm
Ejecute el siguiente comando para eliminar todos los archivos con acceso completo para todos los usuarios.
find ~/testhint -perm 777 -print0 | xargs -0 rm

Elimine los archivos de forma recursiva basándose en su tiempo de modificación o creación.
Ejecute la sintaxis que sigue.
find ~/testhint -perm 777 -print0 | xargs -0 rm
Si desea eliminar archivos creados o modificados en el último día (últimas 24 horas), utilice el siguiente comando, donde 1
indica el número de días, y el símbolo menos (-
) indica los archivos creados o modificados antes del número de días definido.
find <Directory> -type f -mtime -1 -delete
Reemplace el símbolo de menos por un símbolo de más para eliminar archivos creados o modificados antes de un día, antes de 24 horas.
find <Directory> -type f -mtime +1 -delete
Parte 3. ¿Qué hacer si has eliminado accidentalmente un archivo o carpeta en Linux?
En Linux, eliminar accidentalmente un archivo o carpeta puede ser realmente problemático, pero existen acciones que puedes tomar para aumentar tus posibilidades de una recuperación exitosa:
- Deja de utilizar el ordenador: Para evitar más pérdidas de datos, deja de utilizar el ordenador inmediatamente y evita escribir nuevos datos en el disco donde se encontraba el archivo eliminado.
- Actúe con rapidez:Cuanto más espere para iniciar el proceso de recuperación, mayor será el riesgo de pérdida permanente de datos.
- Cree copias de seguridad con regularidad: Las copias de seguridad regulares pueden garantizarle que dispone de una copia reciente de sus datos importantes en caso de borrado accidental.
- Mantén el sistema de archivos en buen estado:El mantenimiento regular del disco, como la comprobación de errores y su corrección, puede ayudar a mantener el sistema de archivos en buen estado y facilitar la recuperación.
Lasmejores herramientas de recuperación de datos de Linuxtambién pueden ayudarle a recuperar archivos perdidos o eliminados. Siguiendo estos consejos y utilizando la herramienta correcta de recuperación de datos, puedes aumentar tus posibilidades de recuperar exitosamente tus archivos y carpetas eliminados en Linux.

Wondershare Recoverit: Tu software de recuperación de Linux seguro y confiable.
5,481,435 personas lo han descargado.
Recupera de manera efectiva, segura y completa documentos, fotos, videos, música, correos electrónicos y otros más de 1000 tipos de archivos perdidos o eliminados.
Compatible con todas las distribuciones principales de Linux, incluyendo Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.
Asiste en más de 500 escenarios de pérdida de datos, como eliminación, formateo de disco, fallo del sistema operativo, corte de energía, ataque de virus, partición perdida y muchos más.
La interfaz sencilla de punto y clic te permite recuperar datos de discos duros de Linux con solo unos clics.
Funciona a través de una conexión remota. Puedes recuperar datos perdidos incluso cuando tu dispositivo Linux se haya bloqueado.
Resumen
Debido a que Linux es un sistema operativo tan versátil y adaptable, los usuarios pueden utilizar de forma recursiva varios métodos para eliminar archivos o directorios en Linux. Todas las alternativas descritas anteriormente se aplican a casi todas las distribuciones de Linux. Además, si eliminas archivos y carpetas accidentalmente, existen herramientas de recuperación de datos para Linux disponibles.