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

Contenidos

Terminal Bash en el concepto de portátil Ubuntu

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

Es esencial prestar atención que los archivos y directorios eliminados a través de rm y rmdir no se mueva a la Papelera. Se eliminan inmediatamente de su computadora. Si borra archivos accidentalmente con estos comandos, la única forma en que podrá restaurarlos es a partir de una copia de seguridad.

Cómo borrar archivos con rm

El caso más simple es borrar un solo archivo en el directorio actual. Escribe el rm comando, un espacio y después el nombre del archivo que desea borrar.

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 pasar más de un nombre de archivo a rm. Al hacerlo, se eliminan todos los archivos especificados.

rm file_2.txt file_3.txt

Los comodines se pueden usar para elegir grupos de archivos que se eliminarán. los * representa varios caracteres 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. A modo de ejemplo, esto eliminaría File.1 y File.2, pero no File.12.

rm *.?

Si un archivo está protegido contra escritura, se le preguntará antes de eliminarlo. Debes responder con y o n y presiona «Enter».

comando rm con archivo protegido contra escritura

Para reducir el riesgo de utilizar rm con comodines use el -i opción (interactiva). Esto necesita 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 inclusive si los archivos están protegidos contra escritura.

rm -f filename

Cómo borrar directorios con rm

Para borrar un directorio vacío, use el -d opción (directorio). Puede usar comodines (* y ?) en los nombres de directorio tal como puede hacerlo 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 borrar directorios que no están vacíos, use el -r opción (recursiva). Para ser claros, esto elimina los directorios y todos los archivos y subdirectorios contenidos en ellos.

rm -r directory1 directory2 directory3

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

rm -rf directory

Se necesita cuidado aquí. Cometer un error con el rm -rf El comando podría 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 eliminará el rm -rf comando, use el tree mando.

Utilizar apt-get para instalar este paquete en su sistema si está usando 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

Ejecutando el tree El comando produce un diagrama fácil de comprender de la estructura del directorio y los archivos debajo del directorio desde el que se ejecuta.

tree

salida del comando de árbol

Además puede proporcionar un camino al tree comando para hacer que inicie el árbol desde otro directorio en el sistema de archivos.

tree path/to/directory

los rm el comando además tiene --one-file-system, --no-preserve-root, --preserve-root opciones, pero solo se recomiendan para usuarios avanzados. Si se equivoca en algo, podría borrar accidentalmente todos los archivos del sistema. Consulte el comando página de manual para más información.

Cómo borrar directorios con rmdir

Hay otro comando, llamado rmdir, que puede usar para borrar directorios. La diferencia entre rm y rmdir es eso rmdir solo puede borrar directorios que están vacíos. Nunca borrará archivos.

El caso más simple es borrar un solo directorio vacío. Del mismo modo que con rm, puede pasar 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 borrar una carpeta que no está vacía, rmdir le dará un mensaje de error. En el siguiente ejemplo rmdir con éxito, y en silencio, elimina el clients directorio pero se niega a borrar el projects directorio debido a que contiene archivos. los projects El directorio se deja exactamente como estaba y los archivos que contiene no se modifican.

comando rmdir con una carpeta no vacía

Cuando rmdir da un error de «Directorio no vacío», deja de procesar los directorios que se le pasaron en la línea de comando. Si le ha pedido que elimine cuatro directorios y el primero tiene 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 han pasado dos carpetas a rmdir, estos son work/reports y work/quotes . los --ignore-fail-on-non-empty La opción se ha incluido en el comando. los work/reports carpeta contiene archivos, por lo tanto rmdir no se puede eliminar. los --ignore-fail-on-non-empty fuerzas de opción rmdir para ignorar el error y pasar a la próxima carpeta que necesita procesar, que es work/quotes. Esta es una carpeta vacía y rmdir lo elimina.

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 utilizar el -p (padres) opción para borrar un directorio y además para borrar sus directorios principales. Este truco funciona debido a que rmdir comienza con el directorio de destino y después retrocede hasta el padre. Ese directorio ahora debería estar vacío, por lo que puede ser eliminado por rmdir, y el procedimiento se repite retrocediendo por la ruta que se proporcionó a rmdir.

En el siguiente ejemplo, el comando que se pasa a rmdir es:

rmdir -p work/invoices

comando rmdir con opción de eliminar padres

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


Ya sea que esté usando Bash o cualquier otro shell, Linux proporciona comandos flexibles y potentes para que elimine directorios y archivos de forma directa desde la línea de comandos del terminal. Algunas personas prefieren tener un flujo de trabajo que gire en torno al terminal. Otros pueden no tener otra alternativa al respecto. Pueden estar trabajando 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 ese 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 trabajo, puede ayudar a automatizar las tareas de limpieza de rutina, como la depuración de archivos de registro no deseados. Si investiga ese caso de uso, recuerde el poder de estos comandos, pruebe todo con cuidado y siempre mantenga una copia de seguridad reciente.

setTimeout(function(){
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘335401813750447’);
fbq(‘track’, ‘PageView’);
},3000);

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.