TP1re année20 livrables
Windows & Linux : deux mondes
Tu as maintenant les deux sur le même écran : Windows (l'hôte) et Linux (ta VM). On les met côte à côte pour comprendre ce qui les sépare — et ce qui les rapproche.
Par Josselyn C., prof de BTS SIO. Publié le , mis à jour le .
- Objectif
- comparer bureau, fichiers, terminal, logiciels, droits et processus des deux systèmes
- On manipule
- Windows (hôte) + ta VM Ubuntu, ouverts en même temps
- Pré-requis
- avoir installé Linux sur ta VM (séance précédente) et connaître le terminal Windows
- Pour qui
- SLAM et SISR, 1re année
- Durée
- environ 5 h
Compétences : C1.5 Mettre à disposition des utilisateurs un service informatique
On compare en faisant : chaque notion est testée DANS les deux systèmes.
Avant de commencer
Pourquoi comparer les deux ?
Un technicien ne choisit pas son système au hasard : il prend le bon outil pour le bon usage. Windows règne sur les postes de bureau ; Linux règne sur les serveurs et le cloud. Les deux se ressemblent plus que tu ne crois, mais ont des logiques différentes. Les comprendre, c'est être à l'aise partout — et ne plus être « perdu » quand on te met devant un Linux.
Prépare ton plan de travail
Ce que tu sauras faire à la fin
| Thème | Tu sauras… |
|---|---|
| Le bureau | te repérer dans GNOME (Linux) comme dans Windows |
| Les fichiers | comprendre C:\ contre / — la plus grosse différence |
| Le terminal | traduire une commande PowerShell en bash et inversement |
| Les fichiers (manip) | créer, lire, copier, déplacer, supprimer, chercher au terminal des deux côtés |
| Les logiciels | installer une appli façon Windows et façon Linux (apt) |
| Les droits | comparer Administrateur/UAC et root/sudo, lire et changer les permissions (chmod) |
| Les processus | lister et arrêter un programme qui tourne (Gestionnaire des tâches vs ps/kill) |
0. Deux philosophies
Avant les détails, l'esprit de chacun. Ce n'est pas « lequel est le meilleur » — c'est « lequel pour quoi ».
| Windows | Linux (Ubuntu) | |
|---|---|---|
| Éditeur | Microsoft (une entreprise) | communauté + Canonical (libre) |
| Prix | payant (souvent inclus au PC) | gratuit |
| Code source | fermé (secret) | ouvert (open source, consultable par tous) |
| Terrain de jeu | postes de bureau, jeux, bureautique | serveurs, cloud, développement |
| Installer un logiciel | télécharger un .exe / le Store | un « magasin » central : apt |
| Licence (coût) | Windows 11 Home ≈ 145 € / licence ; Windows Server Standard ≈ 634 € (+ CAL par poste) | Ubuntu Desktop/Server : gratuit ; support entreprise Ubuntu Pro ≈ 25 $/poste/an |
| Durée de support | Windows 11 : support jusqu'en 2031 (10 ans) | Ubuntu LTS (ex. 24.04) : 5 ans standard, 10 ans avec ESM |
| Logs du système | Observateur d'événements (.evtx) | journalctl ou fichiers dans /var/log |
Flag A1
Checkpoint
Cite deux usages où Windows est le plus courant, et deux où Linux domine. Rends : ta réponse.
1. Le bureau, côte à côte
Lance ta VM. Regarde les deux bureaux. Ils font la même chose, autrement.
| Pour… | Windows | Linux (GNOME) |
|---|---|---|
| Ouvrir une appli | menu Démarrer (en bas) | Activités (en haut à gauche) puis on tape |
| Voir ses applis ouvertes | la barre des tâches | le dock (barre d'icônes) |
| Parcourir ses fichiers | Explorateur de fichiers | appli Fichiers (Nautilus) |
| Régler le système | Paramètres | Paramètres (très similaire) |
| Éteindre | Démarrer → Marche/Arrêt | menu en haut à droite |
Fais-le des deux côtés
Ne te contente pas de lire le tableau : refais chaque ligne pour de vrai, à gauche dans Windows, à droite dans la VM.
- Ouvre l'explorateur de fichiers : sous Windows, icône dossier de la barre des tâches. Sous Linux, « Activités » → tape
fichiers→ Entrée. - Va dans ton dossier personnel : Windows → « Ce PC » puis ton nom ; Linux → raccourci « Dossier personnel » dans la colonne de gauche.
- Crée un dossier nommé
essai: clic droit → « Nouveau dossier » des deux côtés. - Renomme-le en
essai-ok: toucheF2sous Windows, clic droit → « Renommer » (ouF2) sous Linux.
Flag B1
Production
Dans ta VM, ouvre trois applis différentes via « Activités » (ex. Firefox, Fichiers, Terminal). Rends : la liste des applis ouvertes et la touche du clavier qui ouvre la vue « Activités ».
Flag A3
Checkpoint
Cite, dans l'ordre, les manips qui ont été identiques entre Windows et Linux dans l'exercice « Fais-le des deux côtés », et celles qui ont différé (nom du bouton, emplacement). Rends : ta liste en deux colonnes.
2. Les fichiers : LA grande différence
Ici est le vrai choc des cultures. Sous Windows, tes fichiers sont rangés par lettres de lecteur (C:, D:…). Sous Linux, il n'y a aucune lettre : tout part d'une seule racine, /.
Windows : un arbre par lecteur.
Linux : tout pend d'une racine unique.
Sous Linux, brancher une clé USB ne crée pas un E: : la clé « se greffe » à un endroit de l'arbre (dans /media). On dit qu'on la monte. Tout — disques, clés, même certains périphériques — vit sous l'unique /.
Va voir la racine de tes propres yeux
Ouvre le terminal de ta VM (« Activités » → terminal) et tape, une commande à la fois :
cd /
ls
bin boot dev etc home lib media mnt opt
proc root sbin srv tmp usr var
Chacun a un rôle précis. Tu n'as rien à modifier ici — juste à reconnaître les principaux :
| Dossier | À quoi il sert | Côté Windows, ça ressemble à… |
|---|---|---|
/home | les dossiers personnels des utilisateurs | C:\Users |
/etc | les fichiers de configuration du système | la base de registre / les réglages |
/bin, /usr | les programmes installés | C:\Program Files |
/var | les données qui grossissent (logs…) | C:\ProgramData |
/media | là où apparaissent clés USB et disques branchés | les lettres E:, F:… |
/tmp | fichiers temporaires (vidés au redémarrage) | %TEMP% |
/dev | représentation des périphériques sous forme de fichiers : /dev/sda = premier disque, /dev/null = la poubelle universelle | le Gestionnaire de périphériques |
/proc | système de fichiers virtuel (pas de vraies données sur le disque) : chaque processus a son dossier /proc/PID ; /proc/cpuinfo décrit le CPU | n'a pas d'équivalent direct (WMI/Task Manager) |
Reviens chez toi quand tu veux : la commande cd toute seule (ou cd ~) te ramène à /home/ton-nom.
cd ~
pwd
Entre vraiment dans deux dossiers du système
Ne te contente pas du tableau : va voir ce qu'il y a dedans. Une commande à la fois.
ls /etc | head
alternatives apt bash.bashrc cron.d fstab
hostname hosts passwd profile resolv.conf
Chacun de ces fichiers règle un comportement du système (le nom de la machine, les comptes, le réseau…). Tu ne touches à rien : tu reconnais.
ls /var/log | head
alternatives.log apt auth.log dpkg.log
kern.log syslog
Les fichiers cachés : le point sur le nom, pas l'attribut
Sous Windows, un fichier est « caché » par une case à cocher (un attribut). Sous Linux, un fichier est caché simplement quand son nom commence par un point (.bashrc, .config…). On les appelle des dotfiles, et ils servent surtout à ranger les réglages des logiciels dans ton dossier perso.
cd ~
ls
ls -a
. .. .bash_history .bashrc .config
.profile Documents essai-ok Téléchargements
Flag A4
Checkpoint
Dans ton dossier personnel, compare ls et ls -a. Rends : deux noms de fichiers cachés que tu vois, et en une phrase : qu'est-ce qui rend un fichier « caché » sous Linux (ce n'est pas une case à cocher) ?
Flag D2
Investigation
Avec cd et ls, entre dans /etc et liste son contenu. Rends : trois noms de fichiers que tu y vois, et en une phrase : pourquoi ce dossier est-il sensible (qu'est-ce qu'on y trouve) ?
Flag A2
Checkpoint
Où se trouve ton dossier personnel sous Windows ? Et sous Linux ? Rends : les deux chemins, et la différence majeure d'organisation entre les deux systèmes de fichiers.
3. Les chemins : \ contre /
Petite différence, gros pièges. Compare comment on écrit l'adresse d'un fichier.
| Windows | Linux | |
|---|---|---|
| Séparateur | antislash \ | slash / |
| Exemple | C:\Users\Marc\notes.txt | /home/marc/notes.txt |
| Majuscules/minuscules | indifférent (Notes = notes) | ça compte ! (Notes ≠ notes) |
Absolu ou relatif : deux façons de viser un fichier
Comme sous Windows, tu peux donner une adresse de deux manières :
| Type de chemin | Part de… | Exemple Linux |
|---|---|---|
| Absolu | la racine / | /home/marc/notes.txt |
| Relatif | là où tu es maintenant | notes.txt ou ./notes.txt |
| Remonter d'un cran | le dossier parent | cd .. |
Teste l'aller-retour dans la VM :
cd ~/essai-ok
pwd
cd ..
pwd
Flag C1
Comprendre l'erreur
Dans le terminal Linux, crée un dossier Test (avec un T majuscule), puis essaie cd test (minuscule). Rends : le message obtenu, et la commande correcte qui fonctionne.
4. Le terminal, deux dialectes
Bonne nouvelle : tu connais déjà PowerShell (cours « Le terminal »). Le terminal Linux (bash) fait les mêmes choses, souvent avec des commandes encore plus courtes. Beaucoup d'alias que tu utilisais (ls, cd, cat…) viennent justement de Linux !
La table de traduction (à garder)
| Je veux… | PowerShell (Windows) | bash (Linux) |
|---|---|---|
| savoir où je suis | Get-Location / pwd | pwd |
| lister | Get-ChildItem / ls | ls |
| changer de dossier | cd | cd |
| créer un dossier | mkdir | mkdir |
| créer un fichier vide | New-Item f.txt | touch f.txt |
| lire un fichier | Get-Content / cat | cat |
| copier | Copy-Item / cp | cp |
| déplacer / renommer | Move-Item / mv | mv |
| supprimer | Remove-Item / rm | rm |
| effacer l'écran | cls | clear |
| qui suis-je | $env:USERNAME | whoami |
| date et heure | Get-Date | date |
| aide d'une commande | Get-Help ls | man ls / ls --help |
| les dernières commandes | Get-History | history |
| afficher un texte | Write-Output "hi" | echo "hi" |
Teste la même chose des deux côtés
À gauche (PowerShell), à droite (bash de la VM), tape :
pwd
ls
whoami
Un pas-à-pas dans bash, avec ce que tu dois voir
Dans le terminal de ta VM, une commande à la fois. À chaque fois, compare l'affichage à la « sortie attendue ».
echo "Bonjour GSB"
Bonjour GSB
ls -l
ls --help
Raccourcis bash indispensables (à savoir dès maintenant)
| Raccourci clavier | Effet | Équivalent Windows |
|---|---|---|
Tab | complétion automatique du nom (dossier, fichier, commande) | Tab aussi (mais moins puissant) |
Ctrl + R | recherche dans l'historique : tape un mot, bash remonte les commandes qui le contiennent — le raccourci le plus utilisé | flèche haut ou Ctrl + R dans PowerShell |
flèche ↑ / ↓ | naviguer dans les commandes précédentes | identique |
Ctrl + C | stopper la commande en cours (si elle boucle ou trop lente) | identique |
Ctrl + L | effacer l'écran (équivalent de clear) | Ctrl + L aussi |
Ctrl + A | aller au début de la ligne de commande | Début |
Ctrl + E | aller à la fin de la ligne | Fin |
D'où viennent les commandes ? La variable PATH
Quand tu tapes ls, bash cherche un fichier exécutable du nom « ls » dans les dossiers listés par la variable PATH. Voyons ça :
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
which ls
/usr/bin/ls
which python3
which gimp
Flag B2
Production
Dans le terminal Linux, crée un dossier compare, entre dedans, crée un fichier vide note.txt (avec touch), et liste. Rends : les 4 commandes bash utilisées, et l'équivalent PowerShell de touch note.txt.
Flag D3
Investigation (les deux dialectes)
Trouve, en testant ou via --help, la commande bash qui affiche les 5 premières lignes d'un fichier, et celle qui compte ses lignes. Rends : les deux commandes bash et le nom de leur cousine PowerShell.
5. Manipuler des fichiers pour de vrai
Tu as la table de traduction. Maintenant on l'exécute : créer, écrire, lire, copier, déplacer, supprimer, chercher — à gauche en PowerShell, à droite en bash. Pour chaque commande bash : le bloc, puis ce qu'il fait, puis ce que tu dois voir à l'écran.
Créer et écrire dans un fichier
Place-toi d'abord dans un dossier de travail propre :
cd ~
mkdir fichiers-test
cd fichiers-test
touch vide.txt
echo "Ligne 1 du rapport GSB" > rapport.txt
echo "Ligne 2 ajoutée" >> rapport.txt
Lire un fichier (et en lire des morceaux)
cat rapport.txt
Ligne 1 du rapport GSB
Ligne 2 ajoutée
head -1 rapport.txt
Ligne 1 du rapport GSB
tail -1 rapport.txt
Ligne 2 ajoutée
wc -l rapport.txt
2 rapport.txt
Copier, renommer, déplacer, supprimer
cp rapport.txt sauvegarde.txt
mv sauvegarde.txt archive.txt
ls
archive.txt rapport.txt vide.txt
rm vide.txt
Chercher : dans les fichiers et parmi les fichiers
Deux besoins différents, deux outils.
grep "GSB" rapport.txt
Ligne 1 du rapport GSB
find ~ -name "rapport.txt"
/home/marc/fichiers-test/rapport.txt
Le pipe | : enchaîner des commandes
Tu l'as déjà croisé avec ls /etc | head. Le pipe branche la sortie d'une commande sur l'entrée de la suivante, comme un tuyau.
cat rapport.txt | grep "Ligne"
Ligne 1 du rapport GSB
Ligne 2 ajoutée
Flag B5
Production (des deux côtés)
Dans un dossier livraison, crée colis.txt contenant deux lignes (avec echo et > puis >>), copie-le en colis-copie.txt, puis compte les lignes du premier. Fais-le dans la VM (bash) ET dans PowerShell. Rends : tes deux suites de commandes et la sortie de la commande qui compte les lignes.
Flag D5
Investigation
Dans rapport.txt, utilise grep pour n'afficher que les lignes contenant le mot « ajoutée ». Puis trouve, avec --help ou man, l'option de grep qui affiche aussi le numéro de chaque ligne trouvée. Rends : les deux commandes et leur sortie.
6. Installer un logiciel
Encore une différence de culture, très visible.
Côté Windows
Tu vas sur un site, tu télécharges un .exe, tu double-cliques, tu cliques « Suivant » plusieurs fois. Ou tu passes par le Microsoft Store. Chaque logiciel vient de son côté.
Côté Linux — le « magasin » central
Sous Linux, presque tout s'installe depuis un dépôt : une immense bibliothèque officielle de logiciels, gérée par la commande apt. Une seule ligne, et c'est installé et mis à jour proprement.
Étape 1 — rafraîchis la liste du dépôt. Avant toute installation, tu mets à jour le « catalogue » :
sudo apt update
Étape 2 — installe le logiciel.
sudo apt install gimp
apt te montre ce qu'il va faire et attend ta confirmation :
Les NOUVEAUX paquets suivants seront installés :
gimp
Faut-il continuer ? [O/n]
Linux : un dépôt central, une commande. Pas de chasse au .exe sur des sites douteux → plus sûr.
Les gestes apt essentiels (tableau complet)
| Je veux… | Commande | Besoin de sudo ? |
|---|---|---|
| chercher un logiciel par mot-clé | apt search éditeur | non (on lit seulement) |
| voir les détails d'un paquet avant d'installer | apt show gimp | non |
| installer | sudo apt install gimp | oui (modifie le système) |
| désinstaller (garde la config) | sudo apt remove gimp | oui |
| désinstaller + supprimer la config | sudo apt purge gimp | oui |
| mettre à jour TOUT le système | sudo apt update && sudo apt upgrade | oui |
| nettoyer les paquets inutiles | sudo apt autoremove | oui |
| voir ce qui est installé | apt list --installed | non |
| vider le cache de téléchargements | sudo apt clean | oui |
Snap : l'autre façon d'installer (à connaître)
Ubuntu propose aussi les snaps, une technologie d'empaquetage différente. Tu les croises parfois dans les résultats de recherche.
| apt (paquet .deb) | snap | |
|---|---|---|
| Source | dépôt Ubuntu officiel | Snap Store (Canonical) |
| Mise à jour | manuelle (apt upgrade) | automatique (toutes les 6 h) |
| Isolation | partagée avec le reste du système | empaquetage autonome (plus lourd) |
| Taille typique | quelques Mo | parfois 200-400 Mo (tout inclus) |
| Commande | sudo apt install nom | sudo snap install nom |
| Quand choisir ? | logiciel courant de la distrib | logiciel non dans les dépôts apt, ou besoin de la dernière version |
update ≠ upgrade : ne pas confondre
Ces deux mots se ressemblent mais ne font pas du tout la même chose. C'est la confusion n°1 des débutants.
| Commande | Ce qu'elle fait vraiment |
|---|---|
sudo apt update | rafraîchit le catalogue (la liste des versions disponibles). N'installe rien. |
sudo apt upgrade | installe réellement les nouvelles versions des logiciels déjà présents. |
sudo apt autoremove | supprime les paquets devenus inutiles (dépendances orphelines) pour récupérer de la place. |
apt list --installed | liste tout ce qui est installé sur la machine (pas besoin de sudo, ça ne modifie rien). |
Le même geste, côté Windows
| Tâche | Windows | Linux (apt) |
|---|---|---|
| Trouver un logiciel | moteur de recherche / Store | apt search |
| Installer | télécharger un .exe, double-clic, « Suivant » | sudo apt install nom |
| Mettre à jour | chaque logiciel se met à jour seul, + Windows Update | sudo apt upgrade (tout d'un coup) |
| Désinstaller | « Ajouter ou supprimer des programmes » | sudo apt remove nom |
| Source de confiance | variable (le site que tu visites) | un dépôt officiel vérifié |
La grande différence : sous Linux, une seule commande met à jour tout le système d'un coup. Sous Windows, chaque logiciel a son propre mécanisme de mise à jour.
Flag B3
Production
Installe l'utilitaire tree via sudo apt update puis sudo apt install tree, et lance tree dans ton dossier personnel. Rends : les commandes utilisées et une description de ce que tree affiche (en quoi est-ce différent de ls ?).
Flag D4
Investigation
Avec apt search, trouve le nom du paquet du lecteur multimédia VLC. Rends : la commande de recherche et la commande exacte qui l'installerait (sans l'exécuter si tu manques de place).
7. Utilisateurs, groupes et droits
Les deux systèmes protègent les opérations sensibles, avec des mots différents.
| Windows | Linux | |
|---|---|---|
| Le tout-puissant | compte Administrateur | compte root |
| Demander le pouvoir | fenêtre UAC (« Voulez-vous autoriser… ») | commande sudo (+ mot de passe) |
| Toi au quotidien | utilisateur standard | utilisateur standard |
Qui es-tu, et dans quels groupes ?
Avant de parler des droits sur les fichiers, il faut savoir qui tu es pour le système. Tape, une commande à la fois :
whoami
marc
id
uid=1000(marc) gid=1000(marc) groupes=1000(marc),27(sudo)
groups
marc sudo
Voir les droits d'un fichier (Linux)
Crée un fichier puis regarde ses droits :
cd ~
echo "test" > note.txt
ls -l note.txt
-rw-r--r-- 1 marc marc 5 sept. 12 10:00 note.txt
Cette suite de 10 caractères au début, c'est la carte des permissions. Lis-la par blocs :
-rw-r--r-- : le propriétaire peut lire et écrire ; le groupe et les autres peuvent seulement lire.
| Bloc | Pour qui | Ici (-rw-r--r--) |
|---|---|---|
| 1er caractère | type : - = fichier, d = dossier | fichier |
rw- | le propriétaire (toi) | lecture + écriture |
r-- | le groupe | lecture seule |
r-- | les autres utilisateurs | lecture seule |
Changer les droits : chmod et le bit d'exécution
Voici LA différence qui surprend le plus en venant de Windows. Sous Windows, un fichier est un programme parce qu'il finit par .exe : c'est son nom qui décide. Sous Linux, c'est le droit x (exécuter) qui décide, pas le nom. Fabriquons-en la preuve.
cd ~
echo 'echo "Salut depuis GSB"' > bonjour.sh
ls -l bonjour.sh
-rw-r--r-- 1 marc marc 26 sept. 12 10:10 bonjour.sh
./bonjour.sh
bash: ./bonjour.sh: Permission denied
Refusé : il manque le droit x. On le donne avec chmod :
chmod +x bonjour.sh
ls -l bonjour.sh
-rwxr-xr-x 1 marc marc 26 sept. 12 10:10 bonjour.sh
./bonjour.sh
Salut depuis GSB
La logique de chmod (qui, quoi)
On vise une cible (qui ?) et une action (+ ajoute, − enlève) sur un droit (r, w, x).
| Cible | Lettre | Exemple | Effet |
|---|---|---|---|
| propriétaire | u | chmod u+x f | seul le propriétaire peut exécuter |
| groupe | g | chmod g-w f | retire l'écriture au groupe |
| autres | o | chmod o-r f | les autres ne peuvent plus lire |
| tous | a | chmod a+x f | tout le monde peut exécuter |
Changer le propriétaire : chown
En plus de chmod (change les droits), il existe chown (change owner = change le propriétaire). En entreprise, tu en as besoin quand tu crées un fichier en sudo et qu'il se retrouve appartenir à root alors qu'il devrait appartenir à un utilisateur normal.
sudo touch /tmp/rapport-admin.txt
ls -l /tmp/rapport-admin.txt
-rw-r--r-- 1 root root 0 sept. 12 10:30 /tmp/rapport-admin.txt
sudo chown marc:marc /tmp/rapport-admin.txt
ls -l /tmp/rapport-admin.txt
-rw-r--r-- 1 marc marc 0 sept. 12 10:30 /tmp/rapport-admin.txt
Appliquer des droits à tout un dossier : chmod -R
Le -R (récursif) applique la permission à tous les fichiers et sous-dossiers d'un dossier d'un coup.
mkdir -p ~/projet/src ~/projet/docs
chmod -R 750 ~/projet
Le masque par défaut : umask
Tu n'as jamais demandé de droits quand tu créais un fichier avec touch, et pourtant il arrivait toujours avec -rw-r--r-- (644). C'est le masque qui décide.
umask
0022
| umask | Fichier créé avec | Dossier créé avec | Usage typique |
|---|---|---|---|
0022 | rw-r--r-- (644) | rwxr-xr-x (755) | par défaut, tout le monde peut lire |
0027 | rw-r----- (640) | rwxr-x--- (750) | serveur multi-utilisateurs : groupe oui, autres non |
0077 | rw------- (600) | rwx------ (700) | très restrictif : uniquement toi |
Flag D1
Investigation
Lance ls -l dans ton dossier personnel Linux. Rends : la ligne d'un de tes fichiers, et explique en t'appuyant sur le schéma ci-dessus ce que peuvent faire le propriétaire, le groupe et les autres.
Flag B6
Production
Crée un script infos.sh contenant echo "Compte : $(whoami)". Lance-le AVANT de le rendre exécutable (note le message), puis donne-lui le droit x avec chmod et relance-le. Rends : le message d'erreur initial, la commande chmod utilisée, et la sortie finale du script.
8. Les processus : qui tourne en ce moment ?
Un processus, c'est un programme en train de tourner. Ton navigateur ouvert = un processus (parfois plusieurs). Quand une appli plante et refuse de se fermer, c'est son processus qu'on va « tuer ». Les deux systèmes savent les lister et les arrêter.
| Pour… | Windows | Linux (terminal) |
|---|---|---|
| Voir ce qui tourne (fenêtre) | Gestionnaire des tâches (Ctrl+Maj+Échap) | top ou htop |
| Lister au terminal | Get-Process / tasklist | ps |
| Arrêter un programme | « Fin de tâche » / Stop-Process | kill |
Lister les processus (Linux)
ps
PID TTY TIME CMD
2417 pts/0 00:00:00 bash
2598 pts/0 00:00:00 ps
ps aux | head -4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 168140 11200 ? Ss 09:01 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 09:01 0:00 [kthreadd]
marc 2417 0.0 0.1 8400 5200 pts/0 Ss 09:30 0:00 bash
Voir en direct : top puis htop
top
htop est une version plus jolie et plus lisible, mais elle n'est pas installée par défaut. Installe-la (tu réutilises apt du chapitre 6) :
sudo apt install htop
htop
Tuer un processus, des deux côtés
On crée d'abord un processus « cobaye » qui ne fait qu'attendre, pour s'entraîner à l'arrêter sans rien casser.
sleep 300 &
[1] 2731
ps aux | grep sleep
marc 2731 0.0 0.0 5904 900 pts/0 S 10:12 0:00 sleep 300
kill 2731
[1]+ Terminé sleep 300
Vérifie qu'il a bien disparu : relance ps aux | grep sleep, il ne reste plus que la ligne du grep lui-même.
Le cycle : lancer → un PID est attribué → retrouver le PID → l'arrêter avec kill.
kill -9 : le coup de grâce (et pourquoi l'éviter en premier)
La commande kill PID sans option envoie le signal SIGTERM (n°15) : une demande polie au programme de s'arrêter proprement (il peut sauvegarder ses données, fermer ses connexions, etc.). La plupart des programmes l'écoutent.
Si le programme est figé et ne répond plus à SIGTERM, tu envoies SIGKILL (n°9) : le noyau coupe le processus immédiatement, sans lui laisser le choix.
kill 2731
kill -9 2731
| Signal | N° | Effet | Quand l'utiliser |
|---|---|---|---|
| SIGTERM | 15 | demande d'arrêt propre (le processus peut refuser) | toujours en premier |
| SIGKILL | 9 | arrêt forcé immédiat par le noyau (irrésistible) | si SIGTERM ignoré après 5-10 s |
| SIGHUP | 1 | recharge la config (pour un service comme nginx) | pour recharger sans redémarrer |
| SIGINT | 2 | interruption (= Ctrl + C clavier) | arrêter une commande qui tourne dans le terminal |
Tuer par nom de programme : killall et pgrep
Chercher un PID avec ps aux | grep peut être fastidieux. Il y a plus direct :
sleep 200 &
sleep 200 &
pgrep sleep
2844
2845
killall sleep
[1]- Terminé sleep 200
[2]+ Terminé sleep 200
Flag B7
Production
Lance sleep 600 & dans ta VM, retrouve son PID avec ps aux | grep sleep, puis arrête-le avec kill. Rends : le PID obtenu, la commande kill exacte que tu as tapée, et la preuve (la ligne) qu'il a disparu.
Flag A5
Checkpoint
Ouvre top (ou htop) dans la VM, et le Gestionnaire des tâches sous Windows. Rends : le nom du processus qui consomme le plus de CPU à cet instant de chaque côté, et la touche qui fait quitter top.
9. Coup d'œil système & réseau
Dernier réflexe de technicien : interroger la machine. « Quel système ? Combien de disque ? De mémoire ? Quelle adresse réseau ? » Voici les commandes, avec leur cousine PowerShell.
Quel système, quelle version ?
uname -a
Linux gsb-vm 6.8.0-40-generic #40-Ubuntu SMP x86_64 GNU/Linux
cat /etc/os-release | head -2
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
Combien de disque, de mémoire ?
df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda1 25G 9,1G 15G 39% /
free -h
total utilisé libre
Mem: 3,8Gi 1,1Gi 2,1Gi
Le réseau : ip a contre ipconfig
| Je veux… | Windows | Linux |
|---|---|---|
| voir mon adresse IP | ipconfig | ip a |
| tester si une machine répond | ping | ping (identique !) |
ip a
ping -c 3 8.8.8.8
64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=12.3 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss
Ports en écoute : ss -tuln (le diagnostic réseau incontournable)
Un technicien qui gère un serveur doit savoir quels ports sont ouverts sur sa machine. Sous Linux, ss remplace l'ancien netstat.
ss -tuln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 511 127.0.0.1:631 0.0.0.0:*
| Port | Protocole / service | Quand tu le vois |
|---|---|---|
| 22 | SSH — accès terminal distant | si le serveur SSH est installé |
| 80 | HTTP — site web non chiffré | serveur Apache/Nginx démarré |
| 443 | HTTPS — site web chiffré (TLS) | certificat SSL configuré |
| 3306 | MySQL / MariaDB | base de données démarrée |
| 5432 | PostgreSQL | base de données démarrée |
| 27017 | MongoDB | base NoSQL démarrée |
| 8080 / 3000 | serveurs de développement (Node, Java…) | application lancée en dev |
Vérifier le nom de machine et le DNS
hostname
expl.
hostname — affiche le nom de la machine sur le réseau (ex. gsb-vm). Côté Windows : $env:COMPUTERNAME.
gsb-vm
cat /etc/resolv.conf
expl.
Ce fichier contient les adresses des serveurs DNS que Linux interroge pour traduire les noms de domaine (google.com → 142.250.x.x). Si tu n'as pas accès internet depuis la VM, c'est souvent ici que ça coince : le DNS est absent ou mauvais.
nameserver 8.8.8.8
nameserver 8.8.4.4
expl.
8.8.8.8 et 8.8.4.4 = les DNS publics de Google, les plus répandus. 1.1.1.1 = DNS de Cloudflare (réputé plus rapide). Si ce fichier est vide ou contient une adresse injoignable, ta VM résout ses noms toute seule… et échoue.
Erreur courante
« Temporary failure in name resolution »
Tu fais sudo apt update ou ping google.com et tu obtiens cette erreur.
Cause : Linux ne sait pas comment résoudre les noms de domaine (DNS absent ou injoignable).
Diagnostic : teste d'abord ping 8.8.8.8 — si ça marche, tu as internet mais pas de DNS. Vérifie /etc/resolv.conf.
Solution rapide : echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf — ajoute le DNS de Google. Dans VirtualBox, assure-toi que ta carte réseau est en mode « NAT » ou « Accès par pont » et non « Réseau interne ».
Flag D6
Investigation
Avec df -h dans ta VM, repère la ligne de la racine /. Rends : la taille totale du disque, l'espace encore disponible, et le pourcentage utilisé. Bonus : la version d'Ubuntu donnée par /etc/os-release.
10. Alors, lequel choisir ?
Ni l'un ni l'autre « gagne » : ça dépend du besoin. Un technicien sait choisir.
| Le besoin | Le bon choix | Pourquoi |
|---|---|---|
| Poste de bureau, bureautique, jeux | Windows | logiciels grand public, habitudes des utilisateurs |
| Serveur web, base de données | Linux | léger, stable, gratuit, fait pour tourner sans écran |
| Développement, cloud, Docker | Linux | l'écosystème des devs et des serveurs |
| Compatibilité d'un logiciel métier précis | celui qu'il exige | certains logiciels n'existent que d'un côté |
Et c'est pour ça qu'on virtualise
Tu n'as pas à choisir « pour toujours » : avec une VM, tu as les deux. En entreprise, un technicien jongle entre un poste Windows et des serveurs Linux en permanence. Savoir naviguer dans les deux, c'est exactement ce qu'on attend de toi.
WSL2
Linux dans Windows, sans VM (à connaître)
Depuis Windows 10 (2019), Microsoft intègre WSL2 (Windows Subsystem for Linux 2) : un vrai noyau Linux qui tourne dans Windows, accessible par le terminal. Tu peux installer Ubuntu depuis le Microsoft Store et lancer bash, apt, python3… directement sous Windows, sans VirtualBox.
Avantage : pas besoin de démarrer une VM, accès aux fichiers Windows depuis Linux et vice-versa.
Limite : pas d'interface graphique native (possible avec WSLg depuis Windows 11), pas de simulation réseau indépendante.
En BTS : on travaille avec une vraie VM pour apprendre les concepts proprement. En entreprise, WSL2 est très répandu chez les développeurs.
Coûts réels : Windows Server vs Ubuntu Server
| Windows Server 2022 Standard | Ubuntu Server 24.04 LTS | |
|---|---|---|
| Licence OS | ≈ 634 € (16 cœurs) + CAL ≈ 38 €/poste | Gratuit |
| Support entreprise | inclus avec la licence + Software Assurance | Ubuntu Pro ≈ 25 $/serveur/an (optionnel) |
| Mises à jour de sécurité | Windows Update (automatiques) | sudo apt update && sudo apt upgrade |
| RAM minimum conseillée | 2 Go (512 Mo minimum) | 512 Mo (256 Mo minimum en mode serveur) |
| Interface par défaut | GUI (bureau Windows) | ligne de commande (GUI optionnelle) |
| Idéal pour… | AD, Exchange, SQL Server, apps .NET / C# | serveurs web, bases de données, conteneurs Docker, cloud |
Pour héberger un site web avec Nginx + PHP + MySQL, un serveur Ubuntu consomme typiquement 256 Mo de RAM au repos contre 1,2 Go pour un Windows Server avec IIS. Sur un VPS cloud facturé à la RAM, c'est une différence de coût mensuel visible.
Flag E1
Extension
Imagine qu'on te demande de monter un petit serveur de site web pour l'entreprise. Quel système choisis-tu, et pourquoi (2 arguments) ? Rends : ta réponse argumentée.
11. Mini-projet : la même mission des deux côtés
On boucle en faisant exactement la même tâche dans Windows puis dans Linux, et on compare.
La mission
Dans chaque système, via le terminal :
- crée un dossier
gsb-comparedans ton dossier personnel ; - entre dedans ;
- crée un fichier
rapport.txtcontenant la ligneSystème : ...(mets « Windows » ou « Linux ») ; - affiche le contenu du fichier ;
- liste le dossier.
| Étape | PowerShell | bash |
|---|---|---|
| 1-2 | mkdir gsb-compare; cd gsb-compare | mkdir gsb-compare && cd gsb-compare |
| 3 | "Système : Windows" | Out-File rapport.txt | echo "Système : Linux" > rapport.txt |
| 4 | cat rapport.txt | cat rapport.txt |
| 5 | ls | ls |
Flag B4
Mini-projet (production)
Réalise la mission dans les deux systèmes. Rends : tes deux suites de commandes (Windows et Linux) et une phrase : quelle a été la seule vraie différence d'écriture entre les deux ?
Défis bonus
Bonus A : trouve la commande bash qui affiche le calendrier du mois (cal). Existe-t-elle en PowerShell standard ?
Bonus B (pipe) : dans un dossier, compte le nombre de fichiers en une seule ligne avec ls -l | wc -l. Explique avec tes mots ce que fait le | entre les deux commandes.
Bonus C (historique) : affiche tes 5 dernières commandes avec history | tail -5. Quelle est la cousine PowerShell de history ?
Pour finir
Ton antisèche (à garder)
| Notion | Windows | Linux |
|---|---|---|
| Menu d'applis | Démarrer | Activités (touche Super) |
| Racine des fichiers | C:\, D:\… | / (unique) |
| Dossier perso | C:\Users\Nom | /home/nom |
| Séparateur de chemin | \ | / |
| Casse des noms | indifférente | sensible |
| Installer un logiciel | .exe / Store | sudo apt install |
| Mettre tout à jour | Windows Update | sudo apt update && sudo apt upgrade |
| Devenir admin | UAC | sudo |
| Fichiers cachés | attribut « caché » | nom en . → ls -a |
| Écrire dans un fichier | Out-File | echo "..." > (ou >>) |
| Chercher dans un fichier | Select-String | grep |
| Voir les processus | Gestionnaire des tâches | ps / top / htop |
| Arrêter un processus | Stop-Process | kill PID |
| Changer les droits | onglet Sécurité | chmod |
Vérifie tes acquis
- Quelle est la plus grosse différence d'organisation des fichiers entre Windows et Linux ?
- Pourquoi
cd Documentspeut échouer sous Linux mais jamais sous Windows ? - Donne l'équivalent bash de
Out-Fileet decls. - Comment installe-t-on un logiciel sous Linux, et pourquoi est-ce plus sûr ?
- Quel est l'équivalent Linux de l'UAC de Windows ?
- Quelle est la différence entre
>et>>dans une redirection ? - Un fichier
script.shrefuse de se lancer (« Permission denied »). Quelle commande règle ça, et pourquoi ? - Comment retrouves-tu le PID d'un programme, et comment l'arrêtes-tu, sous Linux ?
- Pour un serveur web, lequel choisis-tu et pourquoi ?
- Quelle différence entre
kill PIDetkill -9 PID? Lequel utilises-tu en premier ? - À quoi sert
ss -tuln? Que signifient les options-t,-u,-l,-n? - Tu crées un fichier
.envavec un mot de passe de BDD. Quelle permission lui donnes-tu, et pourquoi ?
Les réponses détaillées se trouvent dans le corrigé de cette séance.
Tu es bloqué ?
« No such file or directory » alors que le dossier existe ? → vérifie la casse (Linux distingue majuscules/minuscules), utilise Tab.
« command not found » sous bash ? → la commande n'existe pas sous ce nom en Linux (regarde la table de traduction).
apt refuse d'installer (« Permission denied » / « êtes-vous root ? ») ? → tu as oublié sudo devant.
« Unable to locate package » ? → fais sudo apt update, vérifie l'orthographe du paquet.
Mon mot de passe ne s'affiche pas quand je tape ? → c'est normal, rien ne s'affiche sous sudo ; tape à l'aveugle puis Entrée.
La VM a capturé ma souris ? → touche de relâchement (souvent Ctrl droit).
Un mot incompris ? → glossaire ci-dessous.
Glossaire
| Mot | Définition |
|---|---|
| Open source | logiciel dont le code (les « plans ») est public et modifiable |
| GNOME | le bureau (l'interface graphique) d'Ubuntu |
Racine / | le point de départ unique de l'arbre des fichiers sous Linux |
| Monter (un disque) | greffer un disque/clé dans l'arbre / (sous /media) |
| bash | le terminal (shell) standard de Linux |
| Dépôt (repository) | la bibliothèque officielle de logiciels installables via apt |
| root / sudo | le super-utilisateur / la commande pour agir en son nom |
| Dotfile (fichier caché) | fichier dont le nom commence par . ; visible avec ls -a |
Redirection > / >> | envoyer la sortie dans un fichier : > écrase, >> ajoute |
Pipe | | brancher la sortie d'une commande sur l'entrée de la suivante |
| grep | chercher des lignes contenant un texte dans un fichier |
| Permission (rwx) | droit de lire / écrire / exécuter, pour propriétaire, groupe, autres |
| chmod | commande qui change les droits (ex. chmod +x rend exécutable) |
| Processus | un programme en train de tourner |
| PID | le numéro unique d'un processus (sert à l'arrêter) |
| kill | commande qui arrête un processus à partir de son PID |
La prochaine fois
Tu maîtrises les deux terminaux : on va apprendre à leur faire faire le travail tout seuls, avec des scripts qui enchaînent les commandes. C'est la séance « Automatiser de petites tâches ».
Compétences mobilisées
référentiel BTS SIO SLAM
Bloc 1 · Mettre à disposition des utilisateurs un service informatique
→ Installer et configurer des services
→ Vérifier la disponibilité et la performance
→ Assurer un support de premier niveau