GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que sudo rm -rf sous Linux et est-ce dangereux ?

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.


Linux
  1. Quelle est la différence entre la commande locate et find sous Linux

  2. Quel est le but des fichiers utmp, wtmp et btmp sous Linux

  3. Exemples de commandes sudo sous Linux

  4. Exécutez la commande cd en tant que superutilisateur sous Linux

  5. Quelle est la commande pour copier, lire et supprimer un fichier sous Linux

Comprendre la différence entre les commandes sudo et su sous Linux

Commande W sous Linux (voir qui s'est connecté et quoi faire)

Principes de base de la ligne de commande Linux :sudo

Qu'est-ce que mon invite de commande Linux me dit?

Qu'est-ce que la commande source sous Linux et comment ça marche ?

Qu'est-ce que la commande kill sous Linux ?