Terminal Bash en el concepto de portátil Ubuntu

Cómo eliminar archivos y directorios en la terminal de Linux

Fatmawati Achmad Zaenuri / Shutterstock.com

los rm y rmdir Los comandos eliminan archivos y directorios en Linux, macOS y otros sistemas operativos similares a Unix. Son similares a del y deltree comandos en Windows y DOS. Estos comandos son muy poderosos y tienen varias opciones.

Es importante tener en cuenta que los archivos y directorios eliminados mediante rm y rmdir no se mueva a la papelera de reciclaje. Se eliminan inmediatamente de su computadora. Si borra archivos accidentalmente con estos comandos, la única forma de restaurarlos es desde una copia de seguridad.

Cómo eliminar archivos con rm

El caso más simple es la eliminación de un solo archivo en el directorio actual. Escribelo rm comando, un espacio, luego el nombre del archivo que desea eliminar.

rm file_1.txt

Si el archivo no está en el directorio de trabajo actual, proporcione una ruta a la ubicación del archivo.

rm ./path/to/the/file/file_1.txt

Puede enviar más de un nombre de archivo a rm. Esto elimina todos los archivos especificados.

rm file_2.txt file_3.txt

Se pueden usar comodines para seleccionar grupos de archivos para eliminar. los * representa varios personajes y el ? representa un solo carácter. Este comando eliminaría todos los archivos de imagen png en el directorio de trabajo actual.

rm *.png

Este comando eliminaría todos los archivos que tengan una extensión de un solo carácter. Por ejemplo, esto eliminaría File.1 y File.2, pero no File.12.

rm *.?

Si un archivo está protegido contra escritura, se le notificará antes de que se elimine. Debes responder con y Dónde n y presiona «Enter».

comando rm con archivo protegido contra escritura

Para reducir el riesgo de uso rm con comodines, use el -i opción (interactiva). Esto requiere que confirme la eliminación de cada archivo.

rm -i *.dat

comando rm en modo interactivo

los -f La opción (forzar) es lo opuesto a interactivo. No solicita confirmación incluso si los archivos están protegidos contra escritura.

rm -f filename

Cómo eliminar directorios con rm

Para eliminar un directorio vacío, use el -d opción (directorio). Puede utilizar comodines (* y ?) en los nombres de directorio como puede con los nombres de archivo.

rm -d directory

Al proporcionar más de un nombre de directorio, se eliminan todos los directorios vacíos especificados.

rm -d directory1 directory2 /path/to/directory3

Para eliminar directorios que no están vacíos, use el -r opción (recursiva). Para ser claros, esto elimina directorios y todos los archivos y subdirectorios que contienen.

rm -r directory1 directory2 directory3

Si un directorio o archivo está protegido contra escritura, se le pedirá que confirme la eliminación. Para eliminar los directorios que no están vacíos y suprimir estos mensajes, utilice el -r (recursivo) y -f (forzar) las opciones juntas.

rm -rf directory

Aquí se requiere precaución. Comete un error con el rm -rf El comando puede provocar la pérdida de datos o un mal funcionamiento del sistema. Es peligroso y la precaución es la mejor política. Comprender la estructura del directorio y los archivos que serán eliminados por el rm -rf comando, use el tree pedido.

Usar apt-get para instalar este paquete en su sistema si está utilizando Ubuntu u otra distribución basada en Debian. En otras distribuciones de Linux, utilice la herramienta de administración de paquetes de su distribución de Linux.

sudo apt-get install tree

Ejecutar el tree El comando produce un diagrama fácil de entender del directorio y la estructura de archivos bajo el directorio desde el cual se ejecuta.

tree

salida del comando de árbol

También puede proporcionar un camino al tree comando para iniciar el árbol desde otro directorio en el sistema de archivos.

tree path/to/directory

los rm el comando también tiene --one-file-system, --no-preserve-root, --preserve-root opciones, pero solo se recomiendan para usuarios avanzados. Si se equivoca, podría eliminar accidentalmente todos los archivos de su sistema. Ver pedidos página man para más información.

Cómo eliminar directorios con rmdir

Hay otro comando, llamado rmdir, que puede utilizar para eliminar directorios. La diferencia entre rm y rmdir Es esto rmdir solo puede eliminar directorios vacíos. Nunca eliminará los archivos.

El caso más simple es eliminar un solo directorio vacío. Como con rm, puede enviar varios nombres de directorio a rmdir o una ruta a un directorio.

Elimina un solo directorio en el directorio actual pasando su nombre a rmdir :

rmdir directory

Elimine varios directorios pasando una lista de nombres a rmdir :

rmdir directory1 directory2 directory3

Elimine un directorio que no esté en el directorio actual especificando la ruta completa a ese directorio:

rmdir /path/to/directory

Si intenta eliminar una carpeta que no está vacía, rmdir le dará un mensaje de error. En el siguiente ejemplo rmdir eliminar con éxito y en silencio el clients directorio pero se niega a eliminar el projects directorio porque contiene archivos. los projects El directorio se deja exactamente como estaba y los archivos que contiene están intactos.

comando rmdir con una carpeta no vacía

Cuando rmdir devuelve un error «Directorio no vacío», deja de procesar los directorios que se le enviaron en la línea de comando. Si le pidió que eliminara cuatro directorios y el primero contenía archivos, rmdir le daría el mensaje de error y no haría nada más. Puede forzarlo a ignorar estos errores con el --ignore-fail-on-non-empty opción para que se procesen otros directorios.

En el siguiente ejemplo, se enviaron dos archivos a rmdir, estos son work/reports y work/quotes . los --ignore-fail-on-non-empty La opción se incluyó en el pedido. los work/reports carpeta contiene archivos, por lo que rmdir no se puede borrar. los --ignore-fail-on-non-empty la opción obliga rmdir para ignorar el error y pasar a la siguiente carpeta que necesita procesar, que es work/quotes. Esta es una carpeta vacía y rmdir bórralo.

Este fue el comando utilizado.

rmdir --ignore-fail-on-non-empty work/reports /work/quotes

rmdir con la opción --ignore-fail-on-non-empty

Puedes usar el -p (padres) para eliminar un directorio y también eliminar sus directorios principales. Este truco funciona porque rmdir comienza con el directorio de destino, luego regresa al padre. Este directorio ahora debería estar vacío, por lo que puede ser eliminado por rmdir, y el proceso se repite subiendo por el camino que se le dio a rmdir.

En el siguiente ejemplo, el comando pasó a rmdir es:

rmdir -p work/invoices

Comando rmdir con opción para eliminar padres

Los dos invoices y el work los directorios se eliminan, según se solicite.

Ya sea que esté utilizando Bash o cualquier otro shell, Linux proporciona comandos flexibles y potentes que le permiten eliminar directorios y archivos directamente desde la línea de comandos del terminal. Algunas personas prefieren tener un flujo de trabajo que gire en torno al terminal. Es posible que otros no tengan elección al respecto. Pueden trabajar en servidores sin una GUI instalada o en una sesión remota en un sistema sin cabeza como una Raspberry Pi. Estos comandos son perfectos para este grupo de personas.

Pero sea cual sea el tipo de flujo de trabajo que prefiera, estos comandos se prestan muy bien para ser incluidos en scripts de shell. Si una secuencia de comandos es activada por un cron funciona, puede ayudar a automatizar las tareas de mantenimiento de rutina, como la depuración de archivos de registro basura. Si está estudiando este caso de uso, recuerde el poder de estos comandos, pruebe todo con cuidado y mantenga siempre una copia de seguridad reciente.

Deja un comentario

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

Experto Geek - Tu Guía en Tendencias Tecnológicas