Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

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èmeTu sauras…
Le bureaute repérer dans GNOME (Linux) comme dans Windows
Les fichierscomprendre C:\ contre / — la plus grosse différence
Le terminaltraduire 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 logicielsinstaller une appli façon Windows et façon Linux (apt)
Les droitscomparer Administrateur/UAC et root/sudo, lire et changer les permissions (chmod)
Les processuslister 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 ».

WindowsLinux (Ubuntu)
ÉditeurMicrosoft (une entreprise)communauté + Canonical (libre)
Prixpayant (souvent inclus au PC)gratuit
Code sourcefermé (secret)ouvert (open source, consultable par tous)
Terrain de jeupostes de bureau, jeux, bureautiqueserveurs, cloud, développement
Installer un logicieltélécharger un .exe / le Storeun « 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 supportWindows 11 : support jusqu'en 2031 (10 ans)Ubuntu LTS (ex. 24.04) : 5 ans standard, 10 ans avec ESM
Logs du systèmeObservateur 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.

0 sur 20 dans cette étape

1. Le bureau, côte à côte

Lance ta VM. Regarde les deux bureaux. Ils font la même chose, autrement.

Pour…WindowsLinux (GNOME)
Ouvrir une applimenu Démarrer (en bas)Activités (en haut à gauche) puis on tape
Voir ses applis ouvertesla barre des tâchesle dock (barre d'icônes)
Parcourir ses fichiersExplorateur de fichiersappli Fichiers (Nautilus)
Régler le systèmeParamètresParamètres (très similaire)
ÉteindreDémarrer → Marche/Arrêtmenu 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.

  1. Ouvre l'explorateur de fichiers : sous Windows, icône dossier de la barre des tâches. Sous Linux, « Activités » → tape fichiers → Entrée.
  2. Va dans ton dossier personnel : Windows → « Ce PC » puis ton nom ; Linux → raccourci « Dossier personnel » dans la colonne de gauche.
  3. Crée un dossier nommé essai : clic droit → « Nouveau dossier » des deux côtés.
  4. Renomme-le en essai-ok : touche F2 sous Windows, clic droit → « Renommer » (ou F2) 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 ».

0 sur 20 dans cette étape

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.

0 sur 20 dans cette étape

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.

Windows : un arbre par lecteur.

Linux : tout pend d'une racine unique.

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 :

powershell
cd /
bash
ls
Ce que tu dois voir
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 sertCôté Windows, ça ressemble à…
/homeles dossiers personnels des utilisateursC:\Users
/etcles fichiers de configuration du systèmela base de registre / les réglages
/bin, /usrles programmes installésC:\Program Files
/varles données qui grossissent (logs…)C:\ProgramData
/medialà où apparaissent clés USB et disques branchésles lettres E:, F:…
/tmpfichiers temporaires (vidés au redémarrage)%TEMP%
/devreprésentation des périphériques sous forme de fichiers : /dev/sda = premier disque, /dev/null = la poubelle universellele Gestionnaire de périphériques
/procsystème de fichiers virtuel (pas de vraies données sur le disque) : chaque processus a son dossier /proc/PID ; /proc/cpuinfo décrit le CPUn'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.

bash
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.

bash
ls /etc | head
Ce que tu dois voir
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.

bash
ls /var/log | head
Ce que tu dois voir
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.

bash
cd ~
ls
bash
ls -a
Ce que tu dois voir
.   ..   .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) ?

0 sur 20 dans cette étape

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) ?

0 sur 20 dans cette étape

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.

0 sur 20 dans cette étape

3. Les chemins : \ contre /

Petite différence, gros pièges. Compare comment on écrit l'adresse d'un fichier.

WindowsLinux
Séparateurantislash \slash /
ExempleC:\Users\Marc\notes.txt/home/marc/notes.txt
Majuscules/minusculesindiffé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 cheminPart de…Exemple Linux
Absolula racine //home/marc/notes.txt
Relatiflà où tu es maintenantnotes.txt ou ./notes.txt
Remonter d'un cranle dossier parentcd ..

