Aller au contenu

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.

À 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 echo et écrire du contenu dans un fichier avec la redirection > ;
  • créer, organiser et supprimer des fichiers et des dossiers ;
  • utiliser différentes formes de ls pour 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.

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

SymboleSignificationExplication
/La racine du systèmeC’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 personnelC’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 courantReprésente le dossier dans lequel tu te trouves actuellement dans le terminal. Certaines commandes l’utilisent pour indiquer “ici”.
..Le dossier parentRepré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 affiche du texte dans le terminal.

Fenêtre de terminal
echo Bonjour
echo "Bienvenue dans Linux"

Combiné avec >, echo peut aussi écrire du contenu dans un fichier :

Fenêtre de terminal
echo "<h1>Bonjour</h1>" > index.html

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.

Fenêtre de terminal
cat index.html

Dans le terminal, naviguer signifie se déplacer dans l’arborescence des dossiers.

Fenêtre de terminal
pwd # afficher le dossier courant (où tu te trouves)
cd nom_du_dossier # entrer dans un dossier
cd .. # remonter au dossier parent
cd ~ # retourner au dossier personnel
cd / # aller à la racine

Avant de se déplacer, il est souvent utile de vérifier où l’on se trouve et ce que contient le dossier courant.

Fenêtre de terminal
pwd # affiche le chemin complet du dossier courant
ls # affiche le contenu du dossier courant
ls -l # affiche les détails (droits, taille, date…)
ls -a # affiche aussi les fichiers cachés
ls -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 :

Fenêtre de terminal
/home/etudiant/cours/os/notes.txt

Cela veut dire :

  • / → racine du système
  • home → dossier dans la racine
  • etudiant → sous-dossier (dans home)
  • cours → sous-dossier (dans etudiant)
  • os → sous-dossier (dans cours)
  • notes.txt → fichier (dans os)

Un chemin relatif est exprimé par rapport au dossier courant.

Fenêtre de terminal
cd css # entrer dans le sous-dossier css
cd ../js # remonter d'un niveau, puis entrer dans js

Il est souvent plus court et plus rapide à écrire quand on travaille déjà dans la bonne zone.

Un chemin absolu commence toujours par / et décrit l’emplacement (chemin) complet depuis la racine du système.

Fenêtre de terminal
cd /home/labex/mon-site/js

Il fonctionne peu importe l’endroit où tu te trouves.

On peut créer des dossiers et des fichiers directement depuis le terminal.

Fenêtre de terminal
mkdir nom_du_dossier # créer un dossier
mkdir css js images # créer plusieurs dossiers

Pour créer un fichier vide, on utilise souvent :

Fenêtre de terminal
touch index.html # créer un fichier vide
touch css/style.css # créer un fichier dans un sous-dossier (existant)
Fenêtre de terminal
rm fichier.txt # supprimer un fichier
rmdir dossier # supprimer un dossier vide
rm -r dossier # supprimer un dossier et tout son contenu

L’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 »

Ouvre ton environnement et repère la zone du terminal et ton dossier de travail.

Exécute :

Fenêtre de terminal
pwd
ls
ls -a

Exécute les commandes suivantes et observe la différence :

Fenêtre de terminal
echo "Bonjour le terminal"
echo "<h1>Bienvenue</h1>" > bienvenue.html
ls
cat bienvenue.html

Nettoie ensuite :

Fenêtre de terminal
rm bienvenue.html

Crée un petit espace de travail temporaire :

Fenêtre de terminal
mkdir labo-test
cd labo-test
mkdir docs images
touch docs/notes.txt
echo "Ceci est un test" > docs/notes.txt
cat docs/notes.txt
ls -R

Depuis le dossier labo-test, explore la navigation :

Fenêtre de terminal
cd docs
pwd
cd ..
pwd
cd images
pwd

Maintenant, reviens au dossier labo-test en utilisant un chemin absolu. Affiche d’abord le chemin de ton dossier parent :

Fenêtre de terminal
cd ..
pwd

Puis utilise ce chemin pour y revenir directement, par exemple :

Fenêtre de terminal
cd /home/labex/labo-test

Toujours dans labo-test, pratique la suppression :

Fenêtre de terminal
rm docs/notes.txt
ls docs
rmdir docs
rmdir images
ls
cd ..
rmdir labo-test

Essaie maintenant de provoquer une erreur. Recrée un dossier avec du contenu et tente rmdir :

Fenêtre de terminal
mkdir erreur-test
touch erreur-test/fichier.txt
rmdir erreur-test

Observe le message d’erreur, puis nettoie :

Fenêtre de terminal
rm -r erreur-test

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.css et script.js doivent contenir au moins une ligne de contenu pertinent (utilise echo >).
  • Vérifie le contenu de chaque fichier avec cat.

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.html
echo 'body { margin: 0; font-family: sans-serif; }' > portfolio/css/style.css
echo 'console.log("Portfolio chargé");' > portfolio/js/script.js
echo "Structure créée :"
ls -R portfolio
  1. #!/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.

  2. mkdir -p — Crée tous les dossiers d’un coup. L’option -p crée aussi les dossiers parents si nécessaire : portfolio/ est créé automatiquement en même temps que ses sous-dossiers.

  3. echo > index.html — Crée le fichier index.html avec une ligne de contenu HTML.

  4. echo > style.css — Crée le fichier style.css avec une règle CSS de base.

  5. echo > script.js — Crée le fichier script.js avec une instruction JavaScript.

  6. echo "Structure créée :" — Affiche un message de confirmation dans le terminal.

  7. ls -R portfolio — Affiche l’arborescence complète pour vérifier que tout a été créé correctement.