cours1 min de lecture
Les commandes de base en ligne de commande Unix — naviguer, manipuler des fichiers, enchaîner des outils avec les pipes.
programme

Introduction

Avant l'apparition des interfaces graphiques, on pilotait l'ordinateur en tapant des commandes dans un terminal. Cette manière d'interagir n'a pas disparu — au contraire, elle reste l'outil quotidien de toute personne qui développe, administre des serveurs ou automatise des tâches. Le programme qui lit vos commandes et les exécute s'appelle un shell (sous Linux, le plus courant est bash). Ce cours vous donne les gestes essentiels pour naviguer dans une arborescence, manipuler des fichiers et chaîner des outils.

Anatomie d'une commande

Une commande se compose toujours des mêmes éléments.

ls -l /home/alice
  • ls : le nom du programme à exécuter (ici, lister les fichiers).
  • -l : une option (ou flag), qui modifie le comportement (ici, format long avec détails).
  • /home/alice : l'argument, ce sur quoi la commande agit (ici, le répertoire à lister).

Le shell affiche un prompt qui se termine généralement par $ (utilisateur normal) ou # (super-utilisateur). C'est l'invitation à taper votre commande.

alice@nsi-rocks:~$ ls -l /home/alice
Sensibilité à la casse : ls et LS sont deux commandes différentes pour le shell Unix. Idem pour les noms de fichiers : Notes.txt et notes.txt peuvent coexister dans le même répertoire.

Trois commandes suffisent pour vous orienter et vous déplacer.

CommandeRôle
pwdPrint working directory — afficher le répertoire courant.
lsList — lister le contenu du répertoire.
cdChange directory — changer de répertoire.
$ pwd
/home/alice

$ ls
documents  images  notes.txt

$ cd documents
$ pwd
/home/alice/documents

Quelques raccourcis essentiels pour cd :

  • cd .. : remonter d'un cran dans l'arborescence.
  • cd ~ ou cd tout seul : retourner dans votre répertoire personnel.
  • cd / : aller à la racine.
  • cd - : retourner au répertoire précédent.

Quelle commande remonte d'un niveau dans l'arborescence ?

Manipuler les fichiers

Quatre commandes couvrent l'essentiel des manipulations.

CommandeRôle
cp source destCopier un fichier.
mv source destDéplacer ou renommer.
rm fichierSupprimer.
mkdir dossierCréer un répertoire.
$ mkdir backup
$ cp notes.txt backup/notes.txt
$ mv notes.txt notes-2026.txt
$ ls
backup  documents  images  notes-2026.txt
$ rm backup/notes.txt
$ rmdir backup
rm est définitif sous Linux. Il n'y a pas de corbeille en ligne de commande — un fichier supprimé est perdu. Soyez particulièrement vigilant avec rm -r (récursif, qui supprime un dossier entier) et rm -rf / (ne tapez jamais cette commande : elle tente de supprimer tout le système).

Lire et explorer un fichier

CommandeRôle
cat fichierAfficher le contenu intégral.
less fichierLire un fichier long page par page (q pour quitter).
head -n 5 fichierAfficher les 5 premières lignes.
tail -n 5 fichierAfficher les 5 dernières lignes.
$ cat notes-2026.txt
Lundi : cours de NSI
Mardi : devoir sur les graphes
Mercredi : projet de groupe

$ head -n 1 notes-2026.txt
Lundi : cours de NSI

Chemins absolus et chemins relatifs

Un chemin absolu commence par / et décrit le chemin complet depuis la racine : /home/alice/documents/notes.txt.

Un chemin relatif part du répertoire courant : si vous êtes dans /home/alice, le chemin documents/notes.txt désigne le même fichier.

NotationSens
.Le répertoire courant
..Le répertoire parent
~Votre répertoire personnel
/La racine du système
$ pwd
/home/alice/documents

$ cd ../images        # équivaut à cd /home/alice/images
$ cd ~/documents      # équivaut à cd /home/alice/documents

Les pipes : enchaîner les outils

La grande force du shell Unix est de chaîner plusieurs commandes en connectant la sortie de l'une à l'entrée de la suivante. Cet enchaînement utilise le caractère pipe : |.

$ cat notes-2026.txt | head -n 2
Lundi : cours de NSI
Mardi : devoir sur les graphes

La commande cat envoie tout le contenu du fichier sur sa sortie ; le pipe redirige cette sortie vers head, qui n'en garde que les 2 premières lignes.

Un exemple plus parlant : compter combien de fichiers .py sont présents dans le répertoire courant.

$ ls | grep ".py" | wc -l
12

Décomposition :

  1. ls liste tous les fichiers.
  2. grep ".py" ne garde que ceux qui contiennent .py (cela inclut donc aussi script.py.bak ou .python-version — pour un filtre strict en fin de nom, on utiliserait plutôt grep "\.py$").
  3. wc -l compte le nombre de lignes restantes.
La philosophie Unix tient en une phrase de Doug McIlroy (1978) : « Écrire des programmes qui font une seule chose et qui la font bien. Écrire des programmes pour qu'ils travaillent ensemble. » Chaque commande Unix est un outil spécialisé, et les pipes en font une boîte à outils combinatoire sans limite.

Que fait ls | wc -l ?

Aide en ligne

Quand vous oubliez la syntaxe d'une commande, deux réflexes.

$ man ls           # manuel complet (q pour quitter)
$ ls --help        # aide rapide

Le manuel (man) est exhaustif mais touffu ; --help donne l'essentiel en quelques lignes. Sur le web, le site manpages.org expose ces mêmes manuels dans le navigateur.

Pour aller plus loin

Le shell ne se limite pas à enchaîner des commandes — c'est aussi un véritable langage de programmation, avec des variables, des boucles, des conditions. Les scripts shell (.sh) permettent d'automatiser des tâches répétitives : sauvegardes, déploiements, traitements de fichiers. Vous croiserez aussi grep (rechercher du texte), find (chercher des fichiers), sed et awk (transformer du texte) — quatre outils incontournables qui méritent leur propre apprentissage.