La gestion de fichiers est l’une des tâches courantes qu’un utilisateur entreprend sur un système Linux, qui comprend la création, la copie, le déplacement, la modification et la suppression de fichiers et de répertoires.

Cet article fournit quelques conseils de ligne de commande sur la façon dont vous pouvez supprimer un répertoire volumineux contenant des milliers de fichiers dans un système Linux.

Supprimer des fichiers sous Linux

La manière la plus courante de supprimer des fichiers sur un système Linux consiste à utiliser la commande rm, qui prend le format de syntaxe suivant :

$ rm [ options ] sample_file.txt

Par exemple, pour supprimer un fichier texte appelé fichier1.txtexécutez la commande :

$ rm file1.txt

Pour supprimer un fichier de force sans qu’on vous demande la permission, passez le -f drapeau comme suit.

Publicité
$ rm -f file1.txt

Supprimer le répertoire sous Linux

Pour supprimer ou supprimer un répertoire appelé sample_directoryexécutez la commande suivante :

$ rm -rf sample_directory

Le -r L’option supprime récursivement le répertoire ainsi que tous les sous-répertoires et fichiers qu’il contient.

Pour supprimer ou supprimer un répertoire vide, utilisez la commande rmdir, qui est pratique lorsque vous souhaitez supprimer un répertoire vide appelé test_directory comme montré:

$ rmdir test_directory

Supprimer un grand répertoire avec des tonnes de fichiers

Quand le commande rm est exécuté, le système de fichiers supprime uniquement le lien vers le fichier, ce qui rend le fichier indisponible pour l’utilisateur, mais dans le sens réel, les données du fichier elles-mêmes restent intactes sur le disque.

Par conséquent, lorsque le commande rm est émis, seule la référence aux fichiers est supprimée, ce qui libère les blocs de stockage dans le système de fichiers.

En tant que tel, il existe plusieurs moyens de supprimer des fichiers sous Linux.

Supprimer les fichiers avec le numéro d’inode sous Linux

Par exemple, vous pouvez supprimer un fichier en utilisant son numéro d’inode. Vous pouvez trouver le numéro d’inode d’un fichier en utilisant la commande stat comme indiqué.

$ stat file1.txt

File: file.txt
  Size: 4076      	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 1573697     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/ tecmint)   Gid: ( 1000/ tecmint)
Access: 2023-05-08 12:10:55.656070248 +0530
Modify: 2023-05-08 12:10:55.656070248 +0530
Change: 2023-05-08 12:10:55.656070248 +0530

De plus, vous pouvez passer le -i flag dans la commande ls lors de la liste des fichiers dans un répertoire.

$ ls -li

1573697 .rw-rw-r-- tecmint tecmint 4.0 KB Mon May  8 12:10:55 2023  file1.txt

Pour supprimer le fichier à l’aide de son inode, utilisez la commande find comme indiqué dans la syntaxe ci-dessous.

$ find /path/to/file -inum INODE_NUM -exec rm -i {} +

Dans notre exemple, pour supprimer le fichier fichier1.txt qui se trouve dans le répertoire courant, la commande sera :

$ find /path/to/file -inum 1573697 -exec rm -i {} +

Frapper 'y' pour confirmer la suppression et appuyez sur ENTRER.

Supprimer Les Fichiers Par Numéro D'Inode
Supprimer Les Fichiers Par Numéro D&Rsquo;Inode

Voyons maintenant comment supprimer de gros répertoires avec des milliers de fichiers.

Créer un répertoire avec des milliers de fichiers

Le bon vieux rm La commande est le moyen le plus rapide de supprimer un grand répertoire avec des milliers de fichiers. Pour le démontrer, nous allons d’abord créer un exemple de répertoire et y naviguer.

$ mkdir test_dir 
$ cd test_dir

Ensuite, nous allons créer un nombre incroyablement élevé de fichiers, dans ce cas, 500 000 fichiers texte en utilisant le bash suivant pour une boucle.

$ time for item in {1..500000}; do touch file_name$item.txt; done

NOTE: La commande ci-dessus est gourmande en ressources et, par conséquent, consomme beaucoup de CPU et de RAM. Cela prend également un certain temps en fonction des spécifications de votre système. Dans mon cas, j’utilise une machine virtuelle avec 4 Go de RAM et 3 processeurs.

Créer Des Milliers De Fichiers Sous Linux
Créer Des Milliers De Fichiers Sous Linux

Le moyen le plus rapide de supprimer un répertoire sous Linux

Le moyen le plus rapide de supprimer un grand répertoire consiste à utiliser le bon vieux rm répertoire comme indiqué ci-dessous. Ici, l’option time affiche le temps nécessaire pour exécuter avec succès la commande.

$ time rm -rf /test_dir
Le Moyen Le Plus Rapide De Supprimer Un Grand Répertoire
Le Moyen Le Plus Rapide De Supprimer Un Grand Répertoire

À partir de la sortie, vous pouvez voir qu’il a fallu environ 6 secondes pour supprimer l’intégralité du répertoire.

Supprimer un grand répertoire avec la commande Rechercher

Une autre façon de supprimer des répertoires volumineux consiste à utiliser la commande find comme indiqué dans la syntaxe suivante.

$ time find /path/to/directory -delete

Bien que pas aussi rapide que le rm commande, il fait toujours le travail.

$ time find test_dir -delete
Commande Rechercher - Supprimer Un Grand Répertoire
Commande Rechercher – Supprimer Un Grand Répertoire

Supprimer un grand répertoire avec la commande Perl

Une autre approche consiste à utiliser le perle langage de script à l’intérieur du répertoire pour supprimer des tonnes de fichiers.

$ cd test_dir
$ time perl -e 'for(<*>){((stat)[9]<(unlink))}'
Commande Perl - Supprimer Un Grand Répertoire
Commande Perl – Supprimer Un Grand Répertoire

À partir de la sortie, vous pouvez constater qu’il a fallu beaucoup plus de temps pour supprimer tous les fichiers du répertoire que les commandes précédentes que nous avons examinées précédemment.

Conclusion

Voilà. Dans ce guide, nous avons vu comment vous pouvez supprimer des répertoires volumineux contenant des milliers de fichiers sur un système Linux.

4.6/5 - (9 votes)
Publicité
Article précédentHenry Cavill suscite la controverse sur la représentation la plus fidèle de Superman dans l’univers DC
Article suivant11 méchants Marvel qui doivent rejoindre l’univers cinématographique Marvel
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici