Aller au contenu
Réussir mon BTS SIO

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

Par exemple

TP1re année20 livrablesQuiz corrigé

Le terminal (PowerShell)

Arrête de tout faire à la souris. Tu vas piloter ton PC en tapant des commandes — comme un vrai technicien.

Par Josselyn C., prof de BTS SIO. Publié le , mis à jour le .

Objectif
naviguer, créer, copier, déplacer et supprimer des fichiers en ligne de commande
On manipule
ton poste Windows directement — rien à installer
Pré-requis
aucun. On part de « c'est quoi un terminal ? »
Pour qui
SLAM et SISR, 1re année
Durée
environ 5 h

Compétences : C1.1 Gérer le patrimoine informatique, C1.5 Mettre à disposition des utilisateurs un service informatique

Aucune commande de ce playbook n'est dangereuse. On s'entraîne dans un dossier à toi.

Avant de commencer

Pourquoi apprendre le terminal

Tu sais déjà cliquer dans Windows. Alors pourquoi taper des commandes ? Parce qu'un technicien qui maîtrise le terminal va 10 fois plus vite, peut automatiser ce qui est répétitif, et travaille sur des serveurs qui n'ont pas d'écran (donc pas de souris). C'est une compétence de base du métier — et c'est aussi le premier pas vers le code.

Ce que tu sauras faire à la fin

CommandeTu sauras…
Get-Location / Set-Locationsavoir où tu es, te déplacer entre les dossiers
Get-ChildItemlister ce qu'il y a dans un dossier
New-Itemcréer des dossiers et des fichiers
Copy-Item / Move-Itemcopier, déplacer et renommer
Get-Content / Remove-Itemlire un fichier, supprimer proprement

Comment travailler ce playbook (seul)

Trois touches « bizarres » que tu vas devoir taper

Avant de commencer, repère ces trois caractères sur ton clavier — sur un clavier français (AZERTY) ils ne sont pas évidents, et c'est le blocage n°1 des débutants :

SymboleNomComment le taper (clavier FR)
\antislash (barre oblique inversée)Alt Gr + 8 (la touche du 8 en haut)
|barre verticale (le « pipe »)Alt Gr + 6 (la touche du 6 en haut)
~tildeAlt Gr + 2, puis appuie sur Espace (sinon il ne s'affiche qu'avec la lettre suivante)

0. C'est quoi un terminal ?

Le terminal (aussi appelé « console » ou « ligne de commande ») est une fenêtre où tu écris des ordres à l'ordinateur, au lieu de cliquer. Tu tapes une commande, tu appuies sur Entrée, la machine l'exécute et te répond par du texte.

Sous Windows, le terminal moderne s'appelle PowerShell. C'est lui qu'on va utiliser.

Le vocabulaire qu'on va répéter

MotTraduction
Commandeun ordre que tu tapes (ex. « liste les fichiers »)
Dossier courantl'endroit où tu te trouves en ce moment dans l'arborescence
Chemin (path)l'adresse d'un fichier ou dossier, ex. C:\Users\toi\Documents
Argumentce qu'on donne à une commande pour préciser (ex. le nom du dossier à créer)

Quelle version de PowerShell as-tu ?

Windows est livré avec deux versions de PowerShell. Ce n'est pas la même chose, et ça change quelques comportements :

CaractéristiquePowerShell 5.1 (classique)PowerShell 7.x (moderne)
FenêtreFond bleu nuit, titre « Windows PowerShell »Fond noir, titre « PowerShell 7 »
Fourni avec WindowsOui (Windows 10 / 11)Non — à installer séparément
PromptPS C:\>PS C:\> (identique)
Encodage des fichiers créésUTF-16 LE avec BOM par défautUTF-8 par défaut
Compatibilité modulesExcellent (Windows .NET Framework)Excellent + multi-plateforme
Commande pour vérifier$PSVersionTable.PSVersion → affiche 5.1.x ou 7.x.x

PowerShell vs Invite de commandes (cmd) vs Bash — lequel utiliser ?

