¿Qué pasaría si ejecutara ‘sudo rm -rf *’ en la carpeta raíz de mi ordenador?

En Unix, en general, se permite eliminar archivos y directorios incluso si están en uso. De hecho, usted ni siquiera tiene que ser root para hacer esto: si usted tiene permiso para eliminar un archivo o directorio, entonces usted tiene permiso para hacerlo, independientemente de si el archivo está en uso, el directorio está en uso, o un archivo dentro del directorio está en uso. Si elimina un archivo que está en uso, el sistema simplemente no lo desasigna del sistema de archivos hasta que su cuenta de referencias llegue a cero, es decir, todos los descriptores de archivo de ese archivo se cierran. Esto contrasta con Windows, en el que simplemente no se le permite eliminar un archivo que está en uso, incluso si tiene privilegios administrativos.

Sin embargo, POSIX hace una excepción: no se le permite eliminar un directorio si es el directorio raíz o el directorio de trabajo actual del proceso de llamada o algún otro proceso. (El sistema puede permitirle hacerlo, pero también puede no permitírselo.)

Así que, por ejemplo, sería seguro asumir que los directorios /lib y /bin serían eliminados por completo ya que es poco probable que algún proceso los tenga como directorio raíz o directorio de trabajo actual. Después de eso, es poco probable que pueda ejecutar más ejecutables, aunque el shell seguiría funcionando.

En Linux, tampoco se permite eliminar un directorio si es un punto de montaje. Generalmente, los siguientes son puntos de montaje: /dev/pts, /proc, /run, /sys. Probablemente podría eliminar todo lo que hay dentro de /dev, excepto /dev/pts, por lo que el propio directorio /dev sobreviviría. (Tenga en cuenta que siempre puede eliminar los archivos de dispositivos, incluso si están montados: lo que está montado no está protegido, pero el lugar donde está montado sí). /proc y /sys no se verían afectados, ya que son sistemas de archivos de sólo lectura. Probablemente podrías eliminar la mayor parte o todo el contenido de /run, pero no el propio /run. /media también sobreviviría si tienes algo montado bajo él. /boot y /etc probablemente se eliminarán en su totalidad. El resto de los directorios de nivel superior pueden o no ser puntos de montaje. Yo tengo /home, /usr y /var en la misma partición que todo lo demás, pero muchos sistemas los tienen en particiones separadas. En ese caso, esos directorios serían puntos de montaje, y usted no podría eliminarlos, aunque probablemente podría eliminar todo o casi todo su contenido.