¿Cómo eliminar archivos y directorios en Linux?

Linux viene con varias herramientas que pueden ayudarnos a eliminar archivos. Siempre necesitamos eliminar muchos archivos y carpetas en función de un conjunto de requisitos. Para completar nuestra misión rápidamente, es beneficioso conocer algunos comandos básicos y sus variaciones.

  • Tenga cuidado al usar los comandos a continuación, particularmente aquellos que usan expresiones regulares o patrones de búsqueda con el comando de búsqueda. Una expresión o patrón incorrecto resultará en la eliminación de archivos de sistema/datos importantes y archivos no deseados.
  • Con frecuencia, tenga una copia actual de los datos críticos y los archivos del dispositivo.
  • Tenga cuidado al ejecutar esos comandos, especialmente si está utilizando Sudo o como superusuario (raíz).

1. Elimine el archivo usando «desvincular»:

No tan querido. Podemos usar el comando desvincular para eliminar permanentemente un solo archivo.

$ unlink {file-name}

In Linux, how can I delete files and directories?

2. Eliminar un solo archivo:

El comando rm , que facilita la eliminación de uno o más archivos simultáneamente, es un comando más utilizado para eliminar archivos.

$ rm {file-name}

How To Delete Files And Directories In Linux

Si el archivo está protegido contra escritura, rm le pedirá que valide su eliminación; de lo contrario, lo eliminará sin preguntar. Usando el indicador » -i» para obligar a rm a solicitar confirmación antes de eliminar un archivo:

$ rm -i {file-name}

How To Delete Files And Directories In Linux

El comando rm elimina archivos sin mostrar ningún mensaje. Usar el comando rm con el indicador -v para ver qué está haciendo actualmente el comando rm .

$ rm -v {file-name}

How To Delete Files And Directories In Linux

Usar el indicador -f para eliminar archivos protegidos contra escritura sin pedir aclaración.

$ rm -f {file-name}

How To Delete Files And Directories In Linux

3. Se pueden eliminar varios archivos:

Omitiendo varios nombres de archivo como argumentos para rm , puede eliminar varios archivos.

$ rm {file-name-1} {file-name-2} {file-name-3} ... {file-name-N}

How To Delete Files And Directories In Linux

Las expresiones regulares también son compatibles con rm . Si desea eliminar todos los archivos con el nombre file-name-* , escriba:

$ rm file-name*.ext

How To Delete Files And Directories In Linux

Las expresiones regulares también se pueden usar para definir diferentes directorios. Podemos usar algo como eliminar tres archivos que se ajusten a file-name-1 , file-name-2 y file-name-3 .

$ rm file-name-[123]

How To Delete Files And Directories In Linux

4. Eliminar el archivo:

El comando rm con el indicador -d se puede usar para eliminar un directorio vacío.

$ rm -d {dir-name}

Las opciones admitidas para la eliminación de archivos también se pueden combinar con la eliminación del directorio con el indicador -d .

$ rm -idv {dir-name}

How To Delete Files And Directories In Linux

Usar el indicador -r para eliminar un directorio que no esté vacío.

$ rm -r {dir-name}

How To Delete Files And Directories In Linux

Si no desea un aviso antes de eliminar el directorio y su contenido, use el indicador -rf . Esto eliminará todo lo que esté dentro del directorio, incluido el propio directorio, sin ninguna confirmación. Tenga cuidado, especialmente cuando lo use como raíz.

$ rm -rf {dir-name}

5. Localice y elimine archivos:

Podemos usar el comando de localización con varias opciones para especificaciones más complicadas. Para eliminar todos los archivos en una ruta especificada por {dir-to-search} que siguen un patrón {pattern} .

$find {dir-to-search} -type f -name {patrón} -exec rm -f {} \;

Ejemplo:

$ find luv -type f -name "*.txt" -exec rm -f {} \;

How To Delete Files And Directories In Linux

Podemos cambiar ligeramente el comando anterior para eliminar todo lo que se ajuste a la secuencia {patrón }, incluidos los directorios dentro de {dir-to-search} :

$ find {dir-to-search} -name {pattern} -exec rm -rf {} \;

How To Delete Files And Directories In Linux

Internamente, las implementaciones modernas del comando de búsqueda admiten la función de eliminación. El indicador -delete se usa para anular la instrucción rm, mientras que el indicador -profundidad le dice a find que procese el contenido del directorio antes que el propio directorio:

$buscar {dir-to-search} -type f -name {patrón de nombre de archivo} -profundidad -eliminar

6. Los archivos vacíos se deben encontrar y eliminar:

Puede usar el siguiente comando para eliminar todos los directorios vacíos dentro de una ruta dada dir-to-search :

$ find {dir-to-search} -type d -empty -delete

En su lugar, use el siguiente comando para eliminar todos los archivos vacíos dentro de una ruta dada dir-to-search :

$ find {dir-to-search} -type f -empty -delete

7. Los permisos se utilizan para localizar y eliminar archivos:

Ahora podemos eliminar archivos en función de permisos especiales, como:

$buscar {dir-to-search} -name {patrón} -perm {NNN} -delete

Considere el siguiente escenario:

$ find /var/tmp -name "temp*" -perm 755 -delete

Los comandos Easy (unlink) , (rm) y (rmdir) están disponibles en Linux y se pueden expandir rápidamente con expresiones regulares. Para necesidades más especializadas, debe usar una variedad de técnicas como (buscar) para lograr sus objetivos. Además de los ejemplos en esta publicación, puede configurar su búsqueda usando find con cualquiera de las banderas disponibles.

A menudo, ejecute comandos de búsqueda sin los indicadores rm o -delete y examine la salida para determinar qué archivos o carpetas pueden verse afectados por la ejecución de un programa. La configuración y el procedimiento de copia de seguridad son beneficiosos no solo en caso de eliminaciones no intencionales, sino también en caso de errores de hardware y ataques cibernéticos.

Publicación traducida automáticamente

Artículo escrito por rishavkumarj7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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