Linux

Comment supprimer tous les fichiers d’un répertoire sauf un sous Linux ?


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 :

  1. Ouvrir le terminal : Lancez votre terminal pour accéder à la ligne de commande.
  2. 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 :
  3. cd /home/votre_utilisateur/mon_dossier

  4. 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 :
  5. ls

  6. 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 :
  7. 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

  8. 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 que important.txt est toujours présent.

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 :

  1. Créer un fichier script : Utilisez un éditeur de texte de votre choix pour créer un fichier script, par exemple supprimer_fichiers.sh.
  2. Écrire le script : Insérez le code suivant :

  3. #!/bin/bash
    cd /chemin/vers/votre/dossier # Remplacez par le chemin réel
    shopt -s extglob
    rm !("important.txt") # Conservez le fichier désigné

  4. Rendre le script exécutable : Sauvegardez le fichier et rendez-le exécutable en tapant :
  5. chmod +x supprimer_fichiers.sh

  6. Exécuter le script : Lancer le script en tapant :
  7. ./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 avec shopt -s extglob. Vérifiez également que vous avez les permissions nécessaires pour supprimer les fichiers dans le répertoire ciblé.
A lire :  Comment puis-je écrire sur un PDF dans Ubuntu ?