Cómo eliminar archivos y directorios en Linux

DLa elección de archivos en un sistema basado en Linux puede tomar varias formas. El buen administrador de archivos gráficos puede hacerlo bastante rápido, pero por otro lado, la línea de comandos tiene un arsenal de programas y opciones para eso.

Vamos a mostrar las diversas opciones útiles, así como los comandos básicos que se pueden usar para casi todo.

Índice

Eliminación de archivos y directorios mediante la línea de comandos en Linux

rm mando

El comando de eliminación principal es el rm mando. Esto se usa con múltiples opciones para varias tareas, siendo la sintaxis más sencilla esta:

rm file_name

Sintaxis básica de rm
Sintaxis básica de rm

Esto solo funciona cuando ese archivo está en el directorio de trabajo, y si está intentando usarlo en un directorio que tiene archivos, esto no será de mucha utilidad. Solo usar este comando no elimina directorios.

Las diferentes banderas útiles de la rm comando son:

-r

Esta opción significa recursivo. Cuando se usa este comando, también se elimina cualquier directorio que cumpla con los otros criterios, junto con los archivos que contiene. Por ejemplo, hay un directorio llamado test_dir, en el que hay varios archivos (como se ve en la captura de pantalla), y esto se puede eliminar usando el -r bandera.

Eliminación recursiva
Eliminación recursiva

-D

Esta bandera se puede utilizar para eliminar directorios vacíos.

Eliminar directorios vacíos
Eliminar directorios vacíos

-F

Esta es una bandera particularmente útil. A menudo se mencionan archivos en el comando (entre varios archivos) que pueden no existir. También puede haber otros errores. Esto puede hacer que los otros archivos no se eliminen. Entonces, para solucionarlo, podemos usar el -F (forzar), que elimina los archivos que coinciden con los criterios e ignora los errores (si los hay).

-v

La bandera detallada-v) se puede utilizar para mostrar los nombres de archivo a medida que se eliminan. Esto es útil para ver el progreso del proceso, y me gusta usarlo en caso de archivos grandes (o una gran cantidad), ya que puedo hacerme una idea del progreso.

Eliminación detallada
Eliminación detallada

-I

Usando el interactivo (-I) proporciona un aviso antes de que se eliminen los archivos. Esto se puede usar principalmente para limpiar los archivos porque obtendrá un mensaje cada vez que se elimine un archivo.

Eliminación interactiva
Eliminación interactiva

Consejo útil:

Este es un atajo algo útil. El carácter '*' se puede utilizar para la entrada de varios archivos. El '*' en realidad denota alguno o cualquier número de caracteres. Si ingresa 'prueba*'como nombre, incluirá archivos que comiencen con'prueba' y tiene algo después de eso. De manera similar, usando '*prueba*'consistirá en cualquier archivo / directorio que tenga un'prueba'en el nombre, lo que sea antes o después de él.

Eliminar archivos con patrón de nombre
Eliminar archivos con un patrón de nombre común

rmdir mando

los rmdir El comando se usa para eliminar archivos vacíos. La sintaxis básica es la siguiente:

rmdir directory_name

La única bandera que es bastante útil para el rmdir comando es este:

-pag

La bandera de los padres (-pag) elimina directorios que tienen otros directorios (obviamente vacíos) dentro. Si hay una estructura como a / b / c, donde 'C' está dentro 'B,' y 'B' en 'a' el comando se puede construir de la siguiente manera:

rmdir -p a/b/c

encontrar mando

los encontrar El comando (como es evidente) se usa solo para encontrar archivos con condiciones específicas, pero el resultado posterior se puede usar como entrada para el comando rm. Esto es un poco más complicado, pero se puede lograr con bastante facilidad. Sintaxis básica:

find [path] -type [-d/-f] -name [name-conditions] -exec rm -r {} +

Lo sé, lo sé, esto parece complicado, pero déjame explicarte:

  • [path]: Esto debe ser reemplazado por la ubicación del directorio en el que necesita buscar los archivos. Si este es el directorio en el que se encuentra actualmente (verifique rápidamente con el comando pwd), reemplace [path] con '.' y si desea usar su directorio personal, use '~'.
  • -escribe: Utilice la marca 'd' si solo desea eliminar directorios y 'F'si solo desea eliminar archivos (después de'-escribe,' por 'D' o 'F,' los '-' no es requerido). Si desea eliminar tanto directorios como archivos, no use esta opción en absoluto.
  • -nombre: Esto incluye las condiciones para el nombre del archivo. Si tiene una palabra clave específica que contienen los nombres de los archivos y carpetas, utilícela de la siguiente manera: '* palabra clave *'
    (Las citas simples son necesarias).

    Solo para información, '*' aquí significa prácticamente todo. Es decir, este comando buscará archivos cuyos nombres tengan todo y cualquier cosa antes del palabra clave, y todo y cualquier cosa después de la palabra clave.

El resto del comando debe usarse tal como está, pero solo como información, el '-exec'parte indica que la salida del comando anterior se usa como entrada para el siguiente comando. La siguiente parte, 'rm -r', elimina todo lo que se proporciona como entrada de la parte anterior, y el'{} +'parte instruye al rm comando para usar la salida del encontrar mando.

Eliminación usando el comando buscar
Eliminación usando el comando buscar

Ejemplo:

find ~ -type -f -name *test* -exec rm -r {} +

Esto encuentra archivos que tienen 'prueba'en cualquier parte del nombre, en el directorio de inicio, y solo archivos, no directorios.

Nota

Sin embargo, hay algo a tener en cuenta, que algunos caracteres que pueden estar en el nombre del archivo son tratados como caracteres especiales por la interfaz de comandos de Linux. Por ejemplo, si su nombre de archivo es '-test', la Terminal interpretará la parte '-' de otra manera. Para usar esto como parte del nombre del archivo, ingrese una barra invertida antes de ese carácter especial. Ejemplo:

rm -test

Esto se puede usar para otros caracteres como *, (,), #, $ e incluso espacios en blanco.

Nombres con caracteres especiales
Nombres con caracteres especiales.

Conclusión

Aquí concluye todo lo necesario para eliminar archivos en cualquier formato, desde cualquier ubicación, de cualquier tipo. Se pueden proporcionar niveles de configuración aún más profundos, pero eso requiere una comprensión más profunda del shell de Linux.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir