rm -rf *.*
corrompra votre système de fichiers alors que rm -rf /
ne le fera pas ceci?
Commentaires
- Unix et Linux Stack Exchange a été utile pendant plus de 6 ans, et SuperUser pour la même chose: unix.stackexchange.com/questions/19547 superuser.com/questions/312769 unix.stackexchange.com/questions/302468
Réponse
Là « Il ny a rien de spécial, rm -rf *.*
est une commande avec un nom de fichier générique, elle supprimera de manière récursive tous les fichiers du répertoire actuel qui contiennent un point dans leurs noms.
rm -rf /
donnerait une erreur concernant la tentative dexécution de rm
sur le répertoire racine. Ceci est mandaté par POSIX :
Si […] un opérande reso lves dans le répertoire racine, rm doit écrire un message de diagnostic derreur standard et ne rien faire de plus avec de tels opérandes.
En fonction sur le shell et ses paramètres, *.*
peut également correspondre à ..
pour le répertoire parent, mais ainsi que /
, essayer de supprimer cela est également une erreur.
Aucun de ces éléments ne corrompra le système de fichiers, rm
ne fera que (essaiera de) supprimer fichiers en utilisant les appels habituels du système de fichiers. Leffet sur le système dans son ensemble, ou sur les fichiers de lutilisateur, peut bien sûr être substantiel si la première commande est exécutée dans un répertoire contenant des fichiers importants.
Commentaires
- pour des versions suffisamment nouvelles de GNU
rm
(fonctionnalité initialement volée à Solaris IIRC). Mieux vaut ne pas pleurer si votre poids léger intégrérm
nest pas compatible avec le dernier POSIX.