Cheatsheet Bash – les commandes de base
Quand on travaille en DevOps, on utilise des outils modernes : GitLab CI/CD, Docker, Kubernetes… derrière tout ça, il y a presque toujours la même chose : du Bash.
Un des exemples les plus parlant est dans un pipeline de déploiement Gitlab, il est possible d’ajouter des scripts en bash directement dans une étape.
Voici une cheatsheet simple et efficace des commandes et concepts Bash les plus utiles quand on fait du DevOps.
Navigation et commandes de base
Même si ça paraît évident, on les utilise tous les jours.
pwd # Affiche le chemin du dossier courantls # Liste les fichiers et dossiers du répertoirels -la # Liste détaillée avec fichiers cachés et permissionscd dossier # Entre dans le dossier "dossier"cd .. # Remonte d’un niveau dans l’arborescence
Gestion de fichiers et dossiers
En DevOps, on inspecte souvent des logs.
cat fichier.log # Affiche tout le contenu du fichierless fichier.log # Ouvre le fichier en lecture paginée (plus pratique pour gros fichiers)head -n 20 fichier.log # Affiche les 20 premières lignestail -n 20 fichier.log # Affiche les 20 dernières lignestail -f fichier.log # Suit le fichier en temps réel (très utile pour les logs)
Créer et supprimer des fichiers ou dossiers :
mkdir test # Crée un dossier nommé "test"touch fichier.txt # Crée un fichier vide nommé fichier.txtrm fichier.txt # Supprime un fichierrm -rf dossier/ # Supprime un dossier et son contenu (⚠️ irréversible)
Rechercher dans un fichier :
grep "ERROR" fichier.log # Recherche le mot ERROR dans le fichiergrep -r "TODO" . # Recherche récursive du mot TODO dans le dossier courant
commandes très utiles pour analyser des logs en prod ou dans un container.
Redirections & pipes
Le pipe | permet d’enchaîner des commandes.
cat fichier.log | grep ERROR # Envoie le contenu du fichier à grep pour filtrer les lignes contenant ERROR
Redirections :
echo "Hello" > fichier.txt # Écrit "Hello" dans le fichier (écrase le contenu existant)echo "World" >> fichier.txt # Ajoute "World" à la fin du fichier sans écrasercommande 2> erreurs.log # Redirige les messages d’erreur vers un fichiercommande > sortie.log # Redirige la sortie standard vers un fichier
Variables
Définir une variable :
NAME="CodeQueen" # Définit une variable NAMEecho $NAME # Affiche la valeur de la variable
Dans un script :
#!/bin/bashENV=$1 # Récupère le premier argument passé au scriptecho "Déploiement en $ENV" # Affiche le nom de l’environnement
Lors de l’appel d’un fichier :
./deploy.sh production # Lance le script avec "production" comme argument
Très utilisé pour rendre les scripts dynamiques.
Conditions (if/else)
Indispensable dans les scripts d’automatisation.
if [ -f "fichier.txt" ]; then echo "Le fichier existe"else echo "Fichier introuvable"fi
Exemple en situation réelle :
if [ "$ENV" = "prod" ]; then echo "Attention environnement production"fi
Boucles
Boucle simple :
for file in *.log; do # Parcourt tous les fichiers .log du dossier echo $file # Affiche le nom de chaque fichierdone
Boucle while :
while read line; do # Lit un fichier ligne par ligne echo $line # Affiche chaque lignedone < fichier.txt # Indique le fichier à lire
Pratique pour traiter des listes ou des résultats.
Codes de retour
Chaque commande retourne un code :
0→ succès- autre valeur → erreur
Dans un script :
if [ $? -ne 0 ]; then # Vérifie si la dernière commande a échoué (code différent de 0) echo "Erreur détectée" exit 1 # Stoppe le script avec un code d’erreurfi
En CI/CD, un script qui retourne autre chose que 0 fait échouer le job.
Astuces utiles en DevOps
Trouver un processus :
ps aux | grep nginx # Recherche le processus nginx en cours d’exécution
Tuer un processus :
kill -9 1234 # Force l’arrêt du processus ayant le PID 1234
Bonnes pratiques pour écrire un script propre
Toujours commencer par :
#!/bin/bash # Indique que le script doit être exécuté avec Bashset -e # Stoppe le script dès qu’une commande échoue
Ajouter des logs clairs :
echo "Début du déploiement..." # Affiche un message pour tracer l’exécution
Ne jamais hardcoder des secrets.
Toujours tester en local avant.
Conclusion
Bash peut sembler simple… mais c’est un outil incroyablement puissant quand on fait du DevOps.
Pas besoin de toIl n’y a pas besoin de connaitre toutes les commandes. Garde cette cheatsheet sous la main pour ne pas les oublier !


Laisser un commentaire