La commande pour supprimer un répertoire. Comment supprimer des répertoires sous Linux ? Suppression de dossiers via la ligne de commande

DANS systèmes d'exploitation le noyau Linux stocke généralement un grand nombre de répertoires vides et non vides. Certains d'entre eux occupent une assez grande quantité d'espace sur le disque et deviennent souvent inutiles. Dans ce cas, la bonne option serait de les supprimer. Il existe plusieurs façons d'effectuer le nettoyage, chacune d'elles est applicable dans une situation spécifique. Examinons plus en détail toutes les méthodes disponibles et vous choisirez la plus appropriée en fonction de vos besoins.

Dans cet article, nous parlerons des utilitaires de la console et des outils supplémentaires qui sont lancés en entrant des commandes. Cependant, n'oubliez pas que les shells graphiques sont souvent implémentés dans les distributions. Ainsi, pour supprimer un répertoire, il vous suffit d'y accéder via gestionnaire de fichiers, faites un clic droit sur l'icône et sélectionnez "Supprimer". N'oubliez pas de vider votre corbeille après cela. Cependant, cette option ne sera pas applicable pour tous les utilisateurs, nous vous conseillons donc de lire les guides suivants.

Avant de commencer à considérer les méthodes, il est important de noter que lors de la saisie d'une commande, le plus souvent, vous indiquerez indépendamment le nom du dossier que vous souhaitez supprimer. Lorsque vous n'êtes pas à son emplacement, vous devez spécifier le chemin complet. Si possible, nous vous recommandons de trouver le répertoire parent de l'objet et d'y accéder via la console. Cette action s'effectue en quelques minutes :


Si vous ne parvenez pas à déterminer l'emplacement, vous devrez entrer vous-même le chemin complet lors de la suppression, vous devrez donc le connaître.

Méthode 1 : commandes de terminal standard

Le shell de commande de toute distribution Linux contient un ensemble d'utilitaires et d'outils de base qui vous permettent d'effectuer une grande variété d'actions avec les paramètres système et les fichiers, y compris la suppression de répertoires. Il existe plusieurs utilitaires de ce type, et chacun sera le plus utile dans une situation particulière.

commande rmdir

Tout d'abord, je voudrais aborder rmdir. Il est conçu pour nettoyer le système uniquement à partir de répertoires vides. Les supprime définitivement, et l'avantage de cet outil est la simplicité de sa syntaxe et l'absence d'erreurs. Dans la console, il suffit d'enregistrer le dossier rmdir , où dossier est le nom du dossier à l'emplacement actuel. L'outil est activé en appuyant sur la touche Entrer.

Rien ne vous empêche de spécifier le chemin d'accès complet au répertoire si vous ne pouvez pas accéder à l'emplacement requis ou si vous n'en avez pas besoin. La ligne prend alors, par exemple, la forme suivante : rmdir /home/user/folder/folder1 , où utilisateur- Nom d'utilisateur, dossier est le répertoire parent, et dossier1- dossier à supprimer. Veuillez noter qu'une barre oblique doit être placée avant la maison et qu'elle doit être absente à la fin du chemin.

commande rm

L'outil précédent est l'un des composants de l'utilitaire rm. Il est initialement conçu pour supprimer des fichiers, mais si vous lui donnez l'argument approprié, il supprimera également le dossier. Cette option convient déjà aux répertoires non vides ; dans ce cas, vous devez entrer le dossier rm -R (ou le chemin complet du répertoire) dans la console. Attention à l'argumentation -R- il lance une suppression récursive, c'est-à-dire qu'il concerne tout le contenu du dossier et lui-même. Vous devez être sensible à la casse lors de la saisie, car -r est une option complètement différente.

Si vous voulez afficher une liste de tous fichiers supprimés et les dossiers lors de l'utilisation de rm, vous devez modifier légèrement la ligne. Tapez "Terminal" rm -Rfv dossier puis activez la commande.

Une fois la suppression terminée, les informations sur tous les répertoires et objets individuels qui se trouvaient auparavant à l'emplacement spécifié seront affichées.

trouver la commande

Notre site contient déjà du matériel avec des exemples d'utilisation de find dans les systèmes d'exploitation développés sur le noyau Linux. Bien entendu, seules les informations de base et les plus utiles y sont présentées. Vous pouvez en prendre connaissance en cliquant sur le lien suivant, et maintenant nous vous proposons de découvrir comment fonctionne cet outil lorsque vous avez besoin de supprimer des répertoires.

  1. Comme on le sait, trouver sert à rechercher des objets dans le système. Grâce à l'utilisation d'options supplémentaires, vous pouvez trouver des répertoires avec un nom spécifique et les supprimer immédiatement. Pour ce faire, tapez find dans la console. -type d -name "dossier" -exec rm -rf () \;, où dossier est le nom du répertoire. Assurez-vous d'inclure des guillemets doubles.
  2. Une ligne distincte affiche parfois des informations indiquant qu'il n'existe pas de fichier ou de répertoire de ce type, mais cela ne signifie pas qu'il n'a pas été trouvé. Juste trouver travaillé à nouveau après la suppression du répertoire du système.
  3. find ~/ -empty -type d -delete vous permet de supprimer tous les dossiers vides qui se trouvent dans le système. Certains d'entre eux ne sont disponibles que pour le superutilisateur, donc avant trouver sudo doit être ajouté.
  4. L'écran affichera des informations sur tous les objets trouvés et le succès de l'opération.
  5. Vous pouvez également spécifier uniquement un répertoire spécifique dans lequel l'outil effectuera la recherche et le nettoyage. Ensuite, la ligne ressemblera, par exemple, à ceci : find /home/user/Folder/ -empty -type d -delete .

Ceci termine l'interaction avec les utilitaires de console standard sous Linux. Comme vous pouvez le voir, il en existe un grand nombre et chacun est applicable dans certaines situations. Si vous souhaitez vous familiariser avec d'autres équipes populaires, lisez notre matériel séparé sur le lien ci-dessous.

Équipe MKDIRName est utilisé pour créer un répertoire ou un sous-répertoire. La commande a la syntaxe suivante : MKDIR[drive:]path. Comme vous pouvez le voir dans la syntaxe de la commande, le paramètre "path" est obligatoire. Ce paramètre spécifie le nom du répertoire à créer.

Par exemple, créons un dossier "MyFolder" sur le lecteur "C": mkdir MyFolder

Maintenant, regardez le lecteur "C". Si vous avez tout fait correctement, le dossier "MyFolder" apparaîtra dans le répertoire racine. Dans ce cas, nous avons créé un dossier dans le répertoire courant. Créons maintenant un dossier "MyFolder1" sur le lecteur "D": mkdir d:\MyFolder

Maintenant, sur le lecteur "D", il y a un dossier "MyFolder1"
S'il est nécessaire de créer un sous-répertoire, les mêmes commandes sont utilisées, en spécifiant tous les sous-répertoires.
Par exemple, créons un dossier "world", qui se trouve dans le dossier "hello", qui à son tour se trouve sur le lecteur "C": mkdir hello\world

Maintenant, si vous allez sur le lecteur "C", vous y verrez le dossier "hello", et dans ce dossier le dossier "world". De cette manière, vous pouvez créer des sous-répertoires dont le niveau d'imbrication n'est limité que par la quantité d'espace disque.
La commande MKDIR ne fonctionnera pas si vous essayez de créer un répertoire qui existe déjà dans le répertoire sélectionné.
Par exemple, créons un autre dossier sur le lecteur "D" appelé "MyFolder1"

Équipe RMDIR supprime un répertoire ou un sous-répertoire. Syntaxe de la commande : RMDIR[Q][lecteur :]chemin.
Par exemple, supprimons le dossier créé précédemment "MyFolder1" du lecteur "D": rmdir d:\MyFolder1

