[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Officiels
> Systèmes alternatifs
> Lecture du tutoriel
Entrer une commande
Chers amis, le grand jour est enfin arrivé ! Vous allez rentrer votre première commande de console !

Ca va, pas trop stressés ?
Je vous rassure, nous allons commencer par des choses très simples pour nous familiariser avec la console. Nous allons vraiment voir le B.A.-BA, le guide de survie élémentaire en quelque sorte.
Il va falloir retenir beaucoup de nouvelles choses. Je ne saurais trop vous conseiller de vous munir d'un crayon et d'une feuille de papier pour noter les commandes et raccourcis que je vais vous montrer. Ca sera plus simple que de rechercher 10 fois la commande dans le tuto par la suite
Je suppose à partir de maintenant que vous avez ouvert une console. Si vous ne savez pas faire, c'est que vous n'avez pas lu le chapitre précédent

Le mieux, comme je vous l'ai dit, est d'ouvrir une console dans le mode graphique. Le programme Konsole sous KDE ou Terminal sous Gnome fera donc très bien l'affaire :
Pour simplifier la vie à votre modem, je ne vais pas faire une capture d'écran à chaque fois que je veux vous montrer le résultat d'une commande, ce serait un peu trop long à télécharger. Je vais utiliser des encadrés "Console" comme celui-ci :
Code : Console | mateo21@mateo21-desktop:~$ |
Ca c'est ce que vous voyez à l'écran. Vous n'avez encore rien écrit, mais l'ordinateur vous dit bonjour à sa manière (bon ok c'est une façon très spéciale de dire bonjour j'avoue

).
Ce que vous voyez là est ce qu'on appelle l'
invite de commandes. C'est un message qui vous
invite à rentrer une commande en vous donnant par la même occasion une foule d'informations. Cette invite s'affiche avant chaque commande que vous tapez.
Bien, décortiquons cette invite de commandes parce qu'elle est très intéressante :
- mateo21 : le premier élément est votre pseudonyme. C'est le pseudo sous lequel vous vous êtes loggé. En effet, rappelez-vous : on peut créer plusieurs comptes utilisateur sous Linux. Il est en général conseillé d'en faire un par personne susceptible d'utiliser l'ordinateur (un pour chaque membre de la famille par exemple). Nous verrons plus tard comment rajouter des comptes utilisateurs.
- @ : ce symbole n'indique rien de particulier. C'est le symbole "at" qui signifie "chez". Si on lit l'invite de gauche à droite, on doit donc comprendre "mateo21 chez".
- mateo21-desktop : ça c'est le nom de l'ordinateur sur lequel vous êtes en train de travailler. Dans mon cas il s'appelle mateo21-desktop, mais j'aurais pu l'appeler du nom que je voulais lors de l'installation.
Par exemple, on a l'habitude de donner le nom d'un membre des Simpson à chacun des serveurs du Site du Zéro : Lisa, Bart, Itchy, Scratchy... Cela permet de savoir de quelle machine on parle quand on dit "Oulah Bart est surchargé, il faudrait voir quel est le programme qui ralentit tout".
Si vous suivez toujours, la ligne d'invite de commandes se lit donc "mateo21 chez mateo21-desktop". En d'autres termes, je suis identifié en tant que mateo21 sur la machine mateo21-desktop.
- : : ce symbole à nouveau ne veut rien dire de spécial, c'est un séparateur.
- ~ : ça, c'est le dossier dans lequel vous vous trouvez actuellement. Vous pouvez naviguer de dossier en dossier dans la console et il est très utile qu'on vous rappelle systématiquement avant chaque commande où vous êtes.
Pour information, le symbole ~ signifie que vous êtes dans votre dossier personnel, ce qu'on appelle le "Home" sous Linux. C'est l'équivalent du dossier "Mes documents" de Windows. Nous étudierons plus en détail le fonctionnement des dossiers sous Linux dans le prochain chapitre.
- $ : ce dernier symbole est très important, il indique votre niveau d'autorisation sur la machine. Il peut prendre 2 formes différentes :
- $ : signifie que vous êtes en train d'utiliser un compte utilisateur "normal", avec des droits limités (il ne peut pas modifier les fichiers système les plus importants). Mon compte mateo21 est donc un compte normal avec des droits limités.
- # : signifie que vous êtes en mode super-utilisateur, c'est-à-dire que vous êtes connecté sous le pseudonyme "root". Le root est l'utilisateur maître qui a le droit de tout faire sur sa machine (même de la détruire
). Nous verrons le mode root plus en détails plus tard, pour l'instant nous restons dans un compte utilisateur limité car comme ça nous ne risquons pas de faire de bêtise 
Comme vous le voyez, une fois qu'on parle la même langue que l'invite de commandes on comprend ce qu'elle veut dire !
"
Bonjour et bienvenue, vous êtes mateo21 sur la machine mateo21-desktop. Vous vous trouvez actuellement dans votre dossier Home et possédez des droits utilisateur limités. La température extérieure est de"
On travaille dans la console en tapant ce qu'on appelle des
commandes. Les commandes sont nombreuses, vous ne pourrez jamais toutes les connaître dans votre vie. Et ce n'est pas le but : le but c'est que vous sachiez vous servir par coeur de la plupart des commandes "courantes" et, pour les moins courantes, que vous soyez capable d'apprendre à vous en servir en lisant leur
manuel d'utilisation.
Le manuel d'utilisation est
la véritable bible de tous les linuxiens. Vous verrez rapidement qu'ils ne jurent que par ça. Pourquoi ? Parce que c'est tout simplement un outil de référence, là où l'on peut trouver la réponse à TOUTES ses questions pour peu qu'on prenne la peine de le lire et qu'on sache le lire. Un chapitre entier du cours vous apprendra à lire le manuel, c'est très très important.
Une commande simple
Bon trève de bavardages, on va rentrer une commande ! Par exemple, tapez
date puis appuyez sur la touche "Entrée" du clavier.
Le résultat devrait ressembler à cela :
Code : Console | mateo21@mateo21-desktop:~$ date
vendredi 14 septembre 2007, 18:59:54 (UTC+0200) |
La première ligne contient l'invite de commandes suivie de la commande que j'ai tapée.
La seconde ligne est la réponse de l'ordinateur à cette commande.
Je suppose que vous avez deviné comme des grands ce qu'on vient de faire : on a demandé quelles étaient la date et l'heure !
Vous en voulez encore ? Ok alors essayons une toute autre commande : tapez
ls. C'est l'abréviation de "list", qui signifie "
Lister les fichiers et dossiers du répertoire actuel".
Code : Console | mateo21@mateo21-desktop:~$ ls
Desktop Examples Images |
Cela signifie que le répertoire actuel est constitué de 3 dossiers : Desktop Examples et Images. En général, le système colore les éléments pour que l'on puisse distinguer facilement les dossiers des fichiers.
Si vous n'avez aucune réponse, c'est que vous êtes dans un dossier qui ne contient aucun fichier ou dossier.
Voilà, c'est aussi simple que cela. Une commande est constituée d'un mot et ne contient pas d'espace. Dans un cas très simple comme ceux qu'on vient de voir, il suffit de taper juste la commande pour avoir une réponse. Mais dans la quasi-totalité des cas on peut (et parfois on DOIT) rentrer des options, qu'on appelle paramètres.
Les paramètres
Les paramètres sont des options que l'on écrit à la suite de la commande. La commande et les paramètres sont séparés par un espace, comme ceci :
Code : Console | mateo21@mateo21-desktop:~$ commande parametres |
Les paramètres peuvent eux-mêmes contenir des espaces, des lettres, des chiffres, en fait un peu de tout. Il n'y a pas de règle véritable sur la forme des paramètres, mais heureusement les programmeurs ont adopté une sorte de "convention" pour que l'on puisse reconnaître les différents types de paramètres.
Les paramètres courts (une lettre)
Les paramètres les plus courants sont constitués d'une seule lettre, précédée d'un tiret. Par exemple :
Code : Console
Si on doit donner plusieurs paramètres, on peut faire comme ceci :
Code : Console
Ou, plus court :
Code : Console
Attention à la casse des paramètres (majuscules / minuscules) ! Si vous écrivez -u, cela n'a en général pas du tout le même sens que -U !
Faisons un essai avec la commande ls et rajoutons-lui le paramètre "a" (en minuscule) :
Code : Console | mateo21@mateo21-desktop:~$ ls -a
. .gconfd .mozilla-thunderbird
.. .gimp-2.2 .nautilus
.bash_history .gksu.lock .profile
.bash_logout .gnome .recently-used
.bashrc .gnome2 .recently-used.xbel
.config .gnome2_private .ssh
Desktop .gstreamer-0.10 .sudo_as_admin_successful
.dmrc .gtkrc-1.2-gnome2 .themes
.esd_auth .ICEauthority .thumbnails
.evolution .icons .Trash
Examples .lesshst tutos
.face .local .update-manager-core
.fontconfig .macromedia .update-notifier
.gaim .metacity .Xauthority
.gconf .mozilla .xsession-errors |
Cela affiche tout le contenu du dossier, même les fichiers cachés.
Un "fichier caché" sous Linux est un fichier qui commence par un point. Normalement, si vous vous trouvez dans votre répertoire Home, vous devriez avoir une bonne floppée de fichiers cachés