OutilSystèmePour quoiCommandes clés
PowerShellWindowsAdministration Windows, scripts, manipulation de fichiers, automationGet-ChildItem, Set-Location, Where-Object
cmd (Invite de commandes)WindowsScripts batch anciens, compatibilité logiciels legacy. À éviter pour un usage moderne.dir, copy, del
BashLinux / macOSServeurs web, scripts DevOps, Docker, tout ce qui tourne sur un serveurls, cd, grep, chmod

Où PowerShell est utilisé en vrai — l'échelle pro

PowerShell n'est pas un gadget de cours. En entreprise, c'est un outil de premier plan :

DomaineUsage concretGain réel par rapport aux clics
Sysadmin Windows / Active DirectoryCréer 200 comptes utilisateurs, réinitialiser des mots de passe en masse : New-ADUser3 h de clics → 30 s de script
Cloud Azure / Microsoft 365Gérer licences, boîtes mail, groupes de sécurité depuis le terminalPortail web inutilisable à cette échelle
Sécurité / auditLister les comptes sans mot de passe, repérer les fichiers modifiés la nuitAudit immédiat vs journées de travail manuel
DevOps / CI-CDScripts dans GitHub Actions, Azure Pipelines (build, test, déploiement automatiques)Zéro intervention humaine à chaque commit
Support / diagnostic terrainGénérer en une commande un rapport d'état complet du postePièce jointe au ticket en 5 s

1. Ouvrir PowerShell

On ouvre le terminal. C'est ta fenêtre de travail pour toute la séance.