La commande RMDIR échouera si le répertoire en cours de suppression contient d'autres répertoires ou fichiers.
Par exemple, supprimons le dossier "hello" du lecteur "C" (si vous vous en souvenez, ce dossier contient un autre dossier "world") : rmdir hello
Pour supprimer un répertoire ainsi que tous les sous-répertoires et fichiers, utilisez clés ou /Q
Lorsque vous utilisez le commutateur /S, la commande RMDIR supprimera le répertoire avec tout son contenu. Lors de la suppression, un message de confirmation de suppression s'affichera à l'écran. rmdir /S bonjour

Un message s'affiche à l'écran. Lorsque vous appuyez sur la touche "y", le dossier "hello" sera supprimé avec tout le contenu.
L'option /Q désactive l'invite de suppression d'un répertoire non vide : rmdir /S /Q hello

Veuillez noter que dans ce cas, 2 touches sont utilisées à la fois dans une commande. Le commutateur /S vous permet de supprimer le répertoire avec tout son contenu, et le commutateur /Q désactive l'invite de confirmation de suppression.

La commande MKDIR peut être écrite sous la forme MD. Les deux commandes sont similaires et sont des abréviations de l'anglais. "make directory" - crée un répertoire.

La commande RMDIR peut être écrite sous la forme RD. Les deux commandes sont similaires et sont des abréviations de l'anglais. "supprimer le répertoire" - supprimer un répertoire.

Les commandes rm et rmdir suppriment des fichiers et des répertoires sous Linux, macOS et d'autres systèmes d'exploitation de type Unix. Elles sont similaires aux commandes del et deltree sous Windows et DOS. Ces commandes sont très puissantes et ont pas mal d'options.

Il est important de noter que les fichiers et répertoires supprimés avec rm et rmdir ne sont pas déplacés vers la corbeille. Ils sont immédiatement supprimés de votre ordinateur. Si vous avez accidentellement supprimé des fichiers à l'aide de ces commandes, vous ne pourrez les restaurer qu'à partir d'une sauvegarde.

Comment supprimer des fichiers avec rm

Le cas le plus simple est la suppression d'un seul fichier dans le répertoire courant. Tapez rm suivi d'un espace, puis du nom du fichier que vous souhaitez supprimer.

Rm file_1.txt

Si le fichier ne se trouve pas dans le répertoire de travail actuel, indiquez le chemin d'accès à l'emplacement du fichier.

Rm ./chemin/vers/le/fichier/fichier_1.txt

Vous pouvez passer plus d'un nom de fichier à rm. Cela supprime tous les fichiers spécifiés.

Rm fichier_2.txt fichier_3.txt

Les caractères génériques peuvent être utilisés pour sélectionner des groupes de fichiers à supprimer. Signe * représente plusieurs caractères, et un caractère ? représente un seul caractère. Cette commande supprimera tous les fichiers image png dans le répertoire de travail actuel.

*.png

Cette commande supprimera tous les fichiers avec la même extension de caractère. Par exemple, cela supprimera File.1 et File.2 mais pas File.12.

Rm *.?

Si le fichier est protégé en écriture, vous serez invité à supprimer le fichier. Vous devez répondre avec y ou n et appuyez sur "Entrée".

Pour réduire le risque d'utiliser rm avec des caractères génériques, utilisez l'option -je(interactif). Pour ce faire, vous devez confirmer la suppression de chaque fichier.

Rm -i *.dat

Option -F(force) est le contraire d'interactif. Il ne demande pas de confirmation même si les fichiers sont protégés en écriture.

Rm -f nom de fichier

Comment supprimer des répertoires avec rm

Pour supprimer un répertoire vide, utilisez l'option -d(annuaire). Vous pouvez utiliser des caractères génériques (* et ?) dans les noms de répertoire, tout comme vous pouvez le faire dans les noms de fichiers.

