Merge pull request 'Apprendre : programme d'une semaine 3e / terminale et fiche terminal' (#18) from apprendre-linux-en-jouant into main

Reviewed-on: #18
This commit is contained in:
Cédric A5L 2026-10-22 08:30:17 +02:00
commit f0884d9a21
4 changed files with 454 additions and 0 deletions

40
docs/apprendre/index.md Normal file
View file

@ -0,0 +1,40 @@
---
description: Apprendre Linux en jouant — le site de jeux et de cours d'Alpinux, ses fiches de référence, et des programmes prêts à l'emploi pour animer une initiation.
---
# Apprendre Linux en jouant
Alpinux propose un site pour apprendre Linux par le jeu :
**[dynamic.alpinux.org](https://dynamic.alpinux.org)**. On y trouve des cours courts avec un
terminal d'essai intégré, des jeux (missions dans un terminal simulé, associations,
permissions) et des quiz. Rien à installer, et rien ne peut casser.
Cette rubrique du wiki en est le complément : les **fiches de référence**, à garder sous la
main ou à imprimer, et les **programmes** pour animer une initiation.
---
## Le parcours « Linux pour le DevOps »
| Étape | Cours | Jeu | Fiche |
|---|---|---|---|
| 1. L'arborescence | — | [Où range-t-on quoi ?](https://dynamic.alpinux.org/jeux/arborescence/) | — |
| 2. Le terminal | [Se repérer et se déplacer](https://dynamic.alpinux.org/cours/terminal-premiers-pas/) | [Premier jour sur le serveur](https://dynamic.alpinux.org/jeux/terminal-premiers-pas/) | [Le terminal](terminal-se-reperer.md) |
| 3. Les fichiers | — | [Préparer un déploiement](https://dynamic.alpinux.org/jeux/terminal-fichiers/) | — |
| 4. Les permissions | — | [rwx : le jeu des permissions](https://dynamic.alpinux.org/jeux/permissions/) | — |
| 5. Processus et système | — | [Sous le capot](https://dynamic.alpinux.org/jeux/noyau-processus/) | — |
| 6. Diagnostiquer | — | [Incident à 3 h du matin](https://dynamic.alpinux.org/jeux/terminal-incident/) | — |
Les cours et fiches manquants sont en cours de rédaction.
## Animer une initiation
- [Une semaine pour découvrir Linux — 3e et terminale](semaine-college-lycee.md) : cinq
journées sur Linux, le terminal, Bash, Python, Git et Forgejo, avec une enquête en fil rouge.
## Voir aussi
- [Apprendre à programmer en Python](../presentations/Python/README.md), le cours complet
pour débutants.
- [Le Git d'Alpinux](../guides/git-alpinux.md) : créer son compte sur la forge et y publier
son travail.

View file

@ -0,0 +1,300 @@
---
description: Programme d'une semaine d'initiation (5 jours de 6 h) pour des élèves de 3e et de terminale — Linux, terminal, Bash, Python, Git et Forgejo, avec une enquête en fil rouge.
---
# Une semaine pour découvrir Linux — 3e et terminale
Cinq journées de six heures pour faire découvrir à des élèves ce qui se cache derrière les
serveurs, les sites web et le code : **Linux, le terminal, Bash, Python, Git et la forge
Forgejo**. Le même déroulé sert pour les deux niveaux ; ce qui change, c'est la profondeur.
!!! warning "Brouillon à valider"
Ce programme est une première proposition. Les points encore ouverts sont listés en fin
de page, dans [À décider avant la semaine](#a-decider).
---
## Les principes
**Toujours dire pourquoi.** Chaque journée commence par la question à laquelle elle répond :
à quoi sert ce qu'on va apprendre, et quel problème cela règle. Une commande dont on ne
comprend pas l'utilité s'oublie dès le lendemain. Les encadrés **Pourquoi** de chaque journée
donnent ces réponses, à reformuler devant la classe.
**Alterner toutes les 45 minutes.** Une journée de 6 h devant un écran ne tient pas sans
changer de forme. Chaque demi-journée enchaîne un **cours court** (sur le site), un **jeu**,
de la **pratique sur un vrai terminal**, et si possible une **activité débranchée**.
**Un fil rouge : l'enquête.** Lundi matin, on découvre que le site du club informatique d'un
lycée imaginaire a été modifié pendant la nuit. Chaque après-midi, les élèves avancent dans
l'enquête **sur les vrais postes Linux de la salle**, avec les commandes apprises le matin.
Vendredi, une épreuve finale en équipes désigne le coupable et remet le site en état.
**Les outils :**
| Outil | Rôle |
|---|---|
| [dynamic.alpinux.org](https://dynamic.alpinux.org/jeux/) | Cours avec terminal d'essai intégré, jeux, quiz. Rien à installer. |
| Les postes Linux de la salle | La pratique pour de vrai, et l'enquête. |
| Ce wiki | Les fiches de référence, et ce programme. |
| [La forge d'Alpinux](../guides/git-alpinux.md) | Vendredi : publier son travail et collaborer. |
| Un carnet de bord papier | Une page par jour : ce que j'ai appris, une commande à retenir, une question. |
---
## Le déroulé type d'une journée
| Horaire | Durée | Activité |
|---|---|---|
| 9 h 00 | 15 min | Rappel de la veille : quiz éclair au tableau, ou une commande « mystère » à deviner |
| 9 h 15 | 45 min | Le pourquoi du jour, puis le cours sur le site, avec le terminal d'essai |
| 10 h 00 | 30 min | Jeu sur le site |
| 10 h 30 | 15 min | Pause |
| 10 h 45 | 75 min | Pratique sur le vrai terminal, en binômes |
| 12 h 00 | | Repas |
| 13 h 30 | 15 min | Activité débranchée, pour se remettre en route |
| 13 h 45 | 90 min | Enquête : le chapitre du jour |
| 15 h 15 | 15 min | Pause |
| 15 h 30 | 45 min | Approfondissement, différent selon le niveau |
| 16 h 15 | 15 min | Bilan et carnet de bord |
---
## Lundi — Linux et le terminal
**Objectif du jour :** savoir ce qu'est Linux, se repérer dans l'arborescence et s'y déplacer
au clavier.
!!! question "Pourquoi le terminal, alors qu'on a une souris ?"
- **Les serveurs n'ont pas d'écran.** Les machines qui font tourner les sites web, les
jeux en ligne ou les réseaux sociaux sont presque toutes sous Linux, dans des salles
sans écran ni souris. On les pilote à distance, en tapant des commandes.
- **Une commande se note, se copie, se répète.** Un clic ne s'écrit pas dans un tuto ; une
commande, si. On peut l'envoyer à quelqu'un, la relancer demain, ou la confier à un
script mercredi.
- **C'est la porte d'entrée de toute la semaine** : Bash, Python et Git s'utilisent depuis
le terminal.
- **Accueil (30 min)** : qui est Alpinux, ce qu'est un logiciel libre, où se trouve Linux
sans qu'on le voie : téléphones Android, box Internet, téléviseurs, serveurs, et les 500
supercalculateurs les plus puissants du monde.
- **Débranché — l'arbre humain** : chaque élève porte une étiquette de dossier (`/`, `home`,
`alex`, `etc`…) et tient l'épaule de son « parent ». Un élève-curseur se déplace selon les
commandes `cd` lancées par la classe. Chemins absolus et relatifs se comprennent dans
l'espace avant de se comprendre à l'écran.
- **Site** : jeu [Où range-t-on quoi ?](https://dynamic.alpinux.org/jeux/arborescence/), puis
cours [Le terminal : se repérer et se déplacer](https://dynamic.alpinux.org/cours/terminal-premiers-pas/)
et jeu [Premier jour sur le serveur](https://dynamic.alpinux.org/jeux/terminal-premiers-pas/).
- **Vrai terminal** : ouvrir un terminal (Ctrl + Alt + T), les trois défis de fin de cours,
explorer son dossier personnel. Fiche : [Le terminal](terminal-se-reperer.md).
- **Enquête, chapitre 1 — L'alerte** : le dossier de l'enquête apparaît sur les postes. Le
premier message est caché quelque part : `ls -a`, `cd`, `cat`.
| | 3e | Terminale |
|---|---|---|
| Approfondissement | Course d'orientation dans l'arborescence : trouver des fichiers à partir d'indices (« je suis un réglage du réseau… ») | Comment Linux démarre : noyau, `/boot`, `/proc`, PID 1 ; explorer `/proc/cpuinfo` et `/proc/meminfo` |
---
## Mardi — Fichiers, droits et recherche
**Objectif du jour :** créer, déplacer et supprimer des fichiers, comprendre les droits, et
retrouver une information dans une montagne de texte.
!!! question "Pourquoi des droits sur les fichiers ? Pourquoi chercher avec des commandes ?"
- **Linux est partagé.** Plusieurs personnes et plusieurs services utilisent la même
machine. Les droits empêchent un utilisateur de lire le courrier d'un autre, un site web
piraté de toucher au reste du système, et vous-même d'effacer par erreur un fichier
important.
- **On ne lit pas un journal de 50 000 lignes, on le filtre.** `grep` trouve en une
seconde la ligne qui compte. Enchaînées avec `|`, de petites commandes répondent à des
questions précises : combien d'erreurs ? quand ? venant d'où ?
- **Site** : jeu [Préparer un déploiement](https://dynamic.alpinux.org/jeux/terminal-fichiers/),
puis [rwx : le jeu des permissions](https://dynamic.alpinux.org/jeux/permissions/).
- **Vrai terminal** : `mkdir`, `cp`, `mv`, `rm`, les redirections `>` et `>>`, et un premier
éditeur de texte dans le terminal, **nano**.
- **Débranché — le pipe humain** : une file d'élèves se passe un paquet de cartes. Le premier
ne garde que les cartes rouges (`grep`), le suivant les trie (`sort`), le dernier les compte
(`wc -l`). C'est exactement ce que fait `|`.
- **Enquête, chapitre 2 — Les morceaux** : le message du pirate est découpé en plusieurs
fichiers à rassembler (`cat`, `>`), l'un d'eux est verrouillé (`chmod`), et un indice se
cache dans un long journal (`grep`).
| | 3e | Terminale |
|---|---|---|
| Approfondissement | Défi « ménage » : ranger un dossier en désordre dans des sous-dossiers par type de fichier | `find`, et les enchaînements `grep … \| sort \| uniq -c \| sort -n` sur un vrai journal |
---
## Mercredi — Bash : faire travailler l'ordinateur à sa place
**Objectif du jour :** écrire un script, c'est-à-dire une suite de commandes que l'on peut
relancer à volonté.
!!! question "Pourquoi écrire des scripts ?"
- **Ce qu'on tape deux fois, on l'écrit une fois.** Un script refait le même travail, dans
le même ordre, sans oubli ni faute de frappe, autant de fois qu'il le faut.
- **L'ordinateur travaille sans vous** : une sauvegarde à 3 h du matin, la vérification de
cent fichiers, la préparation de trente postes identiques.
- **Un script est une procédure écrite.** Il se relit, se corrige, se partage, et il dit
exactement ce qui a été fait.
- **Cours** : la ligne `#!/bin/bash`, `chmod +x`, les variables, `echo`, `read`, `if`, `for`.
- **Site** : jeu [Sous le capot](https://dynamic.alpinux.org/jeux/noyau-processus/) (ce qui
se passe quand on lance une commande) et, pour les terminales,
[Incident à 3 h du matin](https://dynamic.alpinux.org/jeux/terminal-incident/).
- **Débranché — le robot idiot** : un élève joue le robot qui exécute à la lettre un
« script » écrit par un autre groupe pour, par exemple, faire un sandwich. Les bugs
apparaissent tout seuls, et l'on comprend pourquoi un programme doit être précis.
- **Enquête, chapitre 3 — Le script du pirate** : un script laissé sur le serveur. Il faut
le lire sans le lancer, comprendre ce qu'il fait, puis décoder le message qu'il a chiffré.
En 3e, le décodage tient en une commande donnée par étapes ; en terminale, les élèves
écrivent le script de décodage eux-mêmes.
| | 3e | Terminale |
|---|---|---|
| Script du jour | Un quiz interactif en Bash avec `read` et `if`, à faire passer au voisin | Un script de sauvegarde qui prend des arguments (`$1`), vérifie les erreurs (`$?`) et date ses archives |
| Approfondissement | Commandes « pour le plaisir » si elles sont installées : `figlet`, `cowsay`, `sl` | Processus et signaux : `ps`, `kill`, `top` ; lien avec le thème « processus » de NSI |
---
## Jeudi — Python
**Objectif du jour :** écrire et lancer un programme Python depuis le terminal, puis s'en
servir comme outil.
!!! question "Pourquoi Python, puisqu'on a Bash ?"
- **Chaque outil a son terrain.** Bash est imbattable pour enchaîner des commandes et
manipuler des fichiers. Dès qu'il faut calculer, mémoriser des données, les trier
finement ou écrire un vrai programme, il devient pénible : Python est fait pour ça.
- **Python est partout** : l'analyse de données, l'intelligence artificielle, les sites
web, l'automatisation, les cartes électroniques. Et c'est le langage de la spécialité
NSI au lycée.
- **Le même problème, deux outils** : l'après-midi, on compte les connexions d'un journal
en Python, comme on l'a fait en Bash mardi. Comparer les deux, c'est apprendre à choisir.
Le wiki contient déjà un [cours complet de Python pour débutants](../presentations/Python/README.md) :
la journée s'appuie sur ses chapitres plutôt que de tout réécrire. Ce cours tutoie son
lecteur, à la différence du reste de ce programme.
- **Lancer Python** : l'interpréteur interactif `python3`, puis un fichier `.py` écrit avec
nano et lancé avec `python3 mon_programme.py`.
- **Enquête, chapitre 4 — Les traces** : un journal de connexions de plusieurs milliers de
lignes. Écrire un programme Python qui compte les connexions par adresse et par heure,
pour trouver quand le pirate est entré.
| | 3e | Terminale |
|---|---|---|
| Notions | Variables, `input`, conditions, boucles : chapitres [01](../presentations/Python/01-variables-types-operateurs.md), [02](../presentations/Python/02-conditions.md) et [03](../presentations/Python/03-boucles.md) | Fichiers, dictionnaires, CSV : chapitres [04](../presentations/Python/04-structures-de-donnees.md) et [07](../presentations/Python/07-fichiers-csv-json.md) |
| Projet | Le jeu « devine le nombre », puis des dessins avec `turtle` | Le comptage de mardi, réécrit en Python : comparer les deux approches |
!!! tip "Pour les élèves de terminale NSI"
Python est déjà leur langage. L'intérêt de la journée n'est pas d'apprendre la syntaxe,
mais de l'utiliser **hors de l'éditeur de l'école** : depuis le terminal, sur de vraies
données, avec la bibliothèque standard (`pathlib`, `csv`, `collections`).
---
## Vendredi — Git, Forgejo, et le dénouement
**Objectif du jour :** garder l'historique de son travail avec Git, le publier sur une forge,
et travailler à plusieurs sur le même code.
!!! question "Pourquoi Git en local, sur sa propre machine ?"
Git enregistre des **photos successives** d'un projet, appelées *commits*, chacune avec
sa date, son auteur et un message qui dit ce qui a changé et pourquoi. Tout se passe sur
votre ordinateur, sans réseau ni compte.
- **Fini `rapport_final_v3_vraiment_final.txt`.** Un seul fichier, et toutes ses versions
rangées dans l'historique.
- **On peut revenir en arrière.** Une modification a tout cassé ? On retrouve la dernière
version qui marchait, en une commande.
- **On sait ce qui a changé** entre deux versions (`git diff`), ligne par ligne, et
**pourquoi** grâce au message du commit.
- **On essaie sans risque.** Une idée hasardeuse se développe sur une *branche* à part ;
si elle ne donne rien, on l'abandonne sans avoir abîmé le reste.
!!! question "Pourquoi Git à distance, sur une forge ?"
Une forge comme Forgejo garde une copie du projet sur un serveur. On y **envoie** ses
commits (`git push`) et on **récupère** ceux des autres (`git pull`).
- **Une sauvegarde hors de sa machine.** Un disque qui lâche, un ordinateur perdu, un
poste de salle réinitialisé : le travail reste sur la forge.
- **Travailler à plusieurs sur le même projet.** Chacun travaille sur sa copie, puis Git
assemble les modifications, et signale quand deux personnes ont touché à la même ligne.
- **Faire relire avant d'intégrer.** Une *pull request* propose une modification : les
autres la lisent, la commentent, et ne l'acceptent qu'une fois convaincus. C'est ainsi
que se fait ce wiki.
- **Partager et publier.** Un dépôt public, c'est un projet que tout le monde peut lire,
réutiliser et améliorer : c'est le fonctionnement même du logiciel libre.
**Dans quel ordre ?** D'abord en local : on travaille, on fait des commits, on se trompe
et on corrige, sans rien montrer à personne. Ensuite seulement, on envoie sur la forge un
travail propre. Le local, c'est le brouillon daté ; la forge, c'est le classeur partagé.
- **Débranché — la machine à remonter le temps** : un texte écrit à plusieurs sur une feuille,
avec une photo prise à chaque étape. Revenir à la photo d'hier, c'est un `git checkout` ;
la pile de photos, c'est `git log`. Puis deux groupes modifient chacun leur copie de la
même phrase : c'est un conflit, qu'il faut régler en se parlant.
- **Git en local** : `git init`, `git add`, `git commit`, `git log`, `git diff`. Chacun
versionne les scripts et programmes écrits pendant la semaine.
- **Forgejo** : déposer ce travail sur la [forge d'Alpinux](../guides/git-alpinux.md), en
explorer l'interface web, et proposer une modification sur le dépôt d'un camarade.
- **Enquête, chapitre 5 — Le dénouement** : épreuve en équipes, chronométrée. Le site du club
est versionné avec Git, et c'est ce qui va trahir le coupable : chaque commit dit **qui** a
modifié **quoi** et **quand**. Il faut identifier le coupable, croiser avec les indices des
jours précédents, puis remettre le site en état en revenant à une version saine.
- **Clôture (45 min, à la place de l'approfondissement)** : remise des diplômes, ce qu'on
retient de la semaine, et la suite (réunions Alpinux, install parties, spécialité NSI).
| | 3e | Terminale |
|---|---|---|
| Forgejo | Modifier un fichier depuis l'interface web et ouvrir une pull request | Branches, pull request depuis le terminal, résolution d'un conflit provoqué exprès |
---
## Où en est la préparation
| Jour | Cours sur le site | Jeux sur le site | Enquête |
|---|---|---|---|
| Lundi | ✅ Le terminal | ✅ Où range-t-on quoi ?, Premier jour sur le serveur | à écrire |
| Mardi | à écrire : fichiers et droits, chercher et filtrer | ✅ Préparer un déploiement, rwx | à écrire |
| Mercredi | à écrire : Bash | ✅ Sous le capot, Incident à 3 h du matin | à écrire |
| Jeudi | le cours Python du wiki | à prévoir | à écrire |
| Vendredi | à écrire : Git local et Forgejo | à prévoir | à écrire |
L'enquête sera installée sur chaque poste par un script : un dossier par élève, avec les
fichiers, les journaux et le dépôt Git du site du club.
---
## Ce qu'il faut préparer
**Sur les postes**, à vérifier en amont :
- [ ] un terminal accessible aux élèves, et les commandes `git`, `python3`, `nano`, `tree` ;
- [ ] le paquet `python3-tk`, sans lequel le module `turtle` de Python ne fonctionne pas ;
- [ ] Git configuré avec un nom et une adresse pour chaque session
(`git config --global user.name` et `user.email`), sans quoi `git commit` refuse de
fonctionner. Pour des mineurs, un pseudonyme et une adresse fictive suffisent en local ;
- [ ] facultatif, pour le plaisir : `figlet`, `cowsay`, `sl` ;
- [ ] l'accès à `dynamic.alpinux.org` et à `gitea.alpinux.org` depuis le réseau de
l'établissement (certains filtres bloquent les forges) ;
- [ ] le dossier de l'enquête, installé par un script à lancer sur chaque poste.
**Pour la salle** : un vidéoprojecteur, des étiquettes et des cartes pour les activités
débranchées, un carnet de bord par élève, des diplômes à imprimer.
---
## À décider avant la semaine {#a-decider}
| Question | Pourquoi c'est important |
|---|---|
| **Les comptes Forgejo des élèves.** Comptes AlpID nominatifs, comptes anonymes de classe (`eleve01`, `eleve02`…), ou forge installée localement pour la semaine ? | Les élèves sont mineurs : la solution la plus simple côté données personnelles est celle des comptes anonymes, créés à l'avance et supprimés après la semaine. |
| **Les sessions sont-elles conservées d'un jour à l'autre ?** | Beaucoup de postes d'établissement effacent tout à la déconnexion. L'enquête et le travail de la semaine doivent survivre jusqu'au vendredi : sinon, prévoir une clé USB par binôme, ou s'appuyer plus tôt sur la forge. |
| **Le nombre d'élèves et de postes.** | Le travail en binômes demande un poste pour deux au minimum. |
| **La distribution installée et les droits.** Peut-on installer des paquets ? Les élèves ont-ils `sudo` ? | Sans droits d'installation, il faut vérifier toute la liste ci-dessus avant le lundi. |
| **Les horaires exacts** de l'établissement. | Le déroulé type se décale facilement, mais les pauses et le repas sont imposés. |
| **Les scores sur le site.** | Ils ne s'enregistrent qu'avec un compte AlpID. Sans compte, on peut faire un classement par équipe à la main, à partir des écrans de fin de partie. |

View file

@ -0,0 +1,110 @@
---
description: Fiche de référence du terminal Linux — l'invite, la forme d'une commande, l'arborescence, les chemins, et les commandes pwd, ls, cd et cat.
---
# Le terminal : se repérer et se déplacer
Fiche de référence. Pour apprendre pas à pas, avec un terminal d'essai intégré, suivre le
**[cours interactif](https://dynamic.alpinux.org/cours/terminal-premiers-pas/)**, puis le jeu
**[Premier jour sur le serveur](https://dynamic.alpinux.org/jeux/terminal-premiers-pas/)**.
---
## Ouvrir un terminal
| Système | Comment |
|---|---|
| Linux Mint, Ubuntu | **Ctrl + Alt + T**, ou « Terminal » dans le menu |
| Debian (GNOME) | Touche **Super**, puis taper « Terminal » |
Dans le terminal, **Ctrl + C n'est pas « copier »** : cette combinaison interrompt la
commande en cours. On copie avec **Ctrl + Maj + C** et on colle avec **Ctrl + Maj + V**.
## Lire l'invite
```
alex@srv-web01:~/projets$
```
| Morceau | Signification |
|---|---|
| `alex` | l'utilisateur connecté |
| `srv-web01` | le nom de la machine |
| `~/projets` | le dossier courant (`~` = dossier personnel) |
| `$` | utilisateur ordinaire — `#` signale l'administrateur (*root*) |
## La forme d'une commande
```
ls -l /etc
```
**Commande** (`ls`), puis **options** (`-l`), puis **arguments** (`/etc`), séparés par des
espaces. Les majuscules comptent. Les options courtes se combinent : `ls -l -a` = `ls -la`.
Une commande qui réussit n'affiche souvent rien. Une commande qui échoue affiche un message :
il faut le lire, il indique presque toujours la cause.
## L'arborescence
Tout part de la racine `/`. Les dossiers à connaître :
| Dossier | Contenu |
|---|---|
| `/home/<nom>` | les dossiers personnels |
| `/etc` | la configuration du système et des services |
| `/var/log` | les journaux |
| `/tmp` | les fichiers temporaires |
| `/usr/bin` | les programmes |
## Les chemins
| Chemin | Type | Part de… |
|---|---|---|
| `/home/alex/projets` | absolu | la racine : fonctionne de partout |
| `projets/site-web` | relatif | le dossier courant |
| Raccourci | Signification |
|---|---|
| `~` | dossier personnel |
| `.` | dossier courant |
| `..` | dossier parent |
| `-` | (avec `cd`) dossier précédent |
## Les commandes
| Commande | Effet |
|---|---|
| `pwd` | affiche le dossier courant |
| `ls` | liste le contenu du dossier courant |
| `ls dossier` | liste le contenu d'un autre dossier |
| `ls -a` | inclut les fichiers cachés (nom commençant par `.`) |
| `ls -l` | format détaillé : droits, propriétaire, groupe, taille, date |
| `cd dossier` | entre dans un dossier |
| `cd ..` | remonte d'un niveau |
| `cd` ou `cd ~` | revient au dossier personnel |
| `cd -` | revient au dossier précédent |
| `cat fichier` | affiche un fichier en entier |
| `less fichier` | parcourt un fichier page par page (`q` pour quitter) |
| `head fichier` / `tail fichier` | les 10 premières / dernières lignes |
| `man commande` | le manuel d'une commande (`q` pour quitter) |
| `history` | les commandes déjà tapées |
## Les raccourcis clavier
| Touche | Effet |
|---|---|
| **Tab** | complète un nom ; deux fois, liste les possibilités |
| **↑** / **↓** | parcourent l'historique |
| **Ctrl + C** | annule la commande ou la ligne en cours |
| **Ctrl + L** | efface l'écran |
| **Ctrl + R** | recherche dans l'historique |
## Les erreurs fréquentes
| Message | Cause probable | Réflexe |
|---|---|---|
| `Aucun fichier ou dossier de ce type` | ce nom n'existe pas ici : mauvais dossier courant, ou nom mal écrit | `pwd`, `ls`, puis **Tab** pour compléter |
| `commande introuvable` | faute de frappe, majuscule, ou programme non installé | relire ; `type commande` dit si elle existe |
| `Permission non accordée` | les droits ne le permettent pas | `ls -l` pour voir les droits |
| un nom avec espace « coupé en deux » | l'espace sépare les arguments | entourer de guillemets : `cat "mon fichier.txt"` |

View file

@ -111,6 +111,10 @@ nav:
- guides/sauvegardes.md - guides/sauvegardes.md
- guides/tesseract.md - guides/tesseract.md
- guides/ventoy.md - guides/ventoy.md
- Apprendre:
- apprendre/index.md
- Une semaine pour découvrir Linux: apprendre/semaine-college-lycee.md
- "Fiche : le terminal": apprendre/terminal-se-reperer.md
- Technique: - Technique:
- technique/deploiement-wiki.md - technique/deploiement-wiki.md
- technique/deploiement-dynamic.md - technique/deploiement-dynamic.md