Étape 1 — Lancer PowerShell

  1. Clique sur le bouton Démarrer (le logo Windows, tout en bas à gauche de l'écran).
  2. Sans cliquer ailleurs, tape directement au clavier le mot PowerShell : une zone de recherche apparaît et se remplit toute seule.
  3. Dans les résultats, clique sur Windows PowerShell (icône bleue avec >_).

Une fenêtre sombre (fond bleu nuit ou noir) s'ouvre, avec une ou deux lignes d'en-tête puis une ligne qui ressemble à ça :

Ce que tu dois voir
PS C:\Users\toi> _

C'est l'invite (le « prompt ») : l'endroit où tu vas taper. Le petit trait _ qui clignote est le curseur — il indique que la machine t'attend.

Flag A1

Checkpoint

Regarde ton dossier courant (le chemin après PS). Rends : recopie-le exactement (ex. C:\Users\marc).

0 sur 20 dans cette étape

2. « Où suis-je ? »

La toute première question dans un terminal : dans quel dossier suis-je ? La commande répond.

powershell
Get-Location

Appuie sur Entrée. Tu vois :

Ce que tu dois voir
Path
----
C:\Users\toi

Flag A2

Checkpoint

Tape pwd. Rends : le chemin obtenu est-il le même qu'avec Get-Location ? (oui / non)

0 sur 20 dans cette étape

3. « Qu'y a-t-il ici ? »

Maintenant, listons ce que contient le dossier courant.

powershell
Get-ChildItem

Tu obtiens une liste, par exemple :

Ce que tu dois voir
    Répertoire : C:\Users\toi

Mode      LastWriteTime     Length Name
----      -------------     ------ ----
d-----    12/09/2026 09:14         Documents
d-----    12/09/2026 09:14         Bureau
-a----    10/09/2026 16:02    1024  notes.txt

Décoder la colonne Mode — le détail que les pros lisent

La colonne Mode contient jusqu'à 6 lettres. Chaque position a un sens précis :

PositionLettreSignificationExemple concret
1dDirectory (dossier)d----- = dossier normal
1-Fichier ordinaire-a---- = fichier normal
2aArchive (modifié depuis la dernière sauvegarde)Présent sur presque tous les fichiers courants
3rRead-only (lecture seule)-ar--- = fichier protégé en écriture
4hHidden (caché — non visible par défaut)d--h-- = dossier caché
5sSystem (fichier système)--rhs- = fichier système protégé
6lLink (lien symbolique)l----- = raccourci/alias vers un autre fichier

Voir les fichiers cachés

Par défaut, ls masque les fichiers et dossiers dont le Mode contient h (hidden). Pour tout afficher :

bash
ls -Force
Ce que tu dois voir
Mode      LastWriteTime     Length Name
----      -------------     ------ ----
d--h--    12/09/2026 09:14         AppData
d-----    12/09/2026 09:14         Documents
-a----    10/09/2026 16:02    1024  notes.txt

Flag A3

Checkpoint

Tape ls dans ton dossier personnel. Rends : combien d'éléments de type dossier (Mode commençant par d) vois-tu ?

0 sur 20 dans cette étape

4. Se déplacer

On va entrer dans un dossier, puis en ressortir. C'est comme ouvrir un dossier d'un double-clic, mais en commande.

Entrer dans un dossier

powershell
Set-Location Documents

Regarde l'invite : elle a changé, tu es maintenant dans Documents :

Ce que tu dois voir
PS C:\Users\toi\Documents> _

Remonter d'un cran

powershell
Set-Location ..

Revenir vite en arrière : Push-Location et Pop-Location

Imagine que tu travailles dans un dossier profond, tu dois aller vite ailleurs, puis revenir exactement là où tu étais :

Push-Location C:\Windows\System32
# ... tu fais ce que tu as à faire dans System32 ...
Pop-Location
Ce que tu dois voir
PS C:\Users\toi\Documents\labo-terminal> _     # retour automatique

Flag A4

Checkpoint

Entre dans Documents (cd Documents), vérifie avec pwd, puis reviens en arrière (cd ..). Rends : le chemin affiché par pwd quand tu étais dans Documents.

0 sur 20 dans cette étape

5. Créer ton dossier de travail

Pour t'entraîner sans toucher à tes vrais fichiers, on crée un dossier rien que pour ce playbook.

Étape 1 — Va dans Documents

powershell
cd ~\Documents

Étape 2 — Crée le dossier

powershell
New-Item -ItemType Directory -Name labo-terminal

PowerShell confirme la création :

Ce que tu dois voir
    Répertoire : C:\Users\toi\Documents

Mode      LastWriteTime     Length Name
----      -------------     ------ ----
d-----    12/09/2026 10:30         labo-terminal

Étape 3 — Entre dedans

powershell
cd labo-terminal

Tu es maintenant dans ton terrain de jeu :

Ce que tu dois voir
PS C:\Users\toi\Documents\labo-terminal> _

Flag B1

Production

Dans labo-terminal, crée deux sous-dossiers : brouillons et final. Rends : les deux commandes que tu as tapées, et le résultat de ls qui montre les deux dossiers.

0 sur 20 dans cette étape

6. Créer un fichier & écrire dedans

On crée un fichier texte et on y met du contenu, sans jamais ouvrir le Bloc-notes.

Écrire du texte dans un fichier

"Ma première note depuis le terminal" | Out-File note.txt

Rien ne s'affiche, et c'est normal : le texte n'est pas allé à l'écran, il est parti dans le fichier grâce au tuyau. Pas de message = ça a marché. Vérifie que le fichier existe bien avec ls :

Ce que tu dois voir
-a----    12/09/2026 10:42      42  note.txt

Flag B2

Production

Crée un fichier moi.txt contenant ton prénom et ton groupe (ex. "Marc - SIO1A"). Rends : la commande utilisée.

0 sur 20 dans cette étape

7. Lire un fichier

Pour voir le contenu d'un fichier sans l'ouvrir dans une fenêtre :

powershell
Get-Content note.txt

Le contenu s'affiche directement dans le terminal :

Ce que tu dois voir
Ma première note depuis le terminal

Flag A5

Checkpoint

Lis ton fichier moi.txt (du Flag B2). Rends : la commande, et confirme que le contenu affiché est bien ton prénom + groupe.

0 sur 20 dans cette étape

8. Copier

Faire une copie d'un fichier (l'original reste, on obtient un duplicata).

powershell
Copy-Item note.txt note-copie.txt

Vérifie avec ls : tu as maintenant les deux fichiers.

Ce que tu dois voir
-a----   ...   note.txt
-a----   ...   note-copie.txt

Copier dans un sous-dossier

powershell
Copy-Item note.txt brouillons\note.txt

Flag B3

Production

