Présentation
Les commandes du terminal sont intimidantes pour les nouveaux utilisateurs de Linux. Courir quoi que ce soit sans connaître le résultat peut avoir des conséquences irrévocables. Sous Linux, les commandes dangereuses sont souvent le résultat d'une simple erreur de frappe.
Savoir ce que fait chaque partie d'une commande Linux et les dangers potentiels aide à éviter de telles situations. Un exemple typique est le sudo rm -rf
commande, qui est très utile lorsqu'elle est utilisée correctement, mais peut entraîner des conséquences si elle est mal saisie ou mal utilisée.
Cet article explique le sudo rm -rf
commande sous Linux, ce qu'elle fait et comment l'utiliser correctement.
Prérequis
- Accès à la ligne de commande/au terminal.
- Un utilisateur avec des privilèges sudo.
- Fichiers ou répertoires à supprimer.
sudo rm -rf Syntaxe
Le sudo rm -rf
La commande est souvent évitée par les utilisateurs et citée comme une commande dangereuse. La syntaxe de la commande est :
sudo rm -rf <directory or file>
Vous trouverez ci-dessous une répartition de chaque partie de la commande :
sudo
- élève les privilèges d'un utilisateur à l'utilisateur root. Permet de supprimer les fichiers et répertoires appartenant à la racine.rm
- Commande Linux pour supprimer des fichiers ou des répertoires.-r
- L'option indique une suppression récursive et aide à supprimer les répertoires non vides.-f
- L'option permet la suppression sans confirmation, même si un fichier n'existe pas.<directory or file>
- Le chemin d'un répertoire ou d'un fichier à supprimer.
Utilisez la commande pour supprimer des fichiers ou des répertoires non vides dont le propriétaire est root.
Suivez les étapes ci-dessous pour créer un exemple de cas d'utilisation :
1. Ouvrez le terminal (CTRL +ALT +T ).
2. Créez un répertoire de test avec un sous-répertoire :
sudo mkdir test1 && sudo mkdir test1/test2
Le créateur et propriétaire des deux répertoires est l'utilisateur root.
3. Essayez de supprimer le répertoire en tant qu'utilisateur normal :
rm -rf test1
La sortie affiche le message d'autorisation refusée.
4. Utilisez la commande avec sudo
pour supprimer le répertoire :
sudo rm -rf test1
La commande n'affiche pas de message et supprime automatiquement les répertoires sans confirmation.
Pourquoi sudo rm -rf est-il dangereux ?
Le sudo rm -rf
La commande est dangereuse lorsqu'elle n'est pas utilisée correctement. Le rm
La commande fait son travail pour supprimer, mais une erreur de frappe ou ne pas savoir ce qui est supprimé peut la rendre dangereuse.
Avertissement : N'exécutez pas les commandes dans les exemples suivants.
Les exemples suivants montrent comment et quand le rm -rf
la commande est potentiellement dangereuse :
1. Lors de la suppression de répertoires, la faute de frappe suivante est à peine perceptible :
sudo rm -rf / directory/subdirectory
L'espace après la première barre oblique (/
) passe le répertoire racine comme paramètre de suppression. La commande supprime le répertoire racine et tous les sous-répertoires en raison du -r
drapeau. Le résultat est le même qu'en exécutant ce qui suit :
sudo rm -rf /
Bien que la plupart des systèmes modernes affichent un message d'avertissement et nécessitent des options supplémentaires, le -f
flag remplace la confirmation dans certains scénarios.
2. Suppression de plusieurs fichiers avec des noms différents et la même extension à l'aide du signe astérisque (*
) permet de faire correspondre zéro ou plusieurs caractères. La faute de frappe suivante dans la commande entraîne une erreur :
sudo rm -rf * .txt
Semblable à l'exemple précédent, en ajoutant un espace supplémentaire après l'astérisque (*
) transmet le répertoire de travail et tous ses sous-répertoires pour suppression. Par conséquent, la commande s'exécute comme suit :
sudo rm -rf *
En conséquence, tout ce qui se trouve dans le répertoire courant est supprimé sans avertissement. La commande supprime le système si le répertoire de travail actuel est root (/
).
3. Une forme dangereuse de sudo -rm rf
peut se produire lors de la suppression de répertoires qui se terminent par les mêmes caractères :
sudo rm -rf /* -directory
En raison de l'espacement, la commande devient :
sudo rm -rf /*
Étant donné que la commande supprime le contenu du répertoire racine, il n'y a aucun avertissement.
Conclusion
Après avoir lu ce guide, vous connaissez les dangers liés à l'utilisation de sudo rm -rf
. Bien que la commande ne soit pas dangereuse et ait un but, elle pourrait potentiellement supprimer tout votre système ou des données critiques.
Consultez notre guide de sauvegarde et de reprise après sinistre pour éviter les situations de perte de données irrévocables.