Ce chapitre est gratuit
Pas besoin de compte pour le lire. Decouvre le contenu et decide si le programme est fait pour toi.
Voir les autres chapitresTu utilises Linux tous les jours sans le savoir. Ton téléphone Android, Netflix, Google, Amazon — tout ça tourne sur des serveurs Linux. Plus de 96 % des serveurs web dans le monde, 100 % du Top500 des supercalculateurs, l’essentiel du cloud AWS, GCP et Azure. Linux n’est pas une option dans le monde DevOps : c’est le terrain de jeu.
Dans ce premier chapitre, tu vas apprendre à ouvrir un terminal, comprendre comment Linux organise ses fichiers, et maîtriser les commandes de navigation essentielles. Pas besoin de connaissances préalables — on part de zéro.
🎯 Objectif : Naviguer dans un système Linux, comprendre l’arborescence et utiliser les commandes de base du terminal. ⏱️ Durée estimée : 45 minutes | Niveau : Débutant
Pourquoi le terminal est indispensable
Si tu veux bosser dans le DevOps, l’admin système ou le cloud, le terminal Linux est ton outil principal. Pas d’interface graphique sur un serveur de production — tout passe par la ligne de commande.
Concrètement, voici ce que tu feras au quotidien en tant que DevOps :
- Te connecter à des serveurs distants via SSH pour les administrer
- Installer et configurer des logiciels (Nginx, Docker, bases de données)
- Lire des logs pour diagnostiquer des pannes
- Automatiser des tâches répétitives avec des scripts Bash
- Gérer les droits d’accès et la sécurité des fichiers
Windows et macOS offrent de jolies interfaces graphiques. Mais derrière chaque site web que tu visites, il y a un serveur Linux piloté en ligne de commande. Le terminal, c’est ton cockpit.
💡 Tip DevOps : Même sur macOS ou Windows, tu peux t’entraîner. macOS a un terminal natif avec des commandes similaires, et Windows propose WSL (Windows Subsystem for Linux) qui te donne un vrai environnement Linux.
Comprendre l’architecture Linux
Tout part de la racine
Contrairement à Windows avec ses lettres de lecteur (C:, D:), Linux organise tout dans une arborescence unique qui part de la racine /. Chaque répertoire a un rôle précis :
/etc— la configuration du système. Nginx ?/etc/nginx/. SSH ?/etc/ssh/. C’est ici que tu passes du temps quand tu configures un serveur./var/log— les logs système. Quand un service plante, c’est là que tu cherches./home/ton_user(alias~) — ton espace personnel, là où tu bosses./tmp— fichiers temporaires, nettoyés automatiquement. Utile pour des tests rapides./usr/bin— les programmes installés sur le système.
🧠 À retenir : En Linux, tout est fichier. Un disque dur, c’est /dev/sda. Un terminal, c’est /dev/tty. Même les infos CPU sont lisibles via cat /proc/cpuinfo. Cette philosophie simplifie les interactions — tu lis et écris dans des fichiers, point.
Le shell et le prompt
Le shell est le programme qui interprète tes commandes. Le plus courant est Bash (Bourne Again Shell), installé par défaut sur la majorité des distributions.
Quand tu ouvres un terminal, tu vois un prompt qui ressemble à ça : utilisateur@machine:~$. Le $ signifie que tu es un utilisateur normal. Si tu vois #, tu es root (administrateur) — fais attention à ce que tu tapes.
⚠️ Attention : Travailler en root (#) est dangereux. Une commande mal tapée peut détruire ton système. Utilise sudo devant une commande quand tu as besoin de droits élevés — ça te force à être intentionnel.
Les commandes essentielles de navigation
Savoir où tu es et ce qu’il y a autour
La commande pwd affiche ton répertoire courant. ls liste le contenu. Ces deux commandes sont tes repères permanents :
pwd
# /home/dany
ls -lah
# drwxr-xr-x 3 dany dany 4.0K Mar 20 10:00 projets/
# -rw-r--r-- 1 dany dany 512 Mar 20 09:30 notes.txt
# drwx------ 2 dany dany 4.0K Mar 19 14:00 .ssh/
Les options -lah de ls sont les plus utiles au quotidien : -l pour le format détaillé (permissions, taille, date), -a pour voir les fichiers cachés (ceux qui commencent par .), -h pour des tailles lisibles (Ko, Mo, Go au lieu d’octets bruts).
Se déplacer dans l’arborescence
La commande cd te permet de naviguer entre les répertoires. Tu peux utiliser des chemins absolus (depuis la racine /) ou relatifs (depuis ta position actuelle) :
cd /var/log # chemin absolu — tu vas directement à /var/log
cd ../etc # chemin relatif — tu remontes d'un niveau, puis descends dans etc
cd ~ # retour au home (raccourci)
cd - # retour au répertoire précédent (très pratique)
Les raccourcis à connaître par cœur : . désigne le répertoire courant, .. le répertoire parent, ~ ton home, et - le dernier répertoire visité.
Lire le contenu d’un fichier
Pour afficher rapidement un fichier, tu as plusieurs options selon le cas d’usage :
cat /etc/hostname # affiche tout le contenu d'un coup
less /var/log/syslog # lecture paginée (navigation avec flèches, q pour quitter)
head -20 /var/log/syslog # les 20 premières lignes
tail -f /var/log/syslog # les dernières lignes EN TEMPS RÉEL (suivi live)
💡 Tip DevOps : tail -f est une commande que tu utiliseras constamment en production. Elle te permet de suivre un log en direct pendant qu’un service tourne — indispensable pour du debug live.
Créer et organiser des fichiers
Pour créer des répertoires et des fichiers, mkdir et touch sont tes outils de base. L’option -p de mkdir crée toute l’arborescence d’un coup :
mkdir -p ~/projets/mon-app/{src,tests,docs}
touch ~/projets/mon-app/README.md
tree ~/projets/mon-app
# mon-app/
# ├── README.md
# ├── docs/
# ├── src/
# └── tests/
Obtenir de l’aide
Quand tu ne connais pas une commande ou ses options, le système a tout ce qu’il faut intégré :
man ls # le manuel complet (navigation : flèches, recherche : /, quitter : q)
ls --help # aide rapide intégrée
whatis ls # description en une ligne
apropos "copy files" # chercher une commande par mot-clé
🧠 À retenir : Le man est ton meilleur ami. Avant de chercher sur Google, tape man <commande>. Tu y trouveras toutes les options avec des explications détaillées.
Cas concret : ton premier jour en entreprise
🔥 Cas réel : Tu arrives en stage DevOps. Ton lead te donne un accès SSH à un serveur de préprod et te demande de vérifier si le serveur web Nginx tourne et de retrouver les derniers logs d’erreur.
Voici exactement ce que tu ferais, étape par étape :
# 1. Se connecter au serveur
ssh ubuntu@192.168.1.50
# 2. Vérifier où tu atterris
pwd
# /home/ubuntu
# 3. Vérifier que Nginx est installé
which nginx
# /usr/sbin/nginx
# 4. Aller voir la config
ls -la /etc/nginx/
cat /etc/nginx/sites-enabled/default
# 5. Consulter les derniers logs d'erreur
tail -50 /var/log/nginx/error.log
# 6. Suivre les logs en temps réel pendant un test
tail -f /var/log/nginx/access.log
Avec les commandes de ce chapitre, tu sais déjà naviguer dans le serveur, trouver les fichiers de config et lire les logs. C’est exactement ça le quotidien d’un DevOps — pas du code complexe, mais une maîtrise solide des fondamentaux.
Les pièges fréquents
Confondre chemins absolus et relatifs. Si tu tapes cd etc au lieu de cd /etc, tu cherches un dossier etc dans ton répertoire courant — pas le /etc du système. Utilise pwd régulièrement pour savoir où tu es.
Oublier les fichiers cachés. Beaucoup de fichiers de configuration commencent par un point (.bashrc, .ssh/). Un simple ls ne les montre pas — il faut ls -a. Sur un serveur, ces fichiers cachés contiennent souvent des clés SSH ou des configurations critiques.
Travailler en root par habitude. C’est tentant de faire sudo su et rester en root pour ne plus taper sudo. Mauvaise idée. Un rm -rf / accidentel en root, et ton serveur est mort. Reste en utilisateur normal et utilise sudo commande par commande.
⚠️ Attention : La commande rm est irréversible. Il n’y a pas de corbeille dans le terminal Linux. Si tu supprimes un fichier, il est parti pour de bon. Prends l’habitude de vérifier avec ls avant de supprimer.
Ne pas lire les messages d’erreur. Le terminal te dit exactement ce qui ne va pas — Permission denied, No such file or directory, command not found. Lis le message avant de chercher sur Stack Overflow.
Exercice pratique
Mets en pratique tout ce que tu as appris avec cet exercice complet :
- Ouvre un terminal et affiche ton répertoire courant avec
pwd - Navigue jusqu’à
/var/loget liste son contenu avecls -lah - Affiche les 10 dernières lignes d’un fichier log (par exemple
tail -10 /var/log/syslog) - Reviens à ton home avec
cd ~ - Crée l’arborescence
~/projets/webapp/{src,config,logs}en une seule commande - Vérifie le résultat avec
tree ~/projets - Affiche le contenu de
/etc/hostnameaveccat - Utilise
cd -pour naviguer entre/etcet ton home — observe ce qui se passe
Si tu bloques, utilise man ou --help sur la commande qui te pose problème. L’objectif n’est pas de mémoriser, mais de pratiquer jusqu’à ce que ça devienne un réflexe.
À retenir
🧠 Les fondamentaux de ce chapitre :
- Linux organise tout dans une arborescence unique partant de
/— pas de lettres de lecteur /etcpour la config,/var/logpour les logs,~pour ton espace persopwd,ls,cd,cat,less,head,tail— ces commandes sont ton vocabulaire de base- Chemins absolus (depuis
/) vs chemins relatifs (depuis ta position) : maîtrise la différence man <commande>est ton premier réflexe quand tu ne sais pas- Reste en utilisateur normal, utilise
sudoquand nécessaire, et ne supprime jamais sans vérifier
Tu as maintenant les bases pour te repérer dans n’importe quel système Linux. Dans le prochain chapitre, on passe à la manipulation de fichiers, les permissions et la gestion des utilisateurs — le cœur de l’administration système.
➡️ Chapitre suivant : Fichiers, permissions et utilisateurs 🚀
🖥️ Pratique sur ton propre serveur
Pour suivre Apprendre Linux & Bash en conditions réelles, tu as besoin d'un VPS. DigitalOcean offre 200$ de crédit gratuit pour démarrer.
Série : Apprendre Linux & Bash
1 / 6Sur cette page
Articles liés
Fichiers, permissions et navigation
Maîtrise la manipulation de fichiers, les permissions, la gestion des utilisateurs et les variables d'environnement sous Linux.
Bash scripting : les bases
Apprends les bases du scripting Bash : variables, conditions, boucles et l'anatomie d'un script.
Scripts Bash avancés pour le DevOps
Maîtrise les fonctions, les pipes, les commandes essentielles, les cron jobs et des scripts pratiques du monde réel.