Teste l'aller-retour dans la VM :

bash
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.

0 sur 20 dans cette étape

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 suisGet-Location / pwdpwd
listerGet-ChildItem / lsls
changer de dossiercdcd
créer un dossiermkdirmkdir
créer un fichier videNew-Item f.txttouch f.txt
lire un fichierGet-Content / catcat
copierCopy-Item / cpcp
déplacer / renommerMove-Item / mvmv
supprimerRemove-Item / rmrm
effacer l'écranclsclear
qui suis-je$env:USERNAMEwhoami
date et heureGet-Datedate
aide d'une commandeGet-Help lsman ls / ls --help
les dernières commandesGet-Historyhistory
afficher un texteWrite-Output "hi"echo "hi"

Teste la même chose des deux côtés

À gauche (PowerShell), à droite (bash de la VM), tape :

bash
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 ».

powershell
echo "Bonjour GSB"
Ce que tu dois voir
Bonjour GSB
bash
ls -l
bash
ls --help

Raccourcis bash indispensables (à savoir dès maintenant)

Raccourci clavierEffetÉquivalent Windows
Tabcomplétion automatique du nom (dossier, fichier, commande)Tab aussi (mais moins puissant)
Ctrl + Rrecherche 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édentesidentique
Ctrl + Cstopper la commande en cours (si elle boucle ou trop lente)identique
Ctrl + Leffacer l'écran (équivalent de clear)Ctrl + L aussi
Ctrl + Aaller au début de la ligne de commandeDébut
Ctrl + Ealler à la fin de la ligneFin

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 :

bash
echo $PATH
Ce que tu dois voir
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
which ls
Ce que tu dois voir
/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.

0 sur 20 dans cette étape

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.

0 sur 20 dans cette étape

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 :

powershell
cd ~
mkdir fichiers-test
cd fichiers-test
bash
touch vide.txt
powershell
echo "Ligne 1 du rapport GSB" > rapport.txt
powershell
echo "Ligne 2 ajoutée" >> rapport.txt

Lire un fichier (et en lire des morceaux)

bash
cat rapport.txt
Ce que tu dois voir
Ligne 1 du rapport GSB
Ligne 2 ajoutée
head -1 rapport.txt
Ce que tu dois voir
Ligne 1 du rapport GSB
tail -1 rapport.txt
Ce que tu dois voir
Ligne 2 ajoutée
wc -l rapport.txt
Ce que tu dois voir
2 rapport.txt

Copier, renommer, déplacer, supprimer

bash
cp rapport.txt sauvegarde.txt
bash
mv sauvegarde.txt archive.txt
bash
ls
Ce que tu dois voir
archive.txt   rapport.txt   vide.txt
bash
rm vide.txt

Chercher : dans les fichiers et parmi les fichiers

Deux besoins différents, deux outils.

bash
grep "GSB" rapport.txt
Ce que tu dois voir
Ligne 1 du rapport GSB
find ~ -name "rapport.txt"
Ce que tu dois voir
/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.

bash
cat rapport.txt | grep "Ligne"
Ce que tu dois voir
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.

0 sur 20 dans cette étape

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.

0 sur 20 dans cette étape

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 » :

bash
sudo apt update

Étape 2 — installe le logiciel.

bash
sudo apt install gimp

apt te montre ce qu'il va faire et attend ta confirmation :

Ce que tu dois voir
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.

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…CommandeBesoin de sudo ?
chercher un logiciel par mot-cléapt search éditeurnon (on lit seulement)
voir les détails d'un paquet avant d'installerapt show gimpnon
installersudo apt install gimpoui (modifie le système)
désinstaller (garde la config)sudo apt remove gimpoui
désinstaller + supprimer la configsudo apt purge gimpoui
mettre à jour TOUT le systèmesudo apt update && sudo apt upgradeoui
nettoyer les paquets inutilessudo apt autoremoveoui
voir ce qui est installéapt list --installednon
vider le cache de téléchargementssudo apt cleanoui

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
Sourcedépôt Ubuntu officielSnap Store (Canonical)
Mise à jourmanuelle (apt upgrade)automatique (toutes les 6 h)
Isolationpartagée avec le reste du systèmeempaquetage autonome (plus lourd)
Taille typiquequelques Moparfois 200-400 Mo (tout inclus)
Commandesudo apt install nomsudo snap install nom
Quand choisir ?logiciel courant de la distriblogiciel 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.

