Vous avez involontairement effacé des fichiers essentiels sur un dispositif Linux ?
Pas d'inquiétude. Wondershare Recoverit peut récupérer vos fichiers égarés en 3 étapes. Le programme de récupération de données Linux final et spécialisé est entièrement fiable et 100% sécurisé.
Un dossier peut contenir de nombreux sous-dossiers et fichiers. La suppression de tous les documents et sous-dossiers d'un répertoire peut être nécessaire lorsqu'on travaille avec le système de fichiers Linux. On parle alors de suppression récursive. La commande supprimée permet d'effacer de manière récursive des fichiers ou des répertoires (également nommés dossiers sous Windows) sous Linux. La fonction rmdir ne supprime que les dossiers vides. Ce manuel expose les étapes de suppression récursive de fichiers et de dossiers sous Linux.
Partie 1. Comment supprimer un répertoire de manière récursive sous Linux à l'aide de la commande rm
Récapitulation de la syntaxe de la commande rm pour la suppression en cascade de répertoires/dossiers :
Syntaxe de la commande |
Description |
-f |
Une option forte. Il est déconseillé de demander des fichiers ou des arguments qui n'existent pas. |
-r |
Suppression récursive de répertoires et de leur contenu |
-v |
Sortie excessive |
rm -- '-dir1' |
Effacer un répertoire ou un fichier dont le nom débute par un "-". |
rm ./-dir1 |
La même chose que précédemment |
rm -rfv 'nom du répertoire ici' |
Mettez des guillemets à votre nom de fichier/dossier problématique. |
rm -rfv \$dirname1 |
La même chose qu'avant |
Dans Linux et les systèmes de type Unix, tout est considéré comme un fichier. En d'autres mots, les " fichiers " englobent les images, les fichiers, les répertoires, les disques durs SSD, les cartes réseau, les périphériques USB, les claviers, les imprimantes et les connexions réseau.
Exemples de suppression récursive d'un dossier
Dans cet exemple, nous allons éliminer de manière récursive le dossier de données dans le répertoire d'origine courant
rm -r /home/vivek/data/
Avant de supprimer le répertoire de données, le répertoire /home/vivek/data/
directory spécifié sera vidé de tous ses sous-dossiers, incluant leurs sous-dossiers et leurs fichiers. Sauf si l'option -f
(force) est explicitement indiquée dans la commande, l'utilisateur est prié de supprimer tous les fichiers qui sont en écriture protégée dans les dossiers :
rm -rf dirname-here
Vous pouvez également utiliser la commande suivante :
rm -r -f /path/to/folder/
Pour effacer un répertoire dont le nom débute par un "-
", comme "-dsaatia
", utilisez l'un des commandements ci-après :
rm -rf -- --dsaatia
Vous pouvez également exécuter la commande suivante :
rm -rf ./--dsaatia
Pour obtenir des résultats plus détaillés, nous pouvons utiliser l'option -v
. Pour être plus précis, la commande rm sous Linux nous informe sur ce qui se passe avec nos fichiers et répertoires. A titre d'exemple :
rm -rfv /path/to/dir1
rm -r -f -v /home/vivek/oldpartpics
Effacer les fichiers dont le nom contient des caractères distincts
Vos dossiers et fichiers peuvent inclure des espaces, des points-virgules, des barres obliques inversées et d'autres caractères spéciaux sous Linux. En voici un exemple :
ls -l
Supposons que nous ayons un fichier appelé " Nos informations de vente " et qu'il contienne " baddir#
" ou " dir2 ;#
". Alors, comment se débarrasser de ces dossiers aux noms peu communs ? La solution est simple. Nous encadrerons le nom du fichier ou du dossier qui pose problème avec des guillemets. A titre d'exemple :
rm 'Our Sales Data'
rm -rfv '/path/to/Dir 1 ;'
rm -r -f -v "baddir#"
rm a\ long \dir1 \name
De temps en temps, il est nécessaire d'utiliser une barre oblique inversée (\
) avant le caractère spécial dans le nom de votre fichier ou dossier :
rm \$dir1
Partie 2. Comment supprimer des fichiers de manière récursive sous Linux à l'aide de la commande rm ?
Supprimer tous les fichiers de manière récursive
Quand elle est employée avec l'option -r
, la commande rm efface le contenu de toutes les variétés de fichiers.
Mais, avant tout, en utilisant la commandels
, regardons les répertoires personnels. Dans cet exemple, il y a cinq dossiers : Bureau, dir2, Documents, Téléchargements et removerecurdir.
ls ~/
Supposons que nous voulions supprimer le répertoire removecurdir
et son contenu, y compris tous les fichiers et sous-répertoires. Exécutez la syntaxe ci-dessous.
rm -r removerecurdir/
La sortie ls indique que le dossier et son contenu ont été effacés avec succès.
Suppression récursive des fichiers par taille
Voici les étapes à respecter pour effacer de manière récursive des fichiers (inférieurs à 10 Mo) en utilisant la commande trouver
.
La syntaxe de recherche
est la suivante :
find <ParentDirectory> -type f -size -<size and units> -exec rm {} +
Vous avez la possibilité d'utiliser sudo
pour atteindre les fichiers sécurisés dans l'illustration suivante.
sudo find /var/log -type f -size -10M -exec rm {} +
Le signe moins (-
) doit être remplacé par un signe plus (+
).
find <ParentDirectory> -type f -size +<size and units> -exec rm {} +
Dans le cas présenté ci-dessous, je vais utiliser la syntaxe antérieure pour éliminer les fichiers de taille supérieure à 1 Go.
find /var/log -type f -size +1G -exec rm {} +
Élimination itérative des fichiers par extension (format de fichier)
La partie suivante explique comment effacer des fichiers de manière répétitive selon leur extension ou leur catégorie de fichier.
Cherchez le contenu du dossier personnel, qui est nommé testhint
avec la commande tree.
tree testhint/
Le dossier principal testhint contient un document (file1.txt) et deux sous-dossiers : testhint2 contient file3.txt, et testhint3 contient file3 et something.txt.
Imaginons que vous ayez l'intention de supprimer de manière répétée tous les fichiers txt. La syntaxe est la suivante :
find <ParentDirectory> -type f -name '*.<Extension>' -print -delete
Par la suite, lancez cette instruction pour éliminer de manière récursive tous les fichiers de texte du répertoire principal testhint.
find ~/testhint -type f -name '*.txt' -print -delete
Tous les documents écrits ont été effacés, ne laissant que file3 sans suffixe.
tree testhint
Il est également possible de supprimer des fichiers en fonction de leur extension en utilisant les commandes find et exec
.
La syntaxe pour éliminer les fichiers par extension avec -exec
est la suivante :
find <ParentDirectory> -type f -name '*.<Extension>' -exec rm -f {} \;
Exécutez la commande ci-dessous pour supprimer les fichiers .log.
find ~/testhint -type f -name '*.log' -exec rm -f {} \;
La commande xargs
offre une solution similaire. La distinction entre xargs et exec réside dans le fait que exec exécute la commande rm à chaque fois qu'un fichier satisfait à la condition. La commande xargs exécute la commande rm une fois pour chaque fichier trouvé qui correspond à la condition.
Pour effacer tous les fichiers avec une extension en utilisant find
et xargs
, employez la formulation ci-dessous :
find <ParentDirectory> -name "*.<FileExtension>" -print0 | xargs -0 rm
Utilisez la commande suivante pour effacer tous les fichiers .c
avec xargs.
find . -name "*.c" -print0 | xargs -0 rm
Encore une fois, les fichiers d'extension choisis ont été effacés avec succès.
Suppression récursive de tous les fichiers en fonction des autorisations
Examinons le nouveau contenu du répertoire testhint. Quatre fichiers ont un accès complet (file2, file3.c, file6.c et file7).
Imaginons que vous vouliez repérer et éliminer tous les fichiers avec des permissions totales pour tout le monde. La syntaxe est la suivante :
find <ParentDirectory> -perm <Permissions> -print0 | xargs -0 rm
Exécutez l'instruction ci-dessous pour effacer tous les fichiers accessibles à tous les utilisateurs.
find ~/testhint -perm 777 -print0 | xargs -0 rm
Élimination récursive de fichiers selon leur heure de modification ou de création
Exécutez la syntaxe suivante :
find ~/testhint -perm 777 -print0 | xargs -0 rm
Si vous voulez effacer des fichiers créés ou modifiés au cours de la journée précédente (dernières 24 heures), employez la commande suivante, où 1
représente le quart de jour et le signe moins ( -
) dénote les fichiers créés ou modifiés avant le quart de jour spécifié.
find <Directory> -type f -mtime -1 -delete
Remplacez le signe plus par un signe moins pour supprimer les fichiers créés ou modifiés il y a un jour, il y a moins de 24 heures.
trouver <Répertoire> -type f -mtime +1 -supprimer
Partie 3. Que faire si vous avez accidentellement supprimé un fichier ou un dossier sous Linux ?
Sous Linux, effacer accidentellement un fichier ou un répertoire peut être un véritable défi, mais il existe des mesures à prendre un risque de récupération :
- Arrêtez d'utiliser l'ordinateur : Afin d'éviter toute perte de données supplémentaire, cessez immédiatement d'utiliser le PC et abstenez-vous de sauvegarder de nouvelles informations sur le disque où se situait le fichier supprimé.
- Agissez promptement : Plus vous retardez le début du processus de récupération, plus le danger de perte définitive de données s'accroît.
- Effectuez fréquemment des copies de sauvegarde : Des copies de sauvegarde régulières vous permettent d'avoir une version récente de vos données essentielles au cas où elles seraient supprimées accidentellement.
- Assurez-vous que votre système de fichiers reste en bon état : Une maintenance périodique du disque, comme la détection et la résolution d'anomalies, peut aider à préserver l'intégrité de votre système de fichiers et faciliter la récupération.
Les plus performants logiciels de restauration de données Linux peuvent aussi vous assister pour récupérer des fichiers égarés ou effacés. En respectant ces recommandations et en utilisant l'outil approprié pour la restauration de données, vous accroissez vos probabilités de récupérer vos fichiers et répertoires effacés dans Linux.
Wondershare Recoverit - Votre logiciel de récupération Linux sûr et fiable
5 481 435 personnes l'ont téléchargé.
Récupère les documents perdus ou supprimés, les photos, les vidéos, la musique, les courriels et plus de 1000 types de fichiers de manière efficace, sûre et complète.
Compatible avec toutes les distributions Linux populaires, y compris Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.
Assistance dans plus de 500 situations de perte de données, comme la suppression, le formatage du disque, le plantage du système d'exploitation, la coupure de courant, l'infection par un virus, la disparition d'une section, et bien d'autres encore.
La conception intuitive de type pointer-cliquer vous permet d'extraire les informations des disques durs Linux en seulement quelques clics.
Fonctionne en utilisant une connexion à distance. Vous pouvez retrouver les données égarées même lorsque votre dispositif Linux est verrouillé.
Résumé
Étant donné que Linux est un système d'exploitation versatile et flexible, les utilisateurs ont la possibilité d'employer de multiples approches de manière itérative afin de supprimer des fichiers ou des répertoires (ou des dossiers) dans Linux. Toutes les options mentionnées ci-dessus sont valables pour la grande majorité des distributions Linux. De plus, si vous effacez involontairement des fichiers et des répertoires, des logiciels de récupération de données Linux sont disponibles.