¿Existe alguna diferencia entre rm -rf / y rm -rf *. *?

¿rm -rf *.* dañará su sistema de archivos mientras que rm -rf / no funcionará? esto?

Comentarios

Responder

Ahí «No tiene nada de especial, rm -rf *.* es un comando con un comodín de nombre de archivo, eliminará recursivamente todos los archivos en el directorio actual que contengan un punto en sus nombres.

rm -rf / daría un error al intentar ejecutar rm en el directorio raíz. Esto es un mandato de POSIX :

Si […] un operando reso Si va al directorio raíz, rm escribirá un mensaje de diagnóstico para error estándar y no hará nada más con tales operandos.

Dependiendo en el shell y su configuración, *.* también puede coincidir con .. para el directorio principal, pero también con /, intentar eliminar eso también es un error.

Ninguno de los dos dañará el sistema de archivos, rm solo (intentará) eliminar archivos utilizando las llamadas habituales al sistema de archivos. El efecto en el sistema en general, o en los archivos del usuario, por supuesto, puede ser sustancial si el primer comando se ejecuta en un directorio que contiene archivos importantes.

Comentarios

  • para versiones suficientemente nuevas de GNU rm (característica originalmente robada de Solaris IIRC). Es mejor no llorar si su rm no es compatible con la última versión de POSIX.

Deja una respuesta

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