CommandeCe qu'elle fait vraiment
sudo apt updaterafraîchit le catalogue (la liste des versions disponibles). N'installe rien.
sudo apt upgradeinstalle réellement les nouvelles versions des logiciels déjà présents.
sudo apt autoremovesupprime les paquets devenus inutiles (dépendances orphelines) pour récupérer de la place.
apt list --installedliste tout ce qui est installé sur la machine (pas besoin de sudo, ça ne modifie rien).

Le même geste, côté Windows

TâcheWindowsLinux (apt)
Trouver un logicielmoteur de recherche / Storeapt search
Installertélécharger un .exe, double-clic, « Suivant »sudo apt install nom
Mettre à jourchaque logiciel se met à jour seul, + Windows Updatesudo apt upgrade (tout d'un coup)
Désinstaller« Ajouter ou supprimer des programmes »sudo apt remove nom
Source de confiancevariable (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 ?).

0 sur 20 dans cette étape

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).

0 sur 20 dans cette étape

7. Utilisateurs, groupes et droits

Les deux systèmes protègent les opérations sensibles, avec des mots différents.

WindowsLinux
Le tout-puissantcompte Administrateurcompte root
Demander le pouvoirfenêtre UAC (« Voulez-vous autoriser… »)commande sudo (+ mot de passe)
Toi au quotidienutilisateur standardutilisateur 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 :

bash
whoami
Ce que tu dois voir
marc
id
Ce que tu dois voir
uid=1000(marc) gid=1000(marc) groupes=1000(marc),27(sudo)
groups
Ce que tu dois voir
marc sudo

Voir les droits d'un fichier (Linux)

Crée un fichier puis regarde ses droits :

bash
cd ~
echo "test" > note.txt
ls -l note.txt
Ce que tu dois voir
-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.

-rw-r--r-- : le propriétaire peut lire et écrire ; le groupe et les autres peuvent seulement lire.

BlocPour quiIci (-rw-r--r--)
1er caractèretype : - = fichier, d = dossierfichier
rw-le propriétaire (toi)lecture + écriture
r--le groupelecture seule
r--les autres utilisateurslecture 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.

bash
cd ~
echo 'echo "Salut depuis GSB"' > bonjour.sh
ls -l bonjour.sh
Ce que tu dois voir
-rw-r--r-- 1 marc marc 26 sept. 12 10:10 bonjour.sh
bash
./bonjour.sh
Ce que tu dois voir
bash: ./bonjour.sh: Permission denied

Refusé : il manque le droit x. On le donne avec chmod :

bash
chmod +x bonjour.sh
ls -l bonjour.sh
Ce que tu dois voir
-rwxr-xr-x 1 marc marc 26 sept. 12 10:10 bonjour.sh
bash
./bonjour.sh
Ce que tu dois voir
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).

CibleLettreExempleEffet
propriétaireuchmod u+x fseul le propriétaire peut exécuter
groupegchmod g-w fretire l'écriture au groupe
autresochmod o-r fles autres ne peuvent plus lire
tousachmod a+x ftout 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.

bash
sudo touch /tmp/rapport-admin.txt
ls -l /tmp/rapport-admin.txt
Ce que tu dois voir
-rw-r--r-- 1 root root 0 sept. 12 10:30 /tmp/rapport-admin.txt
bash
sudo chown marc:marc /tmp/rapport-admin.txt
ls -l /tmp/rapport-admin.txt
Ce que tu dois voir
-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.

bash
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
Ce que tu dois voir
0022
umaskFichier créé avecDossier créé avecUsage typique
0022rw-r--r-- (644)rwxr-xr-x (755)par défaut, tout le monde peut lire
0027rw-r----- (640)rwxr-x--- (750)serveur multi-utilisateurs : groupe oui, autres non
0077rw------- (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.

0 sur 20 dans cette étape

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.

0 sur 20 dans cette étape

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…WindowsLinux (terminal)
Voir ce qui tourne (fenêtre)Gestionnaire des tâches (Ctrl+Maj+Échap)top ou htop
Lister au terminalGet-Process / tasklistps
Arrêter un programme« Fin de tâche » / Stop-Processkill

Lister les processus (Linux)

bash
ps
Ce que tu dois voir
    PID TTY          TIME CMD
   2417 pts/0    00:00:00 bash
   2598 pts/0    00:00:00 ps
bash
ps aux | head -4
Ce que tu dois voir
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

bash
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 &
Ce que tu dois voir
[1] 2731
bash
ps aux | grep sleep
Ce que tu dois voir
marc  2731  0.0  0.0   5904   900 pts/0 S 10:12 0:00 sleep 300
bash
kill 2731
Ce que tu dois voir
[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.

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.

bash
kill 2731
bash
kill -9 2731
SignalN°EffetQuand l'utiliser
SIGTERM15demande d'arrêt propre (le processus peut refuser)toujours en premier
SIGKILL9arrêt forcé immédiat par le noyau (irrésistible)si SIGTERM ignoré après 5-10 s
SIGHUP1recharge la config (pour un service comme nginx)pour recharger sans redémarrer
SIGINT2interruption (= 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
Ce que tu dois voir
2844
2845
killall sleep
Ce que tu dois voir
[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.

0 sur 20 dans cette étape

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.

0 sur 20 dans cette étape

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
Ce que tu dois voir
Linux gsb-vm 6.8.0-40-generic #40-Ubuntu SMP x86_64 GNU/Linux
bash
cat /etc/os-release | head -2
Ce que tu dois voir
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"

Combien de disque, de mémoire ?

bash
df -h
Ce que tu dois voir
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda1          25G    9,1G   15G  39%  /
free -h
Ce que tu dois voir
              total     utilisé    libre
Mem:          3,8Gi     1,1Gi     2,1Gi

Le réseau : ip a contre ipconfig

Je veux…WindowsLinux
voir mon adresse IPipconfigip a
tester si une machine répondpingping (identique !)
bash
ip a
powershell
ping -c 3 8.8.8.8
Ce que tu dois voir
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
Ce que tu dois voir
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:*
PortProtocole / serviceQuand tu le vois
22SSH — accès terminal distantsi le serveur SSH est installé
80HTTP — site web non chiffréserveur Apache/Nginx démarré
443HTTPS — site web chiffré (TLS)certificat SSL configuré
3306MySQL / MariaDBbase de données démarrée
5432PostgreSQLbase de données démarrée
27017MongoDBbase NoSQL démarrée
8080 / 3000serveurs de développement (Node, Java…)application lancée en dev

Vérifier le nom de machine et le DNS

powershell
hostname
Ce que tu dois voir
gsb-vm
bash
cat /etc/resolv.conf
Ce que tu dois voir
nameserver 8.8.8.8
nameserver 8.8.4.4

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.

0 sur 20 dans cette étape

10. Alors, lequel choisir ?

Ni l'un ni l'autre « gagne » : ça dépend du besoin. Un technicien sait choisir.

Le besoinLe bon choixPourquoi
Poste de bureau, bureautique, jeuxWindowslogiciels grand public, habitudes des utilisateurs
Serveur web, base de donnéesLinuxléger, stable, gratuit, fait pour tourner sans écran
Développement, cloud, DockerLinuxl'écosystème des devs et des serveurs
Compatibilité d'un logiciel métier préciscelui qu'il exigecertains logiciels n'existent que d'un côté

Coûts réels : Windows Server vs Ubuntu Server

Windows Server 2022 StandardUbuntu Server 24.04 LTS
Licence OS≈ 634 € (16 cœurs) + CAL ≈ 38 €/posteGratuit
Support entrepriseinclus avec la licence + Software AssuranceUbuntu Pro ≈ 25 $/serveur/an (optionnel)
Mises à jour de sécuritéWindows Update (automatiques)sudo apt update && sudo apt upgrade
RAM minimum conseillée2 Go (512 Mo minimum)512 Mo (256 Mo minimum en mode serveur)
Interface par défautGUI (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.

0 sur 20 dans cette étape

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 :

  1. crée un dossier gsb-compare dans ton dossier personnel ;
  2. entre dedans ;
  3. crée un fichier rapport.txt contenant la ligne Système : ... (mets « Windows » ou « Linux ») ;
  4. affiche le contenu du fichier ;
  5. liste le dossier.
ÉtapePowerShellbash
1-2mkdir gsb-compare; cd gsb-comparemkdir gsb-compare && cd gsb-compare
3"Système : Windows" | Out-File rapport.txtecho "Système : Linux" > rapport.txt
4cat rapport.txtcat rapport.txt
5lsls

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 ?

0 sur 20 dans cette étape

Pour finir

Ton antisèche (à garder)

NotionWindowsLinux
Menu d'applisDémarrerActivités (touche Super)
Racine des fichiersC:\, D:\…/ (unique)
Dossier persoC:\Users\Nom/home/nom
Séparateur de chemin\/
Casse des nomsindifférentesensible
Installer un logiciel.exe / Storesudo apt install
Mettre tout à jourWindows Updatesudo apt update && sudo apt upgrade
Devenir adminUACsudo
Fichiers cachésattribut « caché »nom en . → ls -a
Écrire dans un fichierOut-Fileecho "..." > (ou >>)
Chercher dans un fichierSelect-Stringgrep
Voir les processusGestionnaire des tâchesps / top / htop
Arrêter un processusStop-Processkill PID
Changer les droitsonglet Sécuritéchmod

Vérifie tes acquis

  1. Quelle est la plus grosse différence d'organisation des fichiers entre Windows et Linux ?
  2. Pourquoi cd Documents peut échouer sous Linux mais jamais sous Windows ?
  3. Donne l'équivalent bash de Out-File et de cls.
  4. Comment installe-t-on un logiciel sous Linux, et pourquoi est-ce plus sûr ?
  5. Quel est l'équivalent Linux de l'UAC de Windows ?
  6. Quelle est la différence entre > et >> dans une redirection ?
  7. Un fichier script.sh refuse de se lancer (« Permission denied »). Quelle commande règle ça, et pourquoi ?
  8. Comment retrouves-tu le PID d'un programme, et comment l'arrêtes-tu, sous Linux ?
  9. Pour un serveur web, lequel choisis-tu et pourquoi ?
  10. Quelle différence entre kill PID et kill -9 PID ? Lequel utilises-tu en premier ?
  11. À quoi sert ss -tuln ? Que signifient les options -t, -u, -l, -n ?
  12. Tu crées un fichier .env avec 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.

Glossaire

MotDéfinition
Open sourcelogiciel dont le code (les « plans ») est public et modifiable
GNOMEle 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)
bashle terminal (shell) standard de Linux
Dépôt (repository)la bibliothèque officielle de logiciels installables via apt
root / sudole 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
grepchercher des lignes contenant un texte dans un fichier
Permission (rwx)droit de lire / écrire / exécuter, pour propriétaire, groupe, autres
chmodcommande qui change les droits (ex. chmod +x rend exécutable)
Processusun programme en train de tourner
PIDle numéro unique d'un processus (sert à l'arrêter)
killcommande qui arrête un processus à partir de son PID

TP terminé ?

Coche chaque livrable quand tu l'as : c'est la preuve que l'étape est acquise.

livrables
–
de série
–
Voir tous les TP