La suppression de répertoires et de fichiers est l’une des fonctions les plus élémentaires mais les plus importantes de tout système d’exploitation. Sous Linux, si vous avez un environnement fenêtré en cours d’exécution, vous pouvez localiser et supprimer des fichiers à l’aide d’une application de gestionnaire de fichiers. Vous vous connectez peut-être à distance via SSH, votre ordinateur Linux n’a pas d’interface graphique installée ou vous souhaitez avoir plus de contrôle sur ce que vous supprimez. Comme pour tout sous Linux, il existe de nombreuses raisons pour lesquelles il peut être nécessaire ou préférable de supprimer des répertoires ou des fichiers via la ligne de commande.
Dans ce tutoriel, nous allons examiner les rm commande qui supprime les répertoires et les fichiers. Nous examinerons les bases de la commande et comment elle peut être utilisée pour supprimer à la fois des fichiers et des répertoires et nous examinerons également quelques autres améliorations pour tirer le meilleur parti de cette commande. Si vous souhaitez plutôt modifier l’emplacement de votre fichier, vous devriez consulter notre article sur comment déplacer et renommer des fichiers sous Linux.
Bien sûr, comme ce guide concerne la suppression de répertoires et de fichiers, vous devez faire très attention à suivre attentivement les instructions, et pendant que vous vous habituez à ces commandes, il est bon de travailler avec des exemples de fichiers et de répertoires vides.
Toutes les commandes de ce tutoriel fonctionneront sur la plupart des machines Linux. Nous avons utilisé une installation d’Ubuntu 20.04, mais vous pouvez exécuter ce guide sur un Tarte aux framboises. Toutes les procédures sont effectuées via le terminal. Vous pouvez ouvrir une fenêtre de terminal sur la plupart des machines Linux en appuyant sur ctrl, alt, et t ou via le menu Applications.
Comment supprimer un fichier sous Linux
Commençons simplement par supprimer un seul fichier. La syntaxe de la commande est structurée comme suit.
rm <name of object to delete>
1. Créez un nouveau fichier appelé test1.txt
touch test1.txt
2. Lister le contenu du répertoire pour vous assurer que le fichier a été créé. Vous devriez maintenant voir le fichier test1.txt.
ls
3. Supprimez le fichier d’essai. La suppression d’un fichier ou d’un dossier est permanente. Il n’y a pas de corbeille qui puisse nous sauver d’une frappe erronée.
rm test1.txt
4. Réénumérez le contenu du répertoire pour vérifier que le fichier a été supprimé. Vous devriez voir que test1.txt n’est plus répertorié.
ls
Comment supprimer un répertoire sous Linux
Passons en revue un exemple similaire pour montrer que rm peut être utilisé pour supprimer un répertoire contenant des fichiers. Pour ces exemples, nous utiliserons deux arguments supplémentaires -r et -je.
1. Créez un répertoire vide. À partir de votre répertoire personnel, créez un répertoire vide.
mkdir test_directory
2. Déplacez-vous dans le nouveau répertoire.
cd test_directory
3. Créer deux fichiers de test dans le répertoire
touch test1.txt test2.txt
4. Lister le contenu du répertoire pour vérifier que les fichiers sont créés. Vous devriez voir les fichiers test1.txt et test2.txt sont maintenant répertoriés.
ls
5. Revenir au répertoire d’accueil
cd ~
6. Supprimez le répertoire. Pour supprimer ce répertoire, nous devons utiliser le -r argument. le -r L’argument agit de manière récursive pour entrer dans le répertoire et rechercher et supprimer tous les fichiers qu’il contient. Une fois vide, la commande revient pour supprimer le répertoire qu’elle vient d’effacer.
rm -r test_directory
7. Vérifiez que le répertoire a été supprimé. Tu devrais voir ça test_directory a été retiré de la liste.
ls
8. Répétez les étapes 1 à 5 ci-dessus pour créer le répertoire et les fichiers de test.
9. Répétez le -r argument mais ajouter -je argument pour supprimer interactivement les fichiers et le répertoire. Il peut être difficile d’imaginer ce que -r l’argument fait. le -je L’argument force le processus de suppression à demander une confirmation (interactive) de chaque suppression. Tapez « y » et cliquez sur Entrée pour confirmer chaque étape.
rm -ri test_directory
Comment supprimer un fichier protégé en écriture sous Linux
Parfois, vous devrez peut-être supprimer des fichiers sous Linux qui sont protégés en écriture. Si vous utilisez la norme rm commande, il vous demandera de confirmer si vous souhaitez supprimer chaque fichier protégé. Pour cela nous pouvons utiliser le -F forcer l’argument pour aider. Cela force essentiellement le rm commande pour supprimer de force tous les répertoires et fichiers, vous devez donc être très prudent lorsque vous utilisez ces commandes car il ne demandera aucune confirmation.
1. Créez un fichier de test appelé test1.txt
touch test1.txt
2. Modifier les autorisations de fichier afin que seuls l’utilisateur et le groupe auquel il appartient puissent supprimer le fichier.
chmod u-w test1.txt
chmod g-w test1.txt
3. Essayez de supprimer le fichier en utilisant la norme rm commander. Lorsque vous utilisez la norme rm commande, vous devriez être invité à confirmer si vous souhaitez supprimer le test1.txt fichier. Cliquez sur n pour « non » cette fois. Si vous aviez un répertoire avec des centaines de fichiers protégés, vous devriez confirmer chacun avec un y ce qui serait une perte de temps incroyable.
rm test1.txt
4. Supprimez le fichier à l’aide de la -F argument. Exécuter cette commande avec -F L’argument force la commande à supprimer le fichier et ne demande pas de confirmation. A utiliser avec précaution !
rm -f test1.txt
Ces commandes sont incroyablement puissantes, simples à utiliser et peuvent rendre les tâches de suppression très simples à réaliser. Vous avez peut-être vu des blagues en ligne sur des versions extrêmement dangereuses de cette commande telles que sudo rm -rf / et vous aurez peut-être un nouvel aperçu via cet article des raisons pour lesquelles cela pourrait être si dangereux.
Vous pouvez remarquer que nous donnons à la commande les privilèges root et utilisons les arguments force et récursifs pour envoyer essentiellement la commande pour supprimer tous les fichiers d’un système !