Copie ton fichier moi.txt dans le dossier final. Rends : la commande, puis le ls final qui prouve que la copie est arrivée.

0 sur 20 dans cette étape

9. Déplacer & renommer

Déplacer = changer un fichier d'endroit (l'original ne reste pas). Renommer = lui donner un autre nom. C'est la même commande.

Déplacer

powershell
Move-Item note-copie.txt brouillons\

Renommer

powershell
Move-Item note.txt note-finale.txt

Flag B4

Production

Renomme ton moi.txt en fiche-eleve.txt. Rends : la commande, et le ls qui montre le nouveau nom.

0 sur 20 dans cette étape

10. Supprimer

La commande la plus puissante… et la plus dangereuse. À manier avec attention.

powershell
Remove-Item note-copie.txt

Rien ne s'affiche : le fichier a disparu. Vérifie avec ls — il n'est plus là.

Flag C1

Manipulation

Crée un fichier test-suppr.txt, vérifie qu'il existe (ls), supprime-le, vérifie qu'il a disparu (ls). Rends : les commandes dans l'ordre, et une phrase : pourquoi faut-il être prudent avec Remove-Item ?

0 sur 20 dans cette étape

11. Les chemins : absolus, relatifs & jokers

Jusqu'ici tu as donné des noms simples (Documents). Mais on peut désigner n'importe quel fichier où qu'on soit — il faut comprendre les chemins.

Chemin relatif vs chemin absolu

TypeExempleVeut dire
Relatifbrouillons\note.txtà partir d'où je suis maintenant
AbsoluC:\Users\toi\Documents\labo-terminal\brouillons\note.txtl'adresse complète, valable de partout

Les jokers (wildcards)

Le caractère * remplace « n'importe quoi ». Très puissant pour agir sur plusieurs fichiers d'un coup.

bash
ls *.txt
Ce que tu dois voir
-a----   ...   note.txt
-a----   ...   moi.txt

Flag A6

Checkpoint

Affiche le chemin absolu de ton dossier labo-terminal (avec pwd dedans), puis liste uniquement les fichiers .txt. Rends : le chemin absolu + la commande de filtrage.

0 sur 20 dans cette étape

12. Explorer en profondeur

Un dossier peut contenir des sous-dossiers, eux-mêmes pleins de fichiers. Comment tout voir d'un coup ?

Descendre dans tous les sous-dossiers

bash
ls -Recurse
Ce que tu dois voir
    Répertoire : C:\Users\toi\Documents\labo-terminal
d-----  ...  brouillons
d-----  ...  final
-a----  ...  note.txt

    Répertoire : ...\labo-terminal\brouillons
-a----  ...  note.txt

Trier le résultat

bash
ls | Sort-Object Length

Flag A7

Checkpoint

Liste récursivement labo-terminal (ls -Recurse). Rends : combien de fichiers note.txt apparaissent en tout (compte ceux des sous-dossiers) ?

0 sur 20 dans cette étape

13. Chercher un fichier ou du texte

Le terminal brille quand il faut retrouver quelque chose dans des centaines de fichiers.

Retrouver un fichier par son nom

bash
ls -Recurse -Filter moi.txt

Chercher du TEXTE dans des fichiers

C'est l'équivalent du célèbre grep de Linux : trouver dans quels fichiers apparaît un mot.

powershell
Select-String -Path *.txt -Pattern "SIO1A"
Ce que tu dois voir
moi.txt:1:Marc - SIO1A

Aller plus loin avec Select-String — les options que les pros utilisent

OptionRôleExemple concret
-CaseSensitiveDistingue majuscules/minuscules (désactivé par défaut)Select-String -Path *.txt -Pattern "Marc" -CaseSensitive → trouve « Marc » mais PAS « marc »
-SimpleMatchCherche la chaîne littérale (désactive les regex)Utile pour chercher un point . sans qu'il signifie « n'importe quel caractère »
-AllMatchesToutes les occurrences par ligne, pas seulement la 1reSi un mot apparaît 3 fois sur la même ligne, les 3 sont signalées
-ListN'affiche que les noms de fichiers contenant le motifSelect-String -Path *.log -Pattern "ERREUR" -List
-Context N,MAffiche N lignes avant et M lignes après la correspondance-Context 2,1 → 2 lignes de contexte avant, 1 après — comme grep -B2 -A1

