_lsBuilder = {
ls_opt_a;
ls_opt_l;
ls_opt_h;
ls_opt_i;
let flags = "";
if (ls_opt_i) flags += "i";
if (ls_opt_l) flags += "l";
if (ls_opt_a) flags += "a";
if (ls_opt_h) flags += "h";
const cmd = flags ? `ls -${flags} ~` : "ls ~";
const term = aptitek.createTerminal("#ls-builder-terminal", { defaultPrompt: false, showCursor: false });
term.writeLine(`student@linux:~$ ${cmd}`, { type: "info" });
if (!ls_opt_l) {
let items = [];
if (ls_opt_a) {
items.push(ls_opt_i ? "131073 ." : ".");
items.push(ls_opt_i ? "131072 .." : "..");
items.push(ls_opt_i ? "131089 .bashrc" : ".bashrc");
items.push(ls_opt_i ? "131094 .ssh" : ".ssh");
}
items.push(ls_opt_i ? "131102 notes.txt" : "notes.txt");
items.push(ls_opt_i ? "131105 workspace" : "workspace");
term.writeLine(items.join(" "), { type: "success" });
} else {
const sizeRoot = ls_opt_h ? "4.0K" : "4096";
const sizeBash = ls_opt_h ? "3.7K" : "3771";
const sizeNotes = ls_opt_h ? "1.4M" : "1482910";
if (ls_opt_a) {
term.writeLine(`${ls_opt_i ? "131073 " : ""}drwxr-x--- 4 student student ${sizeRoot} nov. 2 13:00 .`, { type: "muted" });
term.writeLine(`${ls_opt_i ? "131072 " : ""}drwxr-xr-x 3 root root ${sizeRoot} oct. 15 09:00 ..`, { type: "muted" });
term.writeLine(`${ls_opt_i ? "131089 " : ""}-rw-r--r-- 1 student student ${sizeBash} nov. 2 12:45 .bashrc`, { type: "info" });
term.writeLine(`${ls_opt_i ? "131094 " : ""}drwx------ 2 student student ${sizeRoot} nov. 1 18:20 .ssh`, { type: "warning" });
}
term.writeLine(`${ls_opt_i ? "131102 " : ""}-rw-r--r-- 1 student student ${sizeNotes} nov. 2 13:55 notes.txt`, { type: "success" });
term.writeLine(`${ls_opt_i ? "131105 " : ""}drwxr-xr-x 5 student student ${sizeRoot} nov. 2 14:00 workspace`, { type: "success" });
}
invalidation.then(() => term.destroy());
}Arborescence & Standard FHS
Linux
Système & Réseau
Observer le système avec ls, comprendre l’arbre unique depuis la racine /, le standard FHS et la philosophie « Tout est fichier » (/dev et /proc).
Sous Windows, chaque périphérique de stockage reçoit une lettre indépendante (C:\, D:\, E:\). Sous GNU/Linux et les systèmes UNIX, l’approche est radicalement différente : il n’existe qu’un seul grand arbre inversé qui débute tout en haut par la racine /, l’unique dossier du système qui ne possède aucun dossier parent.
🔦 Observer son Environnement avec pwd et ls
Avant de parcourir l’arbre du système, deux commandes fondamentales permettent de se repérer et d’inspecter le contenu d’un répertoire :
# 1. Où suis-je actuellement ? (Print Working Directory)
pwd
# 2. Lister simplement le contenu du dossier personnel (~)
ls ~
# 3. Révéler les fichiers cachés (-a : all, tout fichier commençant par un point ".")
ls -a ~
# 4. Affichage détaillé en liste (-l : long listing format)
ls -l ~
# 5. Le combo magique : tout voir (-a), en détail (-l), avec des tailles lisibles (-h : Ko, Mo, Go)
ls -lah ~🧪 Simulateur Interactif : L’Effet des Options de ls
Activez ou désactivez les drapeaux (flags) de la commande ls pour observer comment la sortie s’enrichit dans votre terminal :
Constructeur Visuel de la Commande
ls
Sortie du Terminal
ls
🏛️ La Visite Guidée du Standard FHS (ls /)
Aux débuts d’Unix et de Linux, chaque créateur de distribution rangeait ses fichiers un peu où il voulait. Dans les années 1990, le standard FHS (Filesystem Hierarchy Standard) a posé des règles universelles afin que toutes les distributions (Ubuntu, Debian, Red Hat, Arch) partagent exactement la même géographie à partir de la racine /.
Cartographie Interactive de l’Arborescence FHS (
/)
Le cœur exécutable du système : /boot, /bin, /usr, /lib et /opt.
Les réglages système et les espaces privés : /etc, /home et /root.
Les journaux, les brouillons et les fichiers spéciaux du noyau : /var, /tmp, /dev et /proc.
🗂️ Dictionnaire Complet des Répertoires de la Racine /
| Dossier à la racine | Signification & Rôle officiel | La nuance du terrain (Monde réel) |
|---|---|---|
/boot |
Contient les fichiers vitaux du démarrage (noyau Linux, chargeur GRUB). | Alerte absolue : Ne jamais éditer ces fichiers manuellement, sinon le système ne démarre plus ! |
/bin & /sbin |
Binaries / System Binaries — Les commandes de base (ls, cp, bash). |
Sur les distributions modernes, ce sont de simples liens pointant directement vers /usr/bin et /usr/sbin. |
/etc |
Editable Text Configuration — Dossier d’administration et de configuration du système. | Tous les réglages (utilisateurs, réseau, services) y sont stockés en texte pur. Aucun programme exécutable ne s’y trouve. |
/home |
Home directories — Les appartements privés des utilisateurs standards (/home/student). |
Souvent placé sur une partition ou un disque dur séparé pour préserver les données utilisateurs lors d’une réinstallation. |
/root |
Le dossier personnel exclusif du super-utilisateur root. |
Séparé de /home pour que l’administrateur puisse toujours se connecter en urgence même si le disque /home est en panne ! |
/var |
Variable data — Données variables qui grossissent pendant que le serveur tourne. | Contient les journaux systèmes (/var/log), les bases de données, les mails et les caches applicatifs. |
/tmp |
Temporary files — Répertoire temporaire de travail. | Le brouillon ouvert à tous les utilisateurs et programmes. Il est automatiquement vidé au redémarrage de la machine. |
/usr & /lib |
Unix System Resources & Libraries — Ressources des programmes et bibliothèques partagées. | /usr héberge les logiciels installés via le gestionnaire de paquets (apt), et /lib leurs bibliothèques .so (équivalents des .dll Windows). |
/opt |
Optional — Logiciels tiers autonomes. | Réservé aux gros logiciels externes qui embarquent toutes leurs dépendances dans un seul dossier (ex: Chrome, Discord, outils métiers). |
/dev & /proc |
Devices & Processes — Périphériques matériels et informations temps réel du noyau. | Ce ne sont pas de vrais dossiers stockés sur le disque dur ! Ils incarnent le principe fondateur d’UNIX : « Tout est fichier ». |
⚠️ Pourquoi ne faut-il jamais toucher à
/boot ?
Le répertoire /boot abrite l’image compressée du noyau (vmlinuz), le disque RAM initial (initrd) et la configuration binaire du chargeur d’amorçage. Une modification manuelle hasardeuse dans ce dossier empêche la machine de charger le système d’exploitation lors de la mise sous tension.
🔮 La Philosophie « Tout est fichier » : /dev et /proc
Sous Linux, vous n’interagissez pas avec le matériel ou le noyau via des fenêtres propriétaires opaques : le système expose vos composants physiques et ses propres structures internes sous forme de fichiers virtuels que l’on peut lire ou écrire avec les commandes standards !
/dev : Les Périphériques & Fichiers Spéciaux
Chaque disque dur (/dev/sda), terminal (/dev/pts/0) ou périphérique est représenté par un fichier dans /dev. On y trouve aussi deux fichiers spéciaux célèbres :
/dev/null(Le Trou Noir) : Absorbe et détruit instantanément tout ce qu’on y écrit. Idéal pour faire taire les messages d’erreur indésirables :commande_bavarde 2> /dev/null/dev/random(et/dev/urandom) : Génère un flux infini d’octets aléatoires en récoltant le bruit matériel du système (entropie cryptographique).
/proc : Le Cerveau du Noyau en Direct
Le dossier /proc n’existe même pas sur votre disque dur : il est créé à la volée dans la mémoire RAM par le noyau Linux.
Lorsque vous lisez un fichier dans /proc, le noyau génère la réponse texte en temps réel :
# Inspecter le modèle exact et les cœurs de votre processeur
cat /proc/cpuinfo
# Vérifier la mémoire RAM libre et occupée à la microseconde près
cat /proc/meminfo🧪 Explorateur Interactif des Fichiers Virtuels (/proc et /dev)
Sélectionnez une commande d’inspection pour interroger directement les fichiers virtuels du noyau :
Sonde Temps Réel
/proc & /dev
Sortie du Noyau Linux