Breaking News

Vérifier l’existence d’un fichier ou d’un dossier avec un script Bash

Dans l’univers Linux, vérifier l’existence d’un fichier ou d’un dossier est une opération fondamentale pour tout scripteur Bash. Que ce soit pour automatiser des tâches système ou développer des outils, maîtriser ces techniques permet d’éviter les erreurs et d’optimiser les scripts.

Les commandes essentielles pour tester fichiers et dossiers

La commande test et son équivalent entre crochets [ ] offrent une panoplie d’options pour vérifier différents attributs des éléments du système de fichiers. Voici les principales options à connaître :

Option Description Emoji
-d Vérifie si c’est un dossier 📁
-f Vérifie si c’est un fichier 📄
-e Vérifie si l’élément existe (tout type) 🔍
-r Vérifie les permissions de lecture 👀
-w Vérifie les permissions d’écriture ✏️

Vérifier un dossier en pratique

Imaginons un script qui doit créer une sauvegarde dans le répertoire /var/backups. Avant toute opération, il est prudent de vérifier l’existence du dossier :

« `bash
#!/bin/bash
backup_dir= »/var/backups »

if [ -d « $backup_dir » ]; then
echo « ✅ Le dossier de backup existe »
# Ajouter ici la logique de sauvegarde
else
echo « ❌ Erreur : dossier $backup_dir manquant »
exit 1
fi
« `

Techniques avancées pour les fichiers

Pour les fichiers, l’approche est similaire mais utilise l’option -f. Voici un exemple complet avec gestion d’erreur :

« `bash
#!/bin/bash
config_file= »/etc/app/config.cfg »

if [ ! -f « $config_file » ]; then
echo « ⚠️ Fichier de configuration manquant »
cp /usr/share/app/default.cfg « $config_file »
chmod 600 « $config_file »
fi
« `

Combiner plusieurs tests

Il est possible de vérifier plusieurs conditions simultanément avec les opérateurs logiques :

  • 🔹 -a : ET logique (AND)
  • 🔹 -o : OU logique (OR)
  • 🔹 ! : Négation

Exemple pratique :

« `bash
if [ -f « /data/file.txt » -a -r « /data/file.txt » ]; then
echo « Le fichier existe ET est lisible »
fi
« `

Optimisation des scripts Bash

Pour des scripts plus concis, on peut utiliser les opérateurs de contrôle && et || :

« `bash
[ -d « /tmp » ] && echo « Le dossier /tmp existe »
[ -f « /nonexistent » ] || echo « Fichier non trouvé »
« `

Cas d’usage Commande Bash Emoji
Vérifier un lien symbolique [ -L « /path » ] 🔗
Tester un socket [ -S « /path » ] 🔌
Vérifier la taille du fichier [ -s « /path » ] 📏

Ces techniques fondamentales constituent la base de scripts Bash robustes et fiables. En les maîtrisant, vous pourrez développer des outils système plus sophistiqués tout en évitant les erreurs courantes.

Bonjour, je m'appelle Gabriel, j'ai 27 ans et je suis expert en logiciels gratuits, libres et open source. Ma passion pour la technologie et le partage des connaissances me pousse à promouvoir des solutions accessibles à tous. Sur ce site, vous trouverez des ressources, des conseils et des tutoriels pour tirer le meilleur parti de ces outils puissants.