Exemple travaillé — trouver une erreur dans des journaux

Scénario réel : tu viens de diagnostiquer un poste. Il y a 15 fichiers .log dans le dossier. Tu veux savoir quels fichiers contiennent le mot « ERREUR » :

powershell
Select-String -Path ".\*.log" -Pattern "ERREUR" -List
Ce que tu dois voir
journal-2026-09-12.log
journal-2026-09-14.log

Flag D2

Investigation

Cherche dans tous tes .txt le mot de ton groupe (ex. SIO1A). Rends : la commande, et le nom du/des fichier(s) où il a été trouvé.

0 sur 20 dans cette étape

14. Combiner : la puissance du pipe

Tu l'as déjà croisé (|). C'est LE super-pouvoir du terminal : brancher des commandes bout à bout, chacune affinant le résultat de la précédente.

Compter

bash
ls | Measure-Object
Ce que tu dois voir
Count    : 3

Filtrer puis compter

bash
ls | Where-Object { $_.Mode -like "d*" } | Measure-Object

Visualiser la chaîne de montage

Le principe du pipe devient plus clair avec un schéma. Chaque commande reçoit des objets, en traite certains et envoie le résultat à la suivante :

Chaque | est un tapis roulant : ls sort les pièces, Where-Object trie, Measure-Object compte.

Chaque | est un tapis roulant : ls sort les pièces, Where-Object trie, Measure-Object compte.

Opérateurs de comparaison : la boîte à outils de Where-Object

Opérateur PSSignificationExemple
-eqégal à{ $_.Length -eq 0 } → fichiers vides
-nedifférent de{ $_.Name -ne "readme.txt" }
-gt / -ltsupérieur / inférieur{ $_.Length -gt 1024 } → > 1 Ko
-likecorrespond à un motif joker (*){ $_.Name -like "*.txt" }
-matchcorrespond à une expression régulière{ $_.Name -match "^\d{4}" } → commence par 4 chiffres

ForEach-Object — appliquer une action à chaque élément

Après avoir filtré, on veut souvent faire quelque chose avec chaque résultat — pas juste les compter. C'est le rôle de ForEach-Object (alias court : %) :

bash
ls *.txt | ForEach-Object { Write-Output "Fichier : $($_.Name) — $($_.Length) octets" }
Ce que tu dois voir
Fichier : fiche-eleve.txt — 12 octets
Fichier : note-finale.txt — 37 octets

Exemple travaillé — rapport de taille en kilo-octets

Cas concret : tu veux lister les fichiers de plus de 500 octets avec leur taille arrondie en Ko (1 Ko = 1 024 octets) :

ls -Recurse | Where-Object { $_.Length -gt 500 } | ForEach-Object {
    $ko = [Math]::Round($_.Length / 1024, 1)
    Write-Output "$($_.Name) : $ko Ko"
}
Ce que tu dois voir
rapport-2026-09-12.txt : 1.2 Ko
liste.txt : 0.9 Ko

Flag B5

Production

Écris UNE seule ligne (avec des |) qui compte le nombre de fichiers (Mode commençant par -) dans ton dossier. Rends : ta commande et le Count obtenu. Indice : -like "-*".

0 sur 20 dans cette étape

15. Les variables : le terminal est aussi un langage

PowerShell n'est pas qu'une liste de commandes : c'est un vrai langage. Première brique : les variables (des boîtes où ranger une valeur).

$nom = "labo-terminal"

Maintenant réutilise-la partout :

powershell
cd ~\Documents\$nom

Les types de données — ce que peut contenir une variable

TypeExempleCe que ça fait
Texte ([string])$nom = "Marc"Chaîne de caractères. Guillemets obligatoires.
Entier ([int])$annee = 2026Nombre entier. Pas de guillemets.
Décimal ([double])$note = 18.5Point (pas virgule) comme séparateur décimal.
Booléen ([bool])$actif = $trueVrai ou faux. PS fournit $true et $false.
Tableau ([array])$classes = "SIO1A","SIO1B"Plusieurs valeurs dans une boîte.
Null ($null)$x = $null« Rien » — variable vide.