Ce sont en général des fichiers de configuration de programmes.
Les paramètres longs (plusieurs lettres)
Les paramètres constitués de plusieurs lettres sont précédés de 2 tirets, comme ceci :
Code : Console
Cette fois pas le choix, si vous voulez mettre plusieurs paramètres longs il faudra mettre un espace entre chacun d'eux :
Code : Console | commande --parametre1 --parametre2 |
On peut aussi combiner les paramètres longs et les paramètres courts dans une commande :
Code : Console | commande -daUh --autreparametre |
Il y a parfois 2 écritures possibles pour un paramètre de commande : une version courte et une version longue. Cela permet de vous laisser le choix selon si vous préférez la version courte ou la version longue.
Notez que c'est la commande qui décide des paramètres qu'elle accepte, et parfois certaines ne proposent pas le choix entre une version courte et une version longue.
Testons sur la commande ls avec le paramètre --all, qui signifie "tout" en anglais :
Code : Console | mateo21@mateo21-desktop:~$ ls --all
. .gconfd .mozilla-thunderbird
.. .gimp-2.2 .nautilus
.bash_history .gksu.lock .profile
.bash_logout .gnome .recently-used
.bashrc .gnome2 .recently-used.xbel
.config .gnome2_private .ssh
Desktop .gstreamer-0.10 .sudo_as_admin_successful
.dmrc .gtkrc-1.2-gnome2 .themes
.esd_auth .ICEauthority .thumbnails
.evolution .icons .Trash
Examples .lesshst tutos
.face .local .update-manager-core
.fontconfig .macromedia .update-notifier
.gaim .metacity .Xauthority
.gconf .mozilla .xsession-errors |
Comme vous le voyez, --all est un synonyme de -a. Cela illustre ce que je vous disais à l'instant, comme quoi parfois une commande propose 2 façons d'utiliser un paramètre : une courte et une longue.
Les valeurs des paramètres
Certains paramètres nécessitent que vous les complétiez avec une valeur. Cela fonctionne différemment selon si vous travaillez avec un paramètre long ou avec un paramètre court.
Avec un paramètre court :
Code : Console
Cela indique que l'on associe la valeur 14 au paramètre p. Avec ce genre de technique on peut par exemple faire comprendre à l'ordinateur "
Je veux voir la liste de tous les fichiers de plus de 14 Mo".
Si c'est un paramètre long, on fait en général comme ceci :
Code : Console
Le résultat sera le même, il est juste plus lisible mais aussi plus long à écrire.
Les autres paramètres
Je vous l'ai dit : il n'y a pas de règle absolue au niveau des paramètres et vous rencontrerez sûrement des paramètres qui fonctionnent différemment. Heureusement les "conventions" que je viens de vous donner sont valables dans la grande majorité des cas, ce qui devrait vous permettre de vous repérer.
Certains paramètres sont donc un peu différents et dépendent vraiment des commandes. Par exemple avec ls, si on ajoute le nom d'un dossier (ou sous-dossier) cela affichera le contenu de ce dossier au lieu du contenu du dossier courant :
Code : Console | mateo21@mateo21-desktop:~$ ls Examples
Experience ubuntu.ogg logo-Ubuntu.png oo-payment-schedule.ods
fables_01_01_aesop.spx oo-about-these-files.odt oo-presenting-kubuntu.odp
gimp-ubuntu-splash.xcf oo-about-ubuntu-ru.rtf oo-presenting-ubuntu.odp
kubuntu-leaflet.png oo-cd-cover.odg oo-trig.xls
logo-Edubuntu.png oo-derivatives.doc oo-welcome.odt
logo-Kubuntu.png oo-maxwell.odt ubuntu Sax.ogg |
Linux propose tellement de commandes différentes qu'il est facile de s'y perdre et d'en oublier une. Ca m'arrive très régulièrement personnellement, et heureusement ce n'est pas un drame. En effet, Linux vous propose toute une série de façons de retrouver une commande que vous avez oubliée
Autocomplétion de commande
Le premier "truc" à connaître, c'est l'autocomplétion de commande. Prenons la commande "date" par exemple : vous êtes un peu tête en l'air et vous ne savez plus comment elle s'écrit. Par contre, vous êtes sûr des premières lettres de la commande.
Lister les commandes correspondantes
Tapez juste "da" dans la console, puis
tapez 2 fois sur la touche "Tabulation" située à gauche de votre clavier. Le résultat sera le suivant :
Code : Console | mateo21@mateo21-desktop:~$ da
dash date
mateo21@mateo21-desktop:~$ da |
En tapant 2 fois sur Tabulation, vous avez demandé à l'ordinateur la liste des commandes qui commencent par "da". On vous a répondu "dash" et "date". Il y a donc 2 commandes qui commencent par "da", et vous venez de retrouver celle que vous cherchiez, c'est-à-dire "date"
Bien sympa, l'ordinateur a réécrit l'invite de commandes en-dessous ainsi que le début de la commande que vous aviez tapée. Vous n'avez plus qu'à compléter avec les lettres "te" qui manquent et à taper Entrée, et ce sera bon
L'autocomplétion
Plus sympa encore, s'il n'y a qu'un seul résultat correspondant à votre recherche, l'ordinateur complètera avec les lettres qui manquent et vous n'aurez plus qu'à taper sur Entrée !
Par exemple, il n'y a qu'une commande qui commence par "dat". Tapez donc
dat dans la console, puis
tapez 1 seule fois sur Tabulation. La commande se complète comme par magie
Trop de commaaaandes !
Parfois, il y a trop de commandes correspondant à votre recherche. Faites un essai un peu brutal : ne rentrez aucun début de commande et faites 2 fois Tab (Tabulation). Cela demande de faire la liste de toutes les commandes disponibles sur votre ordinateur.
Code : Console | mateo21@mateo21-desktop:~$
Display all 2173 possibilities? (y or n) |
Brutal hein ?