Rm -d répertoire

Fournir plus d'un nom de répertoire supprime tous les répertoires vides spécifiés.

Rm -d répertoire1 répertoire2 /chemin/vers/répertoire3

Pour supprimer les répertoires non vides, utilisez l'option -r(récursif). Pour être clair, cela supprime les répertoires et tous les fichiers et sous-répertoires qu'ils contiennent.

Rm -r répertoire1 répertoire2 répertoire3

Si le répertoire ou le fichier est protégé en écriture, vous serez invité à confirmer la suppression. Pour supprimer les répertoires non vides et supprimer ces invites, utilisez les options ensemble -r(récursif) et -F(forcé).

Répertoire rm-rf

C'est là que la prudence s'impose. Erreur de commande rm-rf peut entraîner une perte de données ou une défaillance du système. C'est dangereux et la prudence est la meilleure politique. Pour avoir une idée de la structure des répertoires et des fichiers qui seront supprimés par la commande rm -rf, utilisez la commande tree.

Utilisez apt-get pour installer ce paquet sur votre système si vous utilisez Ubuntu ou une autre distribution basée sur Debian. Chez les autres Distributions Linux utilisez l'outil de gestion des packages de votre distribution Linux.

sudo apt-get arbre d'installation

L'exécution de la commande tree donne un diagramme facile à comprendre du répertoire et de la structure des fichiers sous le répertoire à partir duquel elle est exécutée.

Vous pouvez également spécifier un chemin d'accès à la commande tree afin qu'elle exécute l'arborescence à partir d'un répertoire différent sur le système de fichiers.

chemin de l'arborescence/vers/répertoire

La commande rm a également les options --one-file-system , --no-preserve-root , --preserve-root , mais celles-ci ne sont recommandées que pour utilisateurs expérimentés. Si vous faites quelque chose de mal, vous pouvez accidentellement supprimer tous vos fichiers système.

Comment supprimer des répertoires avec rmdir

Il existe une autre commande rmdir que vous pouvez utiliser pour supprimer des répertoires. La différence entre rm et rmdir est que rmdir ne peut supprimer que les répertoires vides. Il ne supprimera jamais les fichiers.

Le cas le plus simple consiste à supprimer un répertoire vide. Comme avec rm , vous pouvez passer plusieurs noms de répertoire à rmdir ou rmdir à un chemin de répertoire.

Supprimez un répertoire du répertoire courant en passant son nom à rmdir :

Répertoire Rmdir

Supprimez plusieurs répertoires en transmettant une liste de noms à rmdir :

rmdir répertoire1 répertoire2 répertoire3

Supprimez un répertoire qui n'est pas dans le répertoire actuel en spécifiant le chemin complet vers ce répertoire :

Rmdir /chemin/vers/répertoire

Si vous essayez de supprimer un dossier non vide, rmdir vous donnera un message d'erreur. Dans l'exemple suivant, rmdir supprime avec succès et en silence le répertoire clients mais refuse de supprimer le répertoire projets car il contient des fichiers. Le répertoire des projets reste exactement tel qu'il était et les fichiers qu'il contient sont intacts.

Lorsque rmdir donne une erreur "Répertoire non vide", il arrête de traiter les répertoires qui lui sont transmis sur la ligne de commande. Si vous avez demandé de supprimer quatre répertoires et les premiers fichiers contenus, rmdir vous donnera un message d'erreur et ne fera rien d'autre. Vous pouvez le forcer à ignorer ces erreurs avec --ignore-fail-on-non-empty pour traiter d'autres répertoires.

Dans l'exemple suivant, deux dossiers ont été passés à rmdir , il s'agit de work/reports et work/quotes. L'option --ignore-fail-on-non-empty est incluse dans la commande. Il y a des fichiers dans le dossier work/reports, donc rmdir ne peut pas le supprimer. L'option --ignore-fail-on-non-empty indique à rmdir d'ignorer l'erreur et de passer au dossier suivant qu'il doit traiter, work/quotes. Il s'agit d'un dossier vide et rmdir le supprime.