String interpolation — mettre une variable dans du texte

C'est la fonctionnalité la plus utilisée en pratique : inclure la valeur d'une variable à l'intérieur d'une phrase.

$prenom = "Marc"
$groupe = "SIO1A"
Write-Output "Bonjour, je suis $prenom du groupe $groupe !"
Ce que tu dois voir
Bonjour, je suis Marc du groupe SIO1A !

Méthodes sur les chaînes — ce qu'on peut faire avec du texte

En PowerShell, une chaîne n'est pas un texte passif : elle a des méthodes (des actions) que tu appelles avec un point. Syntaxe : $variable.Méthode().

MéthodeCe qu'elle faitExempleRésultat
.LengthNombre de caractères"SIO1A".Length5
.ToUpper()Tout en majuscules"marc".ToUpper()MARC
.ToLower()Tout en minuscules"SIO".ToLower()sio
.Trim()Supprime espaces début/fin" bonjour ".Trim()bonjour
.Contains("x")Contient ce texte ? (True/False)"SIO1A".Contains("1")True
.Replace("a","b")Remplace a par b partout"SIO1A".Replace("1","2")SIO2A
.Split(",")Découpe en tableau selon un séparateur"a,b,c".Split(",")tableau : a / b / c
.StartsWith("x")Commence par x ? (True/False)"rapport-2026.txt".StartsWith("rapport")True
.Substring(i, n)Extrait n caractères à partir de la position i (débute à 0)"2026-09-12".Substring(0,4)2026
.IndexOf("x")Position de la 1re occurrence de x (−1 si absent)"SIO1A".IndexOf("1")3

Exemple travaillé — construire un nom de fichier propre

$utilisateur = $env:USERNAME
$date = Get-Date -Format "yyyy-MM-dd"
$nomFichier = ("rapport-" + $utilisateur + "-" + $date + ".txt").ToUpper()
Write-Output $nomFichier
Ce que tu dois voir
RAPPORT-MARC-2026-09-12.TXT

Arithmétique — PowerShell comme calculatrice

Opérateur / méthodeOpérationExempleRésultat
+ - * /Opérations de base100 / 425
%Modulo (reste de division entière)10 % 31
[Math]::Pow(x, y)Puissance x exposant y[Math]::Pow(2, 10)1024
[Math]::Round(x, d)Arrondi à d décimales[Math]::Round(3.14159, 2)3.14
[Math]::Abs(x)Valeur absolue[Math]::Abs(-42)42

Exemple concret : convertir des octets en méga-octets (1 Mo = 1 048 576 octets = 1 024 × 1 024) :

$octets = 5242880    # 5 Mo en octets
$mo = [Math]::Round($octets / 1048576, 1)
Write-Output "$mo Mo"
Ce que tu dois voir
5 Mo

Flag B6

Production

Crée une variable $moi contenant ton prénom, puis affiche-la avec Write-Output $moi (ou simplement $moi). Rends : les deux lignes et ce qui s'affiche.

0 sur 20 dans cette étape

16. Mini-projet : ranger un dossier en bazar

On mobilise tout ce que tu sais. Scénario : un dossier recu où des fichiers traînent en vrac. Mission : le ranger proprement, en commandes.

Étape 1 — Fabrique le bazar

cd ~\Documents\labo-terminal
mkdir recu
"facture 1" | Out-File recu\facture1.txt
"facture 2" | Out-File recu\facture2.txt
"photo" | Out-File recu\vacances.jpg.txt
"note" | Out-File recu\todo.txt

Étape 2 — Range

À toi de jouer, en t'appuyant sur ton antisèche :

  1. Dans recu, crée trois sous-dossiers : factures, medias, notes.
  2. Déplace les deux factures dans factures (joker : facture*.txt).
  3. Déplace le fichier média dans medias.
  4. Déplace la note dans notes.
  5. Vérifie le rangement avec ls -Recurse.

Flag B7

Mini-projet (production)

Réalise le rangement. Rends : la suite de commandes utilisées (étape 2) + le résultat final de ls -Recurse qui montre chaque fichier dans le bon dossier.

