Prise en main de la ligne de commande (dans Linux)
Dans cette activité, tu vas découvrir les actions de base en ligne de commande dans un environnement Linux. L’objectif est de te rendre plus à l’aise avec le terminal, la navigation dans les dossiers, la manipulation de fichiers et l’observation de l’arborescence d’un projet.
Objectifs d’apprentissage
Section intitulée « Objectifs d’apprentissage »À la fin de cette activité, tu devrais être capable de :
- reconnaître les principaux éléments de l’environnement Linux ;
- utiliser le terminal pour exécuter des commandes simples ;
- afficher du texte avec
echoet écrire du contenu dans un fichier avec la redirection>; - créer, organiser et supprimer des fichiers et des dossiers ;
- utiliser différentes formes de
lspour explorer le contenu d’un répertoire ; - te déplacer dans l’arborescence avec des chemins relatifs et absolus ;
- faire le lien entre ces manipulations et l’organisation d’un projet de développement web.
Rappel : environnement Linux
Section intitulée « Rappel : environnement Linux »Un système Linux organise les fichiers dans une arborescence de dossiers (comme un arbre inversé).
Tout part d’un point central appelé la racine, représenté par /.
| Symbole | Signification | Explication |
|---|---|---|
/ | La racine du système | C’est le point de départ de toute l’arborescence. Tous les dossiers et fichiers du système se trouvent quelque part à partir d’ici. |
~ | Ton dossier personnel | C’est le dossier associé à ton utilisateur. Tu peux y créer, modifier et organiser tes fichiers sans affecter les autres parties du système. |
. | Le dossier courant | Représente le dossier dans lequel tu te trouves actuellement dans le terminal. Certaines commandes l’utilisent pour indiquer “ici”. |
.. | Le dossier parent | Représente le dossier situé un niveau au-dessus dans l’arborescence. Permet de remonter d’un niveau. |
Dans le terminal, tu tapes une commande, tu appuies sur Entrée, et le système exécute l’action demandée.
La commande echo
Section intitulée « La commande echo »La commande echo affiche du texte dans le terminal.
echo Bonjourecho "Bienvenue dans Linux"Combiné avec >, echo peut aussi écrire du contenu dans un fichier :
echo "<h1>Bonjour</h1>" > index.htmlLa commande cat
Section intitulée « La commande cat »La commande cat affiche le contenu d’un fichier dans le terminal. C’est le moyen le plus simple de vérifier ce qu’un fichier contient.
cat index.htmlNavigation
Section intitulée « Navigation »Dans le terminal, naviguer signifie se déplacer dans l’arborescence des dossiers.
pwd # afficher le dossier courant (où tu te trouves)cd nom_du_dossier # entrer dans un dossiercd .. # remonter au dossier parentcd ~ # retourner au dossier personnelcd / # aller à la racineObserver sa position et se repérer
Section intitulée « Observer sa position et se repérer »Avant de se déplacer, il est souvent utile de vérifier où l’on se trouve et ce que contient le dossier courant.
pwd # affiche le chemin complet du dossier courantls # affiche le contenu du dossier courantls -l # affiche les détails (droits, taille, date…)ls -a # affiche aussi les fichiers cachésls -R # affiche le contenu récursivement (sous-dossiers inclus)Ces commandes permettent de se situer dans l’arborescence avant de naviguer.
Pour se déplacer, on doit indiquer un chemin. Un chemin (path) est une suite de dossiers qui permet d’indiquer l’emplacement d’un fichier ou d’un dossier dans l’arborescence du système. Un chemin peut mener vers :
- un dossier
- un fichier
- une ressource à manipuler (ouvrir, modifier, supprimer, exécuter…)
Exemple :
/home/etudiant/cours/os/notes.txtCela veut dire :
/→ racine du systèmehome→ dossier dans la racineetudiant→ sous-dossier (danshome)cours→ sous-dossier (dansetudiant)os→ sous-dossier (danscours)notes.txt→ fichier (dansos)
Chemin relatif
Section intitulée « Chemin relatif »Un chemin relatif est exprimé par rapport au dossier courant.
cd css # entrer dans le sous-dossier csscd ../js # remonter d'un niveau, puis entrer dans jsIl est souvent plus court et plus rapide à écrire quand on travaille déjà dans la bonne zone.
Chemin absolu
Section intitulée « Chemin absolu »Un chemin absolu commence toujours par / et décrit l’emplacement (chemin) complet depuis la racine du système.
cd /home/labex/mon-site/jsIl fonctionne peu importe l’endroit où tu te trouves.
Création de dossiers et fichiers
Section intitulée « Création de dossiers et fichiers »On peut créer des dossiers et des fichiers directement depuis le terminal.
mkdir nom_du_dossier # créer un dossiermkdir css js images # créer plusieurs dossiersPour créer un fichier vide, on utilise souvent :
touch index.html # créer un fichier videtouch css/style.css # créer un fichier dans un sous-dossier (existant)Suppression de dossiers et fichiers
Section intitulée « Suppression de dossiers et fichiers »rm fichier.txt # supprimer un fichierrmdir dossier # supprimer un dossier viderm -r dossier # supprimer un dossier et tout son contenuL’option -r signifie récursif : le système parcourt tous les sous-dossiers.
Partie 1 : Découvrir l’environnement et les commandes de base
Section intitulée « Partie 1 : Découvrir l’environnement et les commandes de base »1. Explorer son environnement
Section intitulée « 1. Explorer son environnement »Ouvre ton environnement et repère la zone du terminal et ton dossier de travail.
Exécute :
pwdlsls -a2. Écrire du texte et créer du contenu
Section intitulée « 2. Écrire du texte et créer du contenu »Exécute les commandes suivantes et observe la différence :
echo "Bonjour le terminal"echo "<h1>Bienvenue</h1>" > bienvenue.htmllscat bienvenue.htmlNettoie ensuite :
rm bienvenue.html3. Créer et organiser des dossiers et fichiers
Section intitulée « 3. Créer et organiser des dossiers et fichiers »Crée un petit espace de travail temporaire :
mkdir labo-testcd labo-testmkdir docs imagestouch docs/notes.txtecho "Ceci est un test" > docs/notes.txtcat docs/notes.txtls -R4. Naviguer avec des chemins relatifs et absolus
Section intitulée « 4. Naviguer avec des chemins relatifs et absolus »Depuis le dossier labo-test, explore la navigation :
cd docspwdcd ..pwdcd imagespwdMaintenant, reviens au dossier labo-test en utilisant un chemin absolu. Affiche d’abord le chemin de ton dossier parent :
cd ..pwdPuis utilise ce chemin pour y revenir directement, par exemple :
cd /home/labex/labo-test5. Supprimer des fichiers et des dossiers
Section intitulée « 5. Supprimer des fichiers et des dossiers »Toujours dans labo-test, pratique la suppression :
rm docs/notes.txtls docsrmdir docsrmdir imageslscd ..rmdir labo-testEssaie maintenant de provoquer une erreur. Recrée un dossier avec du contenu et tente rmdir :
mkdir erreur-testtouch erreur-test/fichier.txtrmdir erreur-testObserve le message d’erreur, puis nettoie :
rm -r erreur-testPartie 2 : Créer la structure d’un portfolio
Section intitulée « Partie 2 : Créer la structure d’un portfolio »En utilisant uniquement le terminal (pas l’explorateur de fichiers),
reproduis la structure suivante dans un dossier nommé portfolio :
portfolio/├── index.html├── css/│ └── style.css├── js/│ └── script.js└── images/- Les fichiers
index.html,style.cssetscript.jsdoivent contenir au moins une ligne de contenu pertinent (utiliseecho >). - Vérifie le contenu de chaque fichier avec
cat.
Trace des commandes
Section intitulée « Trace des commandes »Bonus : et si on automatisait tout ça ?
Section intitulée « Bonus : et si on automatisait tout ça ? »Relis ta trace de commandes. Tu as probablement tapé une dizaine de commandes pour créer la structure du portfolio. Si tu devais recommencer demain pour un autre projet, il faudrait tout retaper.
Et si Linux pouvait exécuter toutes ces commandes d’un coup ?
C’est exactement ce que fait un script Bash — un fichier texte contenant une suite de commandes. Voici à quoi ressemblerait un script qui crée automatiquement la structure du portfolio :
#!/bin/bash
mkdir -p portfolio/css portfolio/js portfolio/images
echo '<html><head><title>Portfolio</title></head></html>' > portfolio/index.htmlecho 'body { margin: 0; font-family: sans-serif; }' > portfolio/css/style.cssecho 'console.log("Portfolio chargé");' > portfolio/js/script.js
echo "Structure créée :"ls -R portfolio-
#!/bin/bash— Cette ligne spéciale (appelée shebang) indique au système d’utiliser Bash pour exécuter ce fichier. Elle doit toujours être la première ligne d’un script. -
mkdir -p— Crée tous les dossiers d’un coup. L’option-pcrée aussi les dossiers parents si nécessaire :portfolio/est créé automatiquement en même temps que ses sous-dossiers. -
echo > index.html— Crée le fichierindex.htmlavec une ligne de contenu HTML. -
echo > style.css— Crée le fichierstyle.cssavec une règle CSS de base. -
echo > script.js— Crée le fichierscript.jsavec une instruction JavaScript. -
echo "Structure créée :"— Affiche un message de confirmation dans le terminal. -
ls -R portfolio— Affiche l’arborescence complète pour vérifier que tout a été créé correctement.