La ligne de commande sous Linux
Généralités
La ligne de commande est une interface textuelle pour piloter le système d’exploitation d’un ordinateur. Pour accéder à la ligne de commande, on utilise un terminal, appelé également console.
Les fichiers et répertoires d’un ordinateur forment une arborescence appelée système de fichiers (filesystem). Le point de départ du système de fichiers est un répertoire appelé racine, notée / (slash) sous Linux. Chaque répertoire peut contenir des fichiers ainsi que des sous-répertoires.

Naviguer dans le système de fichiers
Chemin absolu, chemin relatif
L’emplacement de chaque ressource (fichier ou répertoire) dans le système de fichiers est appelé son chemin. Dans un chemin Linux, le séparateur dans entre deux répertoires est le caractère /.
On distingue deux types de chemins :
-
Un chemin absolu identifie une ressource en commençant à la racine de l’arborescence, avec le caractère
/. Un chemin absolu ne dépend pas du répertoire courant et est donc valide partout./home/baptiste/hello.txtet/etc/apache/httpd.confsont des exemples de chemins absolus.
-
Un chemin relatif identifie une ressource à partir du répertoire courant. Il dépend donc du répertoire courant et n’est pas valide partout.
../marc/adresses.txtetdocuments/cours/si1.pdf(sans/au début !) sont des exemples de chemins relatifs.
Répertoire personnel
Sous Linux, chaque utilisateur (sauf root) dispose d’un répertoire personnel à son nom situé dans /home. Par exemple, le répertoire personnel de l’utilisateur nicolas est /home/nicolas.
Le chemin absolu du répertoire personnel peut s’écrire de manière abrégée avec le caractère ~ (tilde). Par exemple, le chemin ~/music/ pour l’utilisateur nicolas correspond au chemin absolu /home/nicolas/music/.
Commandes à connaître
-
pwd(print working directory) affiche le chemin du répertoire courant. -
ls(list) affiche le contenu du répertoire courant. -
cd(change directory) permet de se déplacer dans le système de fichiers en changeant de répertoire courant.cd monrepfait du répertoiremonreple répertoire courant.cd ..permet de remonter d’un niveau dans l’arborescence.cd /permet de revenir à la racine de l’arborescence.cdpermet de revenir à la racine du répertoire personnel.
Options des commandes
Presque toutes les commandes Linux acceptent des options qui modifient leur comportement. Voici par exemple les options de la commande ls :
ls -aaffiche également les fichiers cachés, qui commencent par un.sous Linux.ls -laffiche des informations supplémentaires, comme la date et la taille des fichiers.ls -ttrie les fichiers par ordre de dernière modification.
Les options d’une commande peuvent être combinés. Exemple : ls -alt.
Modifier le système de fichiers
Commandes à connaître
-
mkdir(make directory) crée un nouveau répertoire.mkdir monrepcrée le répertoiremonrepdans le répertoire courant.
-
touchcrée un nouveau fichier (vide) ou met à jour la date de modification d’un fichier existant.touch fic1.txtcrée un fichier videfic1.txtdans le répertoire courant.
-
cp(copy) copie des fichiers ou des répertoires.cp fic1.txt monrep/copie le fichierfic1.txtdans le répertoiremonrep.cp fic1.txt fic2.txtduplique le fichierfic1.txtsous le nomfic2.txt.
-
mv(move) déplace ou renomme des fichiers ou des répertoires.mv fic1.txt monrep/déplace le fichierfic1.txtdans le répertoiremonrep.mv fic1.txt fic2.txtrenomme le fichierfic1.txtenfic2.txt.
-
rm(remove) supprime des fichiers.rm -rsupprime des répertoires.rm fic1.txtsupprime le fichierfic1.txt.rm -r monrepsupprime le répertoiremonrepainsi que tout son contenu.
Caractère générique
Le caractère générique * (wildcard) permet de remplacer une partie d’un nom de fichier ou de répertoire. On l’utilise pour appliquer une commande à plusieurs éléments.
cp f*.txt monrep/copie dans le répertoiremonreptous les répertoires dont le nom commence par unfet finit par.txt.rm *supprime tous les fichiers du répertoire courant.
Affichage et édition de fichiers
Commandes à connaître
-
echoaffiche un texte.echo Bonjour Mondeaffiche le texte “Bonjour Monde”.
-
catpermet (entre autres) d’afficher le contenu d’un fichier.cat monficaffiche le contenu du fichiermonfic.
-
nanolance un éditeur de texte nommé Nano. Il dispose de plusieurs raccourcis clavier, dont :Ctrl+Opour sauvegarder un fichier.Ctrl+Xpour quitter l’éditeur.
-
clearréinitialise le contenu de la console.
Redirections
Le caractère > permet de rediriger la sortie d’une commande vers un fichier en écrasant son contenu actuel.
Le caractère >> redirige la sortie d’une commande vers un fichier en l’ajoutant à la fin de son contenu actuel.
echo Bonjour Monde > bonjour.txtremplace le contenu du fichierbonjour.txtpar le texte “Bonjour Monde”.echo Bonjour Monde >> bonjour.txtajoute le texte “Bonjour Monde” à la fin du fichierbonjour.txt.
Environnement
Paramétrage
L’apparence et les fonctionnalités de la ligne de commande Linux sont paramétrables. Les paramètres d’environnement de l’utilisateur sont regroupés dans le fichier .bash_profile, situé à la racine de son répertoire personnel.
Variables d’environnement
Il est possible de définir des variables d’environnement pour stocker des informations globales ou modifier certains paramètres. Ces variables sont accessibles par tous les programmes.
Voici quelques-unes des variables d’environnement prédéfinies :
USERcontient le nom de l’utilisateur courant.HOMEcontient le chemin du répertoire personnel de l’utilisateur courant.PATHcontient une liste de chemins séparés par le caractère:et est utilisée pour trouver les commandes exécutables du système.
Alias
Un alias permet de créer une nouvelle commande. On les utilise pour taper plus rapidement les commandes souvent utilisées, comme par exemple ls -al.
Commandes à connaître
-
exportcrée ou modifie la valeur d’une variable d’environnement.export MSG="Bienvenue"crée une variableMSGayant pour valeur “Bienvenue”.
-
echopeut afficher le contenu d’une variable d’environnement.echo $MSGaffiche le contenu de la variableMSG. Attention, le$est indispensable !
-
envaffiche la liste des variables d’environnement. -
aliasdéfinit un nouvel alias.alias ll="ls -l"définit l’aliasllqui lancera la commandels -l.
-
source ~/.bash_profilepermet d’activer les paramètres contenus dans le fichier.bash_profile.