0 sur 20 dans cette étape

17. Agir sans risque

Un bon technicien vérifie avant d'agir, surtout pour les opérations qui détruisent. Deux outils pour ça.

Vérifier qu'un fichier existe — Test-Path

powershell
Test-Path note.txt
Ce que tu dois voir
True

Prévisualiser une suppression — sans rien supprimer

powershell
Remove-Item *.txt -WhatIf
Ce que tu dois voir
Confirmer
Opération « Supprimer le fichier » sur la cible « ...\note.txt ».
Opération « Supprimer le fichier » sur la cible « ...\moi.txt ».

Flag A8

Checkpoint

Vérifie l'existence de fiche-eleve.txt (Test-Path), puis prévisualise (avec -WhatIf) la suppression de tous les .txt de ton dossier. Rends : la réponse de Test-Path (True/False) et la liste annoncée par -WhatIf.

0 sur 20 dans cette étape

18. Rediriger & accumuler

On peut envoyer la sortie d'une commande dans un fichier au lieu de l'écran. Très utile pour garder une trace.

Rediriger (remplace) — >

bash
ls > liste.txt

Rien à l'écran : c'est parti dans le fichier. Vérifie :

powershell
Get-Content liste.txt
Ce que tu dois voir
brouillons
final
fiche-eleve.txt
...

Ajouter à la fin (sans écraser) — >>

"--- fin de la liste ---" >> liste.txt

Flag B8

Production

Écris la liste récursive de labo-terminal dans un fichier rapport.txt (ls -Recurse > rapport.txt), puis ajoute une ligne « Rapport établi par <ton nom> » à la fin. Rends : les deux commandes et le contenu final lu avec cat rapport.txt (les premières lignes suffisent).

0 sur 20 dans cette étape

19. Aller un peu plus loin

Trois commandes bonus que les techniciens utilisent tous les jours.

La date & l'heure

powershell
Get-Date
Ce que tu dois voir
samedi 12 septembre 2026 11:48:20

Qui suis-je, sur quelle machine ?

$env:USERNAME
$env:COMPUTERNAME
Ce que tu dois voir
marc
POSTE-SALLE-204

Renommer en s'appuyant sur un motif

powershell
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace ".txt", ".bak" }

Formater la date — pour les rapports et noms de fichiers

powershell
Get-Date -Format "yyyy-MM-dd"
FormatRésultat exempleUsage typique
yyyy-MM-dd2026-09-12Noms de fichiers (tri alphabétique = tri chronologique)
HH:mm:ss10:48:32Horodatage dans un log
yyyy-MM-dd_HH-mm2026-09-12_10-48Nom de fichier de sauvegarde avec heure
dddd dd MMMM yyyysamedi 12 septembre 2026Affichage lisible dans un rapport

Pratique courante : créer un fichier dont le nom contient la date automatiquement :

$date = Get-Date -Format "yyyy-MM-dd"
ls -Recurse > "rapport-$date.txt"
Ce que tu dois voir
rapport-2026-09-12.txt

Trouver une commande — Get-Command

Tu cherches une commande mais tu ne te souviens pas de son nom exact ? PowerShell peut chercher par verbe ou par nom :

powershell
Get-Command -Verb "Get"
powershell
Get-Command -Noun "Item"

Voir les processus en cours — Get-Process

powershell
Get-Process
Ce que tu dois voir
NPM(K)   PM(M)   WS(M) CPU(s) Id     ProcessName
------   -----   ----- ------ --     -----------
     5    3.22    8.40   0.09   1234  notepad
    12   45.10  102.30   3.20   5678  chrome

Pour chercher un programme spécifique (ex. Chrome) :

powershell
Get-Process chrome

Flag D3

Investigation

Affiche ton identifiant de session et le nom de ton poste ($env:USERNAME, $env:COMPUTERNAME). Rends : les deux valeurs — elles iront dans la fiche d'intervention d'une vraie séance support.

0 sur 20 dans cette étape

20. Réflexes & demander de l'aide