Il y a 2173 commandes disponibles sur mon ordinateur. Plus j'installerai de programmes, plus j'aurai de commandes utilisables. N'espérez donc pas toutes les connaître, de nouveaux programmes sortent tous les jours
A cette question vous pouvez répondre "y" (yes), et la liste s'affichera page par page. Quelques raccourcis à connaître quand une liste s'affiche page par page :
- Tapez Espace pour passer à la page suivante
- Tapez Entrée pour aller à la ligne suivante
- Tapez q pour arrêter la liste
Si vous répondez "n" (no), rien ne se passera. C'est dans le cas où vous vous diriez "Oulah, 2173 possibilités autant chercher une aiguille dans une botte de foin, je vais peut-être affiner ma recherche"
L'historique des commandes
On a très souvent besoin de retrouver une commande qu'on vient de taper il y a 5 minutes (ou même 5 secondes). Parfois c'est parce qu'on a oublié la commande, mais souvent c'est aussi parce qu'on a un énooorme poil dans la main comme moi et qu'on a vraiment la flême de réécrire la commande en entier nous-même
Ce raccourci vaut de l'or : appuyez sur la flèche directionnelle vers le haut (

).Vous verrez apparaître la dernière commande que vous avez tapée.
Si vous réappuyez sur la flèche vers le haut, vous verrez l'avant-dernière commande, puis l'avant-avant-dernière etc.
Si vous appuyez sur la flèche vers le bas (

), vous reviendrez vers les commandes les plus récentes.
C'est ainsi que je peux successivement retrouver les commandes que je viens de taper, dans l'ordre inverse :
- ls --all
- ls -a
- ls
- date
- etc.
Si vous voulez "remonter" très longtemps en arrière dans l'historique de vos commandes, pas la peine de taper 100 fois sur la flèche vers le haut comme un forcené

