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

Terminal Bash en el concepto de portátil Ubuntu

Fatmawati Achmad Zaenuri / Shutterstock.com



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

Es importante tener en cuenta que los archivos y directorios eliminados mediante 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 de restaurarlos es a partir de una copia de seguridad.





Cómo eliminar archivos con rm

El caso más simple es eliminar un solo archivo en el directorio actual. Escriba el rm comando, un espacio y luego el nombre del archivo que desea eliminar.

|_+_|

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



|_+_|

Puede pasar más de un nombre de archivo a rm. Al hacerlo, se eliminan todos los archivos especificados.

|_+_|Anuncio publicitario

Se pueden utilizar comodines para seleccionar grupos de archivos que se eliminarán. El * 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.

|_+_|

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.



|_+_|

Si un archivo está protegido contra escritura, se le preguntará antes de eliminarlo. Debes responder con y o n y presione Entrar.

comando rm con archivo protegido contra escritura

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

|_+_|

comando rm en modo interactivo

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

|_+_|

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 los directorios del mismo modo que puede hacerlo con los nombres de los archivos.

|_+_|Anuncio publicitario

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

|_+_|

Para eliminar 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.

|_+_|

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

|_+_|

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

Utilice 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.

|_+_|

Ejecutando el tree El comando produce un diagrama simple de entender de la estructura del directorio y los archivos debajo del directorio desde el cual se ejecuta.

|_+_|

salida del comando de árbol

Anuncio publicitario

También puede proporcionar una ruta a tree comando para hacer que inicie el árbol desde otro directorio en el sistema de archivos.

|_+_|

El 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 en algo, podría eliminar accidentalmente todos los archivos del sistema. Consulte el comando página de manual 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|_+_|y|_+_|es eso|_+_|solo puede eliminar directorios que están vacíos. Nunca borrará archivos.

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

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

|_+_|

Elimine varios directorios pasando una lista de nombres a rm :

|_+_|Anuncio publicitario

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

|_+_|

Si intenta eliminar 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 rmdir directorio pero se niega a eliminar el rmdir directorio porque contiene archivos. El rmdir El directorio se deja exactamente como estaba y los archivos que contiene no se modifican.

comando rmdir con una carpeta no vacía

Cuando clients 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, projects le daría el mensaje de error y no haría nada más. Puede obligarlo a ignorar estos errores con projects opción para que se procesen otros directorios.

En el siguiente ejemplo, se han pasado dos carpetas a rmdir, estas son rmdir y --ignore-fail-on-non-empty . El rmdir La opción se ha incluido en el comando. El work/reports carpeta contiene archivos, así que work/quotes no puedo borrarlo. El --ignore-fail-on-non-empty fuerza de opción work/reports para ignorar el error y pasar a la siguiente carpeta que necesita procesar, que es rmdir. Esta es una carpeta vacía y --ignore-fail-on-non-empty lo elimina.

Este fue el comando utilizado.

|_+_|

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

Puede utilizar el rmdir (padres) opción para eliminar un directorio y también para eliminar sus directorios principales. Este truco funciona porque work/quotes comienza con el directorio de destino y luego retrocede hasta el padre. Ese directorio ahora debería estar vacío, por lo que puede ser eliminado por rmdir, y el proceso se repite retrocediendo por la ruta que se proporcionó a -p.

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

|_+_|

comando rmdir con opción de eliminar padres

Anuncio publicitario

Tanto el rmdir y el rmdir los directorios se eliminan, según lo solicitado.


Ya sea que esté utilizando Bash o cualquier otro shell, Linux proporciona comandos flexibles y potentes para eliminar directorios y archivos directamente desde la línea de comandos de la terminal. Algunas personas prefieren tener un flujo de trabajo que gire en torno a la terminal. Otros pueden no tener otra opción 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 un script se activa con un rmdir trabajo, puede ayudar a automatizar las tareas domésticas de rutina, como la eliminació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.

Comandos de Linux
Archivos alquitrán · pv · gato · tac · chmod · sujeción · diff · sed · Con · hombre · empujado · popd · fsck · testdisk · seq · fd · pandoc · cd · $ RUTA · awk · entrar · jq · pliegue · uniq · journalctl · cola · Expresar · ls · fstab · echo · menos · chgrp · chown · Rdo · Mira · instrumentos de cuerda · escribe · rebautizar · Código Postal · abrir la cremallera · montar · desmontar · Instalar en pc · fdisk · mkfs · rm · rmdir · rsync · df · gpg · nosotros · nano · mkdir · desde · en · parche · convertir · rclone · desgarrar · SRM
Procesos alias · pantalla · cima · bonito · re bueno · Progreso · strace · sistema · tmux · chsh · historia · en · lote · gratis · cual · dmesg · usermod · ps · chroot · xargs · tty · meñique · lsof · vmstat · se acabó el tiempo · pared · · matar · dormir · sudo · su · hora · Groupadd · usermod · grupos · lshw · apagar · reiniciar · detener · apagado · passwd · lscpu · crontab · fecha · bg · fg
Redes netstat · silbido · trazar ruta · ip · ss · quién es · fail2ban · bmon · Uds · dedo · nmap · ftp · rizo · wget · quién · quién soy · En · iptables · ssh-keygen · ufw

RELACIONADO: Las mejores computadoras portátiles Linux para desarrolladores y entusiastas

LEER SIGUIENTE Foto de perfil de Dave McKay Dave McKay
Dave McKay usó computadoras por primera vez cuando la cinta de papel perforada estaba de moda, y ha estado programando desde entonces. Después de más de 30 años en la industria de las tecnologías de la información, ahora es un periodista de tecnología a tiempo completo. Durante su carrera, ha trabajado como programador autónomo, gerente de un equipo de desarrollo de software internacional, gerente de proyectos de servicios de TI y, más recientemente, como oficial de protección de datos. Su escrito ha sido publicado por howtogeek.com, cloudsavvyit.com, itenterpriser.com y opensource.com. Dave es un evangelista de Linux y un defensor del código abierto.
Leer biografía completa

Artículos De Interés