Supprimer tous les fichiers d’un répertoire sauf un sous Linux
Pour supprimer tous les fichiers d’un répertoire tout en préservant un fichier spécifique, vous pouvez utiliser la ligne de commande. Voici les étapes à suivre :
- Ouvrir le terminal : Lancez votre terminal pour accéder à la ligne de commande.
- Accéder au répertoire : Utilisez la commande
cd
pour naviguer vers le dossier qui contient les fichiers que vous voulez gérer. Par exemple, si votre répertoire se trouve dans/home/votre_utilisateur/mon_dossier
, tapez : - Lister les fichiers : Avant de procéder à la suppression, il peut être utile de vérifier quels fichiers se trouvent dans le répertoire. Vous pouvez le faire avec la commande :
- Supprimer les fichiers sauf un : Pour supprimer tous les fichiers sauf un, vous pouvez utiliser une commande spécifique en bash. Supposons que vous souhaitez conserver le fichier
important.txt
, utilisez la commande suivante : - Vérifier la suppression : Après avoir exécuté la commande, utilisez à nouveau
ls
pour vous assurer que seuls les fichiers non désignés ont été supprimés et queimportant.txt
est toujours présent.
cd /home/votre_utilisateur/mon_dossier
ls
rm !("important.txt")
Cette commande utilise une fonctionnalité de bash qui permet d’ignorer un fichier spécifique lors de la suppression. Assurez-vous d’avoir activé les extensions de globbing :
shopt -s extglob
Utiliser un script bash pour automatiser le processus
Pour faciliter ce processus et éviter les erreurs de frappe, vous pouvez créer un petit script bash :
- Créer un fichier script : Utilisez un éditeur de texte de votre choix pour créer un fichier script, par exemple
supprimer_fichiers.sh
. - Écrire le script : Insérez le code suivant :
- Rendre le script exécutable : Sauvegardez le fichier et rendez-le exécutable en tapant :
- Exécuter le script : Lancer le script en tapant :
#!/bin/bash
cd /chemin/vers/votre/dossier # Remplacez par le chemin réel
shopt -s extglob
rm !("important.txt") # Conservez le fichier désigné
chmod +x supprimer_fichiers.sh
./supprimer_fichiers.sh
Prévenir la perte de données
Avant de procéder à toute suppression, il est recommandé de faire une sauvegarde de vos fichiers. Vous pouvez copier vos fichiers dans un autre répertoire ou utiliser une solution de sauvegarde pour éviter toute perte accidentelle. De plus, avant d’exécuter la commande de suppression, prenez quelques secondes pour vérifier les fichiers dans le répertoire afin d’être sûr que vous souhaitez vraiment les supprimer.
FAQ
- Q1 : Que se passe-t-il si je ne veux pas utiliser le terminal ?
Vous pouvez utiliser un gestionnaire de fichiers graphique pour sélectionner manuellement les fichiers à supprimer, mais il sera moins efficace pour de grandes quantités de fichiers. - Q2 : Est-il possible de récupérer des fichiers supprimés sous Linux ?
Il existe des outils pour tenter de récupérer des fichiers supprimés, mais leur efficacité dépend de plusieurs facteurs, y compris le temps écoulé depuis la suppression et l’activité du disque dur par la suite. - Q3 : Que faire si la commande rm ne fonctionne pas comme prévu ?
Assurez-vous que vous avez correctement configuré l’extension de globbing avecshopt -s extglob
. Vérifiez également que vous avez les permissions nécessaires pour supprimer les fichiers dans le répertoire ciblé.