Miércoles, Julio 26, 2017

Comando Linux rm

comandos-linux-rm.jpg

Siguiendo con el tema de los comandos básicos linux es turno del comando linux rm que sirve para borrar archivos o directorios. ¿Directorios? te preguntas, bueno por lo general se dice que rm sirve para borrar archivos y el comando linux rmdir para borrar directorios, bueno eso es “lo formal” pero en la práctica rm también puede usarse para borrar directorios con un pequeño truco del comando linux rm y te digo otros mas en este post, no te lo pierdas.

Comando Linux rm

Los comandos básicos de linux te permiten hacer las tareas cotidianas que se necesitan en un sistema linux, cosas como crear archivos, listar el contenido de un directorios y claro está borrar algún archivo o directorio. Para borrar archivos comúnmente se usa el comando linux rm pero aquí te voy a decir todo lo que puedes hacer con este comando.

Sintaxis del comando linux rm

rm [opciones]… archivo…

Cuando deseas eliminar un archivo solo tienes que identificar cual archivo e identificarlo con el nombre de archivo, luego poner el comando como en alguno de estos ejemplos que te comparto en seguida.

Borrar un archivo

El ejemplo mas simple es cuando tienes un archivo de nombre ejemplo.txt y deseas eliminarlo, solo tienes que poner el comando y el nombre, te doy el ejemplo:

rm ejemplo.txt

Preguntar antes de borrar

Hay momentos en lo que se requiere borrar solo algunos archivos que no tienen nada en común y es posible indicar al comando rm que solicite una confirmación para borrar cada archivo mediante la opción -i este es un ejemplo de este comando:

$ rm -i ejemplo.txt
rm: remove regular file 'ejemplo.txt'? y

Al presionar la tecla Y y luego enter se borrará el archivo, en caso de que tengas tu sistema en español podrás responder con S o Y para confirmar que deseas borrar el archivo, en caso contrario responde con una N.

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

 

Fuente: comoinstalarlinux

Compártelo. ¡Gracias!

 
Grupo Digital de Ayuda! Laboratorio Linux! - Linux para todos.

¿Quién está en línea?

Hay 77 invitados y ningún miembro en línea

Contador de Visitas

8901731
Hoy Hoy 114
Ayer Ayer 986
Esta semana Esta semana 2035
Este mes Este mes 29940
Total de Visitas Total de Visitas 8901731

Día con más
visitantes

07-19-2017 : 1525

Gracias por su visita