rm significa remove (eliminar o borrar). El comando rm se usa para eliminar objetos como archivos, directorios, enlaces simbólicos, etc. del sistema de archivos como UNIX. Para ser más precisos, rm elimina las referencias a los objetos del sistema de archivos, donde esos objetos pueden tener múltiples referencias (por ejemplo, un archivo con dos nombres diferentes). Por defecto, no elimina directorios.
En este artículo vamos a ver algunos ejemplos de uso junto con los modificadores que lo acompaña, así como el cuidado que se debe tener al momento de usarlo.
Este comando funciona con discreción, así que debes tener mucho cuidado al ejecutar el comando rm, ya que una vez que borres archivos y/o directorios, no podrás recuperar el contenido de los mismos.
1. Sintaxis e introducción al comando rm
Sintaxis:
rm ... ARCHIVO...
Consideremos 5 archivos con el nombre a.txt, b.txt y así sucesivamente hasta e.txt.
$ ls
a.txt b.txt c.txt d.txt e.txt
// Eliminar un archivo a la vez
$ rm a.txt
$ ls
b.txt c.txt d.txt e.txt
//Eliminar más de un archivo a la vez
$ rm b.txt c.txt
$ ls
d.txt e.txt
A continuación, veremos algunos modificadores de uso para el comando rm.
2. rm -i: Confirmación para borrar
El modificador
$ rm -i d.txt
rm: ¿borrar el fichero regular 'd.txt'? (s/n) s
$ ls
e.txt
3. rm -f: Forzar eliminación
El comando rm solicita confirmación de eliminación si un archivo está protegido contra escritura. El modifiador
$ ls -l
total 4
-r--r--r-- 1 Alexynior Alexynior 5 Jul 11 12:27 e.txt
$ rm e.txt
rm: ¿borrar el fichero regular 'e.txt' protegido contra escritura? n
$ ls
e.txt
$ rm -f e.txt
$ ls
4. rm -r: Eliminación recursiva
Con el modificador
A continuación se muestra un ejemplo de árbol de directorios y archivos:
$ ls
A
$ cd A
$ ls
B C
$ ls B
a.txt b.txt
$ ls C
c.txt d.txt
Ahora, la eliminación del directorio A (como directorio padre) se hará de la siguiente manera:
rm *
rm: no se puede borrar 'B': Es un directorio
rm: no se puede borrar 'C': Es un directorio
$ rm -r *
$ ls
Todos los directorios y archivos dentro del directorio A se han eliminado.
5. rm –versión: Versión
El parámetro
6. Aplicación Extra
Eliminar un archivo cuyo nombre comience con un símbolo de guión (-): para eliminar un archivo cuyo nombre comience con un guión (“-“), puede especificar un doble guión (“–“) por separado antes del nombre del archivo. Este guion adicional es necesario para que rm no malinterprete el nombre del archivo como un parámetro.
Digamos que tienes un archivo con el nombre -archivo.txt, para eliminar este comando de escritura de archivo como:
$ ls
-archivo.txt
$ rm -archivo.txt
rm: opción inválida -- 'a'
Pruebe 'rm ./-archivo.txt' para borrar el archivo '-archivo.txt'.
Pruebe 'rm --help' para más información.
$ rm -- -archivo.txt
$ ls
7. Ni de broma: rm -rf
Siempre debes tener en cuenta que “rm -rf” es uno de los comandos más peligrosos, que nunca se puede ejecutar en un sistema Linux, especialmente como root. El siguiente comando borrará todo en tu partición root(/).
# rm -rf /
8. Conclusión
En realidad, el comando rm nunca elimina un archivo, sino que lo desvincula del disco, pero los datos siguen en el disco y pueden recuperarse usando herramientas como PhotoRec, Scalpel o Foremost.
Si realmente desea eliminar un archivo o directorio de forma permanentemente, puede usar la herramienta de línea de comando shred o leer más al respecto en 3 formas de eliminar archivos en Linux . ¡No olvides compartir este artículo con los demás! :’)