Skip to content

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!

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 update et apt install pour 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 !