Le Terminal Linux : Votre Meilleur Ami en DevOps
🎯 Introduction : Pourquoi le terminal est indispensable ?
En tant que DevOps, le terminal sera votre outil quotidien. Voici pourquoi :
✅ Accès SSH à vos serveurs distants (aucune GUI possible)
✅ Automatisation : Scripts, pipeline, infrastructure-as-code
✅ Rapidité : Bien plus rapide que cliquer dans des menus
✅ Scripting : Boucles, conditions, tâches répétitives
✅ Monitoring : Logs, ressources, diagnostics
✅ Contrôle total : Pas de limite avec la CLI
Réalité DevOps: Vous passerez 80% de votre temps dans un terminal. Mieux vaut l'apprivoiser dès maintenant !
🐧 Les Systèmes d'Exploitation et Linux
Windows vs macOS vs Linux
| OS | Usage DevOps | Avantage | Problème |
|---|---|---|---|
| Windows | Rare en prod | Facile pour développeurs | Différent des serveurs |
| macOS | Dev/local | Interface agréable | Coûteux, peu déployé |
| Linux | 99% des serveurs prod | Open source, universel, gratuit | Ligne de commande obligatoire |
Pour un DevOps : Linux est le standard. Votre serveur de production tournera sous Linux, et vous devrez vous y connecter via le terminal.
📦 Les Distributions Linux Pertinentes pour DevOps
Linux n'est pas "un seul OS" - c'est un noyau. Les distributions ajoutent des outils, un gestionnaire de paquets, etc.
Les 2 grandes familles en DevOps
🟢 Famille Debian (70% de la production)
Debian : La distribution mère. Très stable, respectée, la base de tout.
Ubuntu : Basée sur Debian, plus conviviale. C'est l'OS de formation recommandé. - Stable, communauté importante - Beaucoup de doc en ligne - Versions LTS (Long Term Support) = 5 ans de support
👉 Recommandation pour débuter : Ubuntu LTS (22.04 ou 24.04)
Gestionnaire de paquets : APT (apt install, apt update, etc.)
🔴 Famille Red Hat (25% de la production)
RHEL (Red Hat Enterprise Linux) : Payante, support professionnel, pour les entreprises
CentOS / Rocky Linux : Gratuit, compatible RHEL
Fedora : Version "preview" avec nouvelles techno
👉 Souvent vu en entreprise mais Ubuntu suffit pour débuter
Gestionnaire de paquets : DNF/YUM (dnf install, dnf update, etc.)
Autres (Arch, SUSE)
Moins courant en DevOps production. À ignorer pour débuter.
💻 Interfaces Utilisateur : CLI vs GUI
Ligne de Commande (CLI)
C'est quoi ? Vous tapez des commandes textuelles. Le terminal exécute, affiche le résultat.
Avantages : - Pas de GUI coûteuse en ressources - Scripting et automatisation - Accès SSH distant - Universelle sur tous les serveurs - Plus rapide une fois qu'on maîtrise
Exemple :
apt install nginx # Installe Nginx en 1 ligne
systemctl start nginx # Démarre le service
curl localhost # Teste si ça marche
Interfaces Graphiques (GUI)
C'est quoi ? Fenêtres, icônes, souris. Plus "normal" pour un utilisateur.
Distributions avec GUI : GNOME, KDE, Xfce, etc.
Problème : Demandent beaucoup de ressources CPU/RAM. On ne les utilise jamais sur un vrai serveur.
Pour DevOps : Oubliez la GUI. Le terminal est votre seul ami.
🚀 Pourquoi Debian/Ubuntu pour apprendre ?
Debian 13 / Ubuntu 24.04 LTS (Notre référence)
Pourquoi ?
- ✅ Plus utilisée dans la pédagogie
- ✅ Ubuntu = facile, bien documentée
- ✅ APT = gestionnaire logique et simple
- ✅ "Juste assez" complexe pour apprendre
- ✅ Compatible cloud (AWS, Azure, GCP préfèrent Ubuntu)
Gestionnaire de paquets : APT (Advanced Package Tool)
APT c'est le "magasin d'applications" Linux. Quelques commandes essentielles :
apt update # Actualise la liste des paquets disponibles
apt upgrade # Met à jour les programmes installés
apt install firefox # Installe Firefox
apt remove firefox # Désinstalle Firefox
apt search nginx # Cherche le paquet "nginx"
📝 Concept clé : Le Shell
Le Shell c'est l'interpréteur de commandes. Il traduit ce que vous tapez en actions.
Types de shell :
- Bash (Bourne Again Shell) = standard Linux, ce que vous utiliserez
- Zsh = plus moderne, plus agréable (optionnel)
- Fish = sympa mais moins courant
Pour débuter : Bash suffit amplement.
🎓 Votre Premier Terminal
Ouvrir un terminal
Sur Ubuntu local :
Ctrl + Alt + T # Ouvre le terminal
Vous verrez :
utilisateur@nom-machine:~$
Ça signifie :
- utilisateur = votre compte
- nom-machine = le nom du serveur
- ~ = vous êtes dans votre home
- $ = prêt pour une commande
Première commande
echo "Hello DevOps!"
Appuyez sur Entrée. Ça affichera Hello DevOps!
Naviguer dans le système
pwd # Print Working Directory = où je suis ?
ls # Affiche les fichiers du dossier actuel
cd /tmp # Change vers le dossier /tmp
cd .. # Remonte d'un dossier
cd ~ # Retour à la maison
🔑 Les Commandes à Connaître ABSOLUMENT
Fichiers & Dossiers
ls -la # Liste détaillée (avec fichiers cachés)
mkdir dossier # Crée un dossier
rm fichier.txt # Supprime un fichier
rm -r dossier # Supprime un dossier (récursif)
cp fichier.txt copie.txt # Copie un fichier
mv fichier.txt nouveau.txt # Renomme/déplace
cat fichier.txt # Affiche le contenu d'un fichier
Système & Ressources
whoami # Qui suis-je ?
date # Date et heure
free -h # Mémoire disponible
df -h # Espace disque
top # Processus en temps réel (Ctrl+C pour quitter)
ps aux # Liste tous les processus
Utilisateurs & Permissions
sudo commande # Exécute avec droits administrateur
sudo su - # Devient root (attention !)
chmod 755 fichier # Change les permissions
chown user:group fichier # Change le propriétaire
Networking
ip addr show # Affiche votre adresse IP
ping google.com # Teste la connexion
curl https://google.com # Récupère une page web
netstat -tlnp # Ports ouverts
📊 Structure du système Linux
/
├── /home → Dossiers personnels des utilisateurs
├── /tmp → Fichiers temporaires (nettoyés au reboot)
├── /etc → Configuration des applications
├── /var → Données variables (logs, databases)
├── /opt → Applications optionnelles
├── /usr → Applications standard
└── /root → Dossier du root (administrateur)
À retenir : Vous travaillerez surtout dans /home, /etc, /var/log
📝 À faire en pratique
- ✅ Installer Ubuntu 24.04 LTS (en local ou VM)
- ✅ Ouvrir un terminal
- ✅ Taper 5 commandes basiques (pwd, ls, cd, whoami, free -h)
- ✅ Créer un dossier et un fichier
- ✅ Utiliser
apt updateetapt installpour installer un paquet - ✅ Lire un fichier avec
cat
🎯 Prochaine étape
Une fois à l'aise avec le terminal, vous allez apprendre les commandes essentielles pour manipuler des fichiers, des permissions, et des processus. C'est là que ça devient vraiment puissant !