Linux : les commandes essentielles à connaître
🎯 Objectifs
À la fin de ce module, vous serez capable de :
- ✅ Naviguer dans l'arborescence Linux avec aisance
- ✅ Créer, copier, déplacer et supprimer fichiers et dossiers
- ✅ Lire et rechercher du contenu dans des fichiers
- ✅ Comprendre la structure du système de fichiers Linux
- ✅ Utiliser les commandes essentielles au quotidien
📖 Pourquoi Linux ?
Linux est incontournable en DevOps :
- 96 % des serveurs dans le monde tournent sous Linux
- Docker et Kubernetes fonctionnent nativement sous Linux
- Gratuit et open source - personnalisable à l'infini
- Tous les outils DevOps (Ansible, Terraform, Jenkins…) sont conçus pour Linux
💡 Maîtriser le terminal Linux est la compétence n°1 pour tout profil DevOps.
🐧 Distributions principales
| Distribution | Usage | Particularité |
|---|---|---|
| Ubuntu / Debian | Serveurs, postes de travail | Large communauté, idéal pour débuter |
| CentOS / Rocky | Entreprise, production | Stable, compatible Red Hat |
| Alpine | Conteneurs Docker | Ultra-léger (~5 Mo) |
🔧 Installation rapide
Windows - WSL (recommandé) :
wsl --install -d UbuntumacOS : le Terminal est déjà disponible (basé sur BSD, commandes similaires).
VM : installez VirtualBox et téléchargez une image Ubuntu Server.
💡 WSL est la méthode la plus rapide pour démarrer sous Windows.
🌳 L'Arborescence Linux
Tout part de / (la racine) :
/
├── home/ # Répertoires utilisateurs
├── etc/ # Fichiers de configuration
├── var/ # Données variables (logs, bases)
├── tmp/ # Fichiers temporaires
├── opt/ # Logiciels tiers
├── usr/ # Programmes et bibliothèques
└── bin/ # Commandes essentielles| Répertoire | Usage DevOps |
|---|---|
/etc/ | Configs Nginx, SSH, réseau |
/var/log/ | Logs applicatifs et système |
/home/user/ | Scripts, projets, clés SSH |
/tmp/ | Fichiers temporaires de build |
/opt/ | Applications déployées |
🧭 Navigation
Où suis-je ?
pwd
# /home/devops_userLister le contenu
ls # Liste simple
ls -l # Liste détaillée (permissions, taille, date)
ls -la # Inclut les fichiers cachés (.bashrc, .ssh/)
ls -lh # Tailles lisibles (Ko, Mo, Go)Exemple de sortie ls -l :
drwxr-xr-x 2 devops_user devops_user 4096 avr 15 10:00 projets
-rw-r--r-- 1 devops_user devops_user 512 avr 15 09:30 notes.txtSe déplacer
cd /var/log # Chemin absolu
cd projets # Chemin relatif
cd .. # Dossier parent
cd ~ # Retour au home
cd - # Dossier précédent| Type | Exemple | Commence par |
|---|---|---|
| Absolu | /home/devops_user/projets | / |
| Relatif | ../projets | . ou .. ou nom |
| Home | ~/projets | ~ |
📁 Gestion des Fichiers
Créer
touch fichier.txt # Créer un fichier vide
echo "Hello" > fichier.txt # Créer avec du contenu
mkdir projets # Créer un dossier
mkdir -p a/b/c # Créer des dossiers imbriquésCopier et déplacer
cp fichier.txt copie.txt # Copier un fichier
cp -r dossier/ backup/ # Copier un dossier (récursif)
mv ancien.txt nouveau.txt # Renommer
mv fichier.txt projets/ # DéplacerSupprimer
rm fichier.txt # Supprimer un fichier
rm -r dossier/ # Supprimer un dossier
rm -i fichier.txt # Demande confirmation⚠️
rm -rf /supprime tout le système sans confirmation. Vérifiez toujours vos commandesrmavant de valider.
👀 Lire le contenu
cat fichier.txt # Afficher tout le contenu
head -n 20 fichier.txt # 20 premières lignes
tail -n 10 fichier.txt # 10 dernières lignes
tail -f /var/log/syslog # Suivre en temps réel (logs)
less fichier.txt # Navigation interactive (q pour quitter)
wc -l fichier.txt # Compter les lignes💡
tail -fest indispensable pour surveiller les logs en production.
🔍 Rechercher
Trouver des fichiers
find /home -name "*.log" # Par nom
find . -type f -mtime -7 # Modifiés il y a moins de 7 jours
find /var/log -name "*.log" -size +10M # Plus de 10 MoChercher dans le contenu
grep "error" /var/log/syslog # Chercher un mot
grep -rn "TODO" ./src/ # Récursif avec numéros de ligne
grep -i "warning" app.log # Insensible à la casse💡
grep -rnest votre meilleur ami pour chercher dans un projet.
📋 Commandes Essentielles - Résumé
| Catégorie | Commandes |
|---|---|
| Navigation | pwd, ls, cd |
| Fichiers | touch, mkdir, cp, mv, rm |
| Lecture | cat, head, tail, less, wc |
| Recherche | find, grep |
| Aide | man <cmd>, <cmd> --help |
| Divers | clear, history, echo, whoami |
💡 Utilisez
man lspour consulter le manuel de n'importe quelle commande.
🏋️ Exercices du module
- Naviguer et explorer le système de fichiers - Parcourir l'arborescence, lister des fichiers
- Gérer les fichiers et répertoires - Créer, copier, déplacer, supprimer
- Permissions et propriété des fichiers - chmod, chown, droits utilisateurs
- Processus et monitoring système - ps, top, kill, surveillance
- Flux, pipes et traitement de texte - stdin, stdout, grep, sed
- Projet Capstone : Organiser et analyser les fichiers d'un projet DevOps - Arborescence, permissions, find, pipes et rapport système
📚 Ressources
- Ubuntu - Guide du débutant
- Linux Command
- ExplainShell - Décortique n'importe quelle commande
🚀 Prochaines étapes
Vous maîtrisez maintenant les bases du terminal Linux. La prochaine étape :
- Maîtriser Linux : permissions, processus et paquets - Permissions, processus, redirections et gestion des paquets