BesoinCommande
Nettoyer l'écran (sans rien supprimer)Clear-Host (alias cls)
Rappeler la commande précédenteflèche Haut ↑ du clavier
Compléter un nom automatiquementtouche Tab
Arrêter une commande qui tourneCtrl + C
Demander de l'aide sur une commandeGet-Help Copy-Item

Flag D1

Investigation

Tape Get-Help Get-ChildItem -Examples. Rends : recopie un exemple d'utilisation que tu n'avais pas encore vu, et explique en une phrase ce qu'il fait.

0 sur 20 dans cette étape

Pour finir

Ton antisèche (à garder)

Je veux…Commande (alias)Commande complète
savoir où je suispwdGet-Location
lister le dossierls / dirGet-ChildItem
voir fichiers cachésls -ForceGet-ChildItem -Force
entrer dans un dossiercd nomSet-Location nom
remonter d'un crancd ..Set-Location ..
mémoriser ma position / y revenirpushd / popdPush-Location / Pop-Location
créer un dossiermkdir nomNew-Item -ItemType Directory -Name nom
écrire dans un fichier (UTF-8)—"texte" | Out-File f.txt -Encoding UTF8
ajouter à la fin d'un fichier"texte" >> f.txt"texte" | Out-File f.txt -Append
lire un fichiercat f.txtGet-Content f.txt
copier un fichiercp src destCopy-Item src dest
déplacer / renommermv src destMove-Item src dest
supprimer (définitif !)rm f.txtRemove-Item f.txt
prévisualiser une suppression—Remove-Item *.txt -WhatIf
vérifier qu'un fichier existe—Test-Path f.txt
chercher du texte dans des fichiers—Select-String -Path *.txt -Pattern "mot"
compter / stats—ls | Measure-Object
filtrer par propriété—ls | Where-Object { $_.Mode -like "d*" }
trier les résultats—ls | Sort-Object Length
connaître la date/heure—Get-Date -Format "yyyy-MM-dd"
lister les processus—Get-Process
chercher une commande—Get-Command -Verb "Get"
aide sur une commande—Get-Help Copy-Item -Examples
nettoyer l'écranclsClear-Host

Vérifie tes acquis

Exercice Réussi À revoir

  1. Quelle commande affiche le dossier dans lequel tu te trouves ?
  2. Que signifie .. dans cd .. ?
  3. À quoi sert le « tuyau » | ?
  4. Quelle est la différence entre copier (cp) et déplacer (mv) ?
  5. Pourquoi faut-il être prudent avec rm (Remove-Item) ?
  6. Comment compléter automatiquement un nom de dossier en tapant ?
Voir le corrigéMasquer le corrigé de l'exercice
  1. pwd (alias) ou Get-Location.
  2. .. désigne le dossier parent : un niveau au-dessus de là où tu es. cd .. remonte d'un cran.
  3. Le pipe | envoie la sortie d'une commande comme entrée d'une autre, sans passer par un fichier. Ex. : ls | Measure-Object compte les éléments.
  4. Copier (cp) laisse l'original en place et crée un double. Déplacer (mv) supprime l'original et le pose ailleurs (ou le renomme).
  5. Parce que rm supprime sans corbeille ni confirmation : un fichier supprimé par erreur est définitivement perdu (sauf sauvegarde). Il faut toujours vérifier avec ls et -WhatIf avant.
  6. La touche Tab complète automatiquement un nom de fichier ou dossier. Si plusieurs choix existent, appuie plusieurs fois sur Tab pour les parcourir.

Tu avais trouvé ?

Glossaire

MotDéfinition
Terminal / PowerShellla fenêtre où l'on tape des commandes pour piloter la machine
Dossier courantl'endroit où l'on se trouve dans l'arborescence
Cheminl'adresse d'un fichier/dossier (ex. C:\Users\toi\Documents)
Aliasun raccourci pour une commande (ls = Get-ChildItem)
Argumentce qu'on donne à une commande pour préciser
Pipe |« tuyau » qui envoie la sortie d'une commande vers une autre
~raccourci pour ton dossier personnel
..le dossier parent (juste au-dessus)

TP terminé ?

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

livrables
–
quiz réussi
–
de série
–
Voir tous les TP