Il existe la commande "history" qui vous rappelle l'historique des commandes :
Code : Console | 152 date
153 ls
154 ls -a
155 ls --all
156 history |
La dernière commande tapée sera toujours history, forcément

Vous remarquerez que les commandes sont numérotées : ainsi, on peut savoir que date est la 152
ème commande que j'ai tapée dans le terminal.
Ctrl + R : rechercher une commande tapée avec quelques lettres
Dans le cas où la flèche vers le haut et la commande history ne suffiraient pas à retrouver une vieille commande que vous avez tapée, il y a un raccourci super utile : Ctrl + R. Appuyez donc sur les touches Ctrl et R en même temps, et l'ordinateur se mettra en mode "recherche d'une commande tapée" (R comme
Recherche).
Là, vous pouvez taper n'importe quelle suite de lettres correspondant à une vieille commande. Par exemple, faites Ctrl + R puis tapez "all". Linux retrouve la commande "ls --all" qui contenait justement le mot "all". Vous n'avez plus qu'à taper Entrée pour relancer la commande !
Code : Console | (reverse-i-search)`all': ls --all |
Ça a peut-être l'air bête sur une commande comme ça, mais certaines sont vraiment très longues et c'est un vrai bonheur de ne pas avoir à les réécrire en entier !
On ne dirait pas comme ça, mais la console de Linux propose une quantité incroyable de raccourcis clavier. Ce sont des raccourcis qu'on ne peut pas deviner, qu'on a un peu de mal à retenir au début, mais quand on les connaît... Waouh ! Ben on devient un peu comme Neo dans Matrix en fait, on va très vite
Ces raccourcis ne sont pas intuitifs, mais ça vaut vraiment le coup de les retenir. Les premiers temps vous reviendrez sûrement souvent ici pour les consulter (et encore, si vous vous faites un petit pense-bête comme je vous ai dit, ça ne devrait pas arriver), mais petit à petit vous les connaîtrez par c?ur !
Commençons par quelques raccourcis généraux à connaître :
+
: efface le contenu de la console. Utile pour faire un peu de ménage quand votre console est encombrée, ou quand votre boss passe derrière et que vous n'aimeriez pas qu'il voie ce que vous étiez en train de faire 
A noter qu'il existe aussi une commande, clear, qui fait exactement la même chose.
+
: envoie le message EOF (fin de fichier) à la console. Si vous tapez ce raccourci dans une ligne de commande vide (c'est-à-dire sans avoir écrit un début de commande avant), cela fermera la console en cours.
A noter qu'il existe aussi la commande exit qui a le même effet.
+
: vous permet de "remonter" dans les messages envoyés par la console. En mode graphique, la molette de la souris fait aussi très bien ça.
La touche "Page Up" est généralement représentée sur votre clavier par une flèche vers le haut barrée par plusieurs petites barres horizontales.
+
: pareil, mais pour redescendre.
Les raccourcis suivants sont utiles lorsque vous êtes en train d'écrire une longue commande :
+
: ramène le curseur au début de la commande. La touche "Origine" a le même effet (elle est située à côté de la touche fin et représentée par une flèche pointant en haut à gauche).
+
: ramène le curseur à la fin de la ligne de commande. La touche "Fin" a le même effet.
+
: supprime tout ce qui se trouve à gauche du curseur. Si le curseur est situé à la fin de la ligne, toute la ligne sera donc supprimée.
+
: supprime tout ce qui se trouve à droite du curseur. Si le curseur est situé au début de la ligne, toute la ligne sera donc supprimée.
+
: supprime le premier mot situé à gauche du curseur. Un "mot" est séparé par des espaces. On s'en sert en général pour supprimer le paramètre situé à gauche du curseur.
+
: si vous avez supprimé du texte avec une des commandes Ctrl + U, Ctrl + K ou Ctrl + W qu'on vient de voir, alors le raccourci Ctrl + Y "collera" le texte que vous venez de supprimer. C'est un peu comme un couper-coller donc 
On va arrêter là la liste pour le moment. Ca vous fait déjà pas mal de choses à retenir

Il existe en fait beaucoup d'autres raccourcis clavier, mais je vous les montrerai au fur et à mesure du cours, quand on en aura besoin.
Même si c'est un peu barbant, je vous conseille de vous entraîner à les retenir par coeur ! Vous serez vraiment beaucoup plus efficaces lorsque vous les connaîtrez !
Eh ben dites donc ! Je crois qu'on vient de mettre un pied dans la console, et qu'on commence même à s'embourber jusqu'au genou
Beaucoup, beaucoup, beaucoup de nouveautés pour vous dans ce chapitre. Faites-vous un pense-bête, ça va vraiment vous resservir. Prenez le temps de bien expérimenter tous les raccourcis pour que vous sachiez lequel utiliser lorsque vous en avez besoin.
Et dès que vous vous sentez au point, on continue

Dans le prochain chapitre nous commencerons à travailler en détail sur des commandes concrètes un peu plus complexes, qui nécessitent en particulier l'utilisation de plusieurs paramètres. Nous découvrirons comment sont organisés les fichiers et dossiers sous Linux et comment on se déplace dans tous ces dossiers.