Comando Linux rm

Preguntar solo si son mas de 3 archivos

Otra opción es -I (con i mayúscula) en la que el comando rm solicita una confirmación para borrar archivos siempre y cuando sean mas de tres y solo pregunta una sola ves. Por ejemplo, si tenemos un comando rm para 2 archivo con esta opción funciona normalmente, es decir sin solicitar confirmación, mira este ejemplo:

$ rm -I lista-usuarios.data logsistema

Al dar enter el comando borra inmediatamente losr dos archivos, pero si tenemos un comando con la misma opción pero que va a borrar más de 3 archivos te solicitará una confirmación.

$ rm -I lista-usuarios.data logsistema nada002.txt rcurso.html
rm: remove all arguments? Y

Con la opción -I y cuando sean mas de cuatro archivos, el comando rm borrará los archivos cuando se responda Y ( o S si tu sistema está en español) a la confirmación.

Ver que está ocurriendo con el comando rm

Como en casi todos los comandos linux, el comando rm tiene la opción -v que permite tener un mensaje para visualizar que ocurre cuando se ejecuta el comando, se utiliza el mismo ejemplo para ver la diferencia.

$ rm -Iv lista-usuarios.data logsistema nada002.txt rcurso.html
rm: remove all arguments? y
removed 'lista-usuarios.data'
removed 'logsistema'
removed 'nada002.txt'
removed 'rcurso.html'

Responder Y a cualquier pregunta

Hay algunos archivos que el comando rm no borra antes de hacer un confirmación, por ejemplo aquellos archivos que tienen alguna protección contra escritura. Cuando esto ocurre y son muchos archivos se puede hacer uso del comando linux yes y de los Pipes (o tuberias) para responder a «todas»esas afirmaciones de forma automática en ves de responder cada archivo.

$ yes | rm *

Al ejecutar este comando te mostrará todas las preguntas de confirmación para borrar cada archivo pero el comado linux yes, mediante el pipe, lo responderá afirmativamente por ti, así que tu pantalla se podrá llenar de muchas lineas de texto, tantas como archivos haya en el directorio actual.

Como borrar un archivo llamado -iv

Es muy raro que los archivos tengan un nombre que empieza con un guión «-» pero es posible que ocurra y  pero si el nombre del archivo es «-iv», bueno hay un parámetro especial que te ayuda cuando tengas que borrar un archivo te tenga un nombre así y el el doble guión «–«, para usarlo debes indicar los dos guiones antes del nombre del archivo para que el comando rm no lo confunda con opciones.

$ ls
 -rw-r--r-- 1 lm lm 0 Aug 26 13:44 -iv

$ rm -- -iv

También puedes indicar el directorio actual en el nombre del archivo para evitar la confusión con los parámetros, así:

rm ./-iv

Borrar todo y de forma recursiva

Cuando quieres borrar archivos dentro de un directorio, o dentro de varios directorios el comando linux rm tiene una opción que permite hacer el borrado de archivos de manera recursiva. La opción -r o -R borrará los archivos del directorio local y los archivos dentro de estos, incluidos los directorios que existieran en la ruta. Te muestro un ejemplo para borrar todos los archivos cuando hay directorios.

$ rm *
rm: cannot remove ‘con-permisos’: Is a directory
rm: cannot remove ‘normal’: Is a directory

Pero cuando se utiliza la opción -r o -R elimina todos los directorios y sus archivos incluidos. Por eso al principio de este post te comentaba que el comando linux rm también puede ser usado para eliminar un directorio, sobre todo si tiene archivos dentro de el. Aquí te muestro el ejemplo del mismo caso con la opción -v para ver como se borran los directorios:

$ rm -rv *
removed directory: ‘con-permisos’
removed ‘lista-usuarios.data’
removed ‘logsistema’
removed ‘nada002.txt’
removed ‘normal/lista-usuarios.data’
removed ‘normal/readme’
removed ‘normal/rcurso.html’
removed ‘normal/lista-usuarios2.data’
removed ‘normal/rcurso01.html’
removed ‘normal/nada02.txt’
removed ‘normal/readme01’
removed ‘normal/logsistema’
removed ‘normal/logsistem2a’
removed ‘normal/nada002.txt’
removed directory: ‘normal’
removed ‘rcurso.html’
removed ‘readme’

En negritas de marco los mensajes donde se confirma que los directorios han sido eliminados.

Forzar el borrado sin consultar

Los comandos anteriores pueden mostrar mensajes en ciertos casos, pero si se desea ejecurtar el borrado de archivos con las opciones anteriores y de manera explicita no deseas confirmación alguna se puede utilizar la opción -f

rm -f *.txt

O lo mas común es cuando quieres eliminar todos los archivos de forma explicita y  sin confirmación, usa este comando con precaución y de preferencia no como root salvo que sea en extremo necesario. Advertencia nunca ejecutes este comando en el directorio / por que eliminará todos los archivos de tu sistema.

rm -rf *

El comando linux rm es uno de los comando básicos de linux y su importancia es mucha ya que nos permite mantener nuestro sistema en condiciones optimas pues nos permite borrar información no necesaria, liberar espacio en disco cuando se ocupa hacerlo, entre otras tareas importantes. Espero que este post te sea bastante útil y recuerda que si te ha gustado por favor compártelo en tus redes sociales.

Tu Servidor y Amigo

Luis Armando Medina

Sígueme en Twitter: @larmedina
Sígueme en Facebook: dame un like LuisMedinaMLM

This entry was posted in Comandos Linux and tagged , , , , . Bookmark the permalink.

2 Responses to "Comando Linux rm"

Deja una respuesta

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


*