Es correcto que rm –rf .
eliminará todo en la corriente, incluidos los subdirectorios y su contenido. El punto único (.
) significa el directorio actual. tenga cuidado de no hacer rm -rf ..
ya que el punto doble (..
) significa el directorio anterior.
Dicho esto, si eres como yo y tienes varias ventanas de terminal abiertas al mismo tiempo, será mejor que estés a salvo y usa rm -ir .
Veamos los argumentos del comando para comprender por qué.
Primero, si nos fijamos en el rm
command man page (man rm
en la mayoría de Unix), observa que –r
significa "eliminar el contenido de los directorios recursivamente". Por lo tanto, al hacer solo rm -r .
se eliminaría todo en el directorio actual y todo lo que está debajo.
En rm –rf .
el agregado -f significa "ignorar archivos inexistentes, nunca preguntar". Ese comando borra todos los archivos y directorios en el directorio actual y nunca te pide que confirmes que realmente quieres hacer eso. -f
es particularmente peligroso si ejecuta el comando en un usuario de privilegios ya que puede eliminar el contenido de cualquier directorio sin tener la oportunidad de asegurarse de que es realmente lo que desea.
En el otherhand, en rm -ri .
la -i
que sustituye a la -f
significa "rápido ante cualquier remoción". Esto significa que tendrás la oportunidad de decir "¡oups! Eso no es lo que quiero" antes de que rm se alegre y borre todos tus archivos.
En mis primeros días sysadmin hice un rm -rf /
en un sistema mientras estaba conectado con privilegios completos (raíz). El resultado fue dos días después de restaurar el sistema a partir de copias de seguridad. Es por eso que ahora empleo rm -ri
ahora.
Esto tiene que ser un engaño: http://stackoverflow.com/questions/550922/how-to-delete-all-files-from-current-directory-including-current-directory – jmucchiello