Cette commande a été utilisée.

Rmdir --ignore-fail-on-non-empty work/reports /work/quotes

Vous pouvez utiliser l'option -p(parent) pour supprimer le répertoire et supprimer également ses répertoires parents. Cette astuce fonctionne car rmdir démarre dans le répertoire cible, puis retourne dans le répertoire parent. Ce répertoire doit maintenant être vide, il peut donc être supprimé par rmdir et le processus retente vers le chemin fourni par rmdir.

Dans l'exemple suivant, la commande passée à rmdir est :

Rmdir -p travail/factures

Les factures et les répertoires de travail sont supprimés sur demande.

Utilisez-vous Bash ou un autre shell ? Linux fournit des commandes flexibles et puissantes pour supprimer des répertoires et des fichiers directement depuis la ligne de commande du terminal. Certaines personnes préfèrent avoir un flux de travail qui tourne autour du terminal. D'autres peuvent ne pas avoir le choix dans cette affaire. Ils peuvent s'exécuter sur des serveurs sans interface graphique installée ou dans une session à distance sur un système autonome tel qu'un Raspberry Pi. Ces équipes sont parfaites pour ce groupe de personnes.

Mais quel que soit le type de flux de travail que vous préférez, ces commandes sont très bien adaptées pour être incluses dans des scripts shell. Si le script est exécuté par une tâche cron, il peut aider à automatiser les tâches de maintenance de routine telles que le nettoyage des fichiers journaux indésirables. Si vous étudiez ce cas d'utilisation, souvenez-vous de la puissance de ces commandes, testez tout avec soin et conservez toujours la dernière sauvegarde.

Équipe rmdir nous aidera à supprimer un répertoire vide, c'est-à-dire un répertoire sans fichiers ni dossiers. La syntaxe de la commande est très simple :

Rmdir DIRNAME

Si le répertoire n'est pas vide, vous verrez le message d'erreur suivant.

$ rmdir test rmdir : échec de la suppression de `test" : répertoire non vide

2. Comment supprimer les répertoires imbriqués sous Linux ?

Avec options -p vous pouvez supprimer un répertoire contenant un sous-répertoire imbriqué.

$ rmdir -p répertoire1/répertoire2/répertoire3

Équipe rmdir -p répertoire1/répertoire2/répertoire3 est l'équivalent de la commande

$ rmdir répertoire1/répertoire2/répertoire3 répertoire1/répertoire2 répertoire1

3. Supprimer un répertoire avec du contenu

Si vous devez supprimer un répertoire avec du contenu, vous pouvez utiliser la commande rm:

$ rm -rf DIRNAME

Cette commande supprimera un répertoire, y compris tous les fichiers et sous-répertoires qu'il contient. Utilisez cette commande avec prudence, car la récupération des fichiers supprimés ne sera pas une procédure facile.

4. Suppression interactive

Pour éviter une suppression accidentelle fichiers souhaités Je vous recommande d'envisager d'utiliser l'option -i pour supprimer des fichiers et des dossiers de manière interactive (en particulier en tant que root).

Suppression récursive et interactive d'un répertoire.

# rm -ir DIRNAME

Suppression interactive de fichiers.

# rm -i NOM FICHIER

5. Alias ​​utiles pour les commandes rm et rmdir

Vous pouvez utiliser la suppression interactive comme comportement par défaut de la commande rm.

Alias ​​​​pour exécuter en permanence rm en mode interactif

# alias rm="rm -i"

Lors de l'utilisation de la commande rm en fait la commande sera exécutée rm-je. Mais il faut faire attention à une nuance. N'utilisez pas l'option -i plus tard, car vous n'obtiendrez pas l'effet désiré. Prenons un exemple :

Dans la commande suivante, l'utilisation de -i ne vous donnera pas l'effet souhaité.

$ rm -irf DIRNAME

Dans ce cas, lors de l'utilisation d'un alias, la commande ci-dessus doit être exécutée comme suit :

$ rm -rf DIRNAME

Toutes les commandes ci-dessous sont équivalentes et exécutent la même fonctionnalité.

  • rm-fr
  • rm-rf
  • rm -r -f
  • rm -f -r

Si vous avez besoin d'une expertise d'un bâtiment, je vous recommande de commander une inspection des bâtiments finis par des spécialistes du Centre de Recherche et de Production Technoplast

Quelle commande peut être utilisée ?
Répondre: Pour supprimer un répertoire (également appelé "dossier" sous Windows et Mac OS), vous pouvez utiliser les commandes suivantes :

  • rmdir– supprime le répertoire spécifié ; dans ce cas, il doit être vide, c'est-à-dire ne contiennent pas de fichiers.
  • rm– supprime le répertoire spécifié ainsi que tous les fichiers et répertoires joints.

Syntaxe de la commande rmdir

rmdir supprime le(s) répertoire(s) uniquement s'ils ne contiennent pas de fichiers. La syntaxe de la commande est assez simple :

rmdir nom-répertoire
rmdir [option] nom-répertoire

Exemples

Ouvrez un terminal et tapez la commande suivante pour supprimer le répertoire /tmp/docs :

rmdir/tmp/docs

Si le répertoire contient des fichiers, la commande affichera une erreur :

lettres $ rmdir
rmdir : lettres : Répertoire non vide

Vous pouvez aller dans le répertoire et découvrir quels fichiers y sont stockés :

$ cd lettres
$ls

Dans l'exemple suivant, nous supprimerons le répertoire de données, foo et bar. La structure de ces répertoires est la suivante : data ne contient que le répertoire foo, qui à son tour ne contient que le répertoire bar, qui est vide. Vous pouvez supprimer tous ces répertoires d'un coup avec la commande suivante :

cd /home/nixcraft
rmdir -p données/foo/bar

  • Paramètre -p ordonne à la commande de supprimer les répertoires vides dans le chemin spécifié. Ceux. dans notre exemple, les trois répertoires seront supprimés, car ils ne contiennent aucun fichier, juste des sous-répertoires vides.

Suppression du répertoire entier avec tous les fichiers et répertoires imbriqués avec la commande rm

Dans le travail quotidien, vous devez supprimer beaucoup plus souvent les répertoires non vides, et ici la commande vient à la rescousse rm. Par exemple, vous pouvez supprimer tout le contenu du répertoire des lettres avec la commande (Attention ! supprimer sans confirmation) :

$ rm -rf lettres/

  • -r- indique que la suppression doit être effectuée de manière récursive, c'est-à-dire parcourez toute la liste des fichiers et des dossiers et essayez de supprimer chacun d'eux.
  • -F- suppression sans demander de confirmation.

Informations supplémentaires sur les commandes rmdir Et rm

Pour obtenir plus d'informations sur ces commandes, vous pouvez toujours utiliser la documentation d'aide de référence de commande standard suivante :

homme mkdir
homme rm

Pourquoi y a-t-il deux commandes différentes pour la même opération ?

Il semblerait, pourquoi créer une commande distincte pour supprimer uniquement les répertoires vides, si vous pouvez utiliser rm? Mais quand on y pense, on se rend compte que c'était juste une super idée ! Pourquoi? Oui, car il est impossible de se rappeler quels fichiers et où sont stockés, et lorsque vous devez supprimer un répertoire avec un nom stupide ou suspect (évidemment créé par erreur), vous pouvez utiliser la commande safe rmdir, qui lancera une erreur s'il y a des fichiers dans ce répertoire. Très confortablement ! Cela protège contre la suppression accidentelle.

Basé sur des matériaux de l'excellent site cyberciti.biz. Je vous souhaite une bonne journée et allez-y !

mob_info