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 programmeKonsole sous KDE ou Terminal sous Unity fera donc très bien l'affaire (figure suivante).
Le mieux, comme je vous l'ai dit, est d'ouvrir une console dans le mode graphique. Le programmeKonsole sous KDE ou Terminal sous Unity fera donc très bien l'affaire (figure suivante).
À partir de maintenant, je vais vous présenter le texte affiché en console dans des encadrés comme celui-ci :
mateo21@mateo21-desktop:~$
Ça, c'est ce que vous voyez à l'écran. Vous n'avez encore rien écrit, mais l'ordinateur vous dit bonjour à sa manière (bon, O.K., j'avoue que c'est une façon très spéciale de dire bonjour).
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és. En effet, rappelez-vous : on peut créer plusieurs comptes utilisateurs sous Linux. Il est en général conseillé d'en générer 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'appellemateo21-desktop
, mais j'aurais pu lui attribuer n'importe quel nom lors de l'installation.- : : à nouveau, ce symbole 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 où vous vous trouvez avant chaque commande.
- $ : ce dernier symbole est très important ; il indique votre niveau d'autorisation sur la machine. Il peut prendre deux 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 superutilisateur, c'est-à-dire que vous êtes connectés 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étail plus tard ; pour l'instant nous restons dans un compte utilisateur limité, ainsi nous ne risquons pas de faire de bêtise.
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 « Ouh là, 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
.
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.
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
« 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. Ces dernières étant nombreuses, vous ne pourrez jamais toutes les connaître… et ce n'est pas le but : le but, c'est que vous sachiez vous servir par cœur de la plupart des commandes « courantes » et, pour les moins courantes, que vous soyez capables 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 sache lire le manuel et qu'on prenne la peine de le faire. Un chapitre entier vous apprendra à lire le manuel : c'est vraiment très important.
Une commande simple
Bon : trève de bavardages, on va rentrer une commande ! Par exemple, tapez
Le résultat devrait ressembler à cela :
date
puis appuyez sur la touche Entrée
du clavier.Le résultat devrait ressembler à cela :
mateo21@mateo21-desktop:~$ date
lundi 20 septembre 2010, 15:39:51 (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.
La seconde ligne est la réponse de l'ordinateur à cette commande.
Je suppose que vous avez deviné comme des grands ce que l'on vient de faire : on a demandé quelles étaient la date et l'heure !
Vous en voulez encore ? O.K., 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 ».mateo21@mateo21-desktop:~$ ls
Desktop Examples Images
Cela signifie que le répertoire actuel est constitué de trois dossiers :
Si vous n'avez aucune réponse, c'est que vous êtes dans un dossier qui ne contient ni fichier ni dossier.
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 ni fichier ni dossier.
Voilà, c'est aussi simple que cela. Une commande est constituée d'un mot et ne contient aucun espace. Dans des cas très simples comme ceux que l'on vient de voir, il suffit juste de taper 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 :
mateo21@mateo21-desktop:~$ commande parametres
Les paramètres peuvent eux-mêmes contenir des espaces, des lettres, des chiffres… un peu de tout, en fait. 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 :
commande -d
Si on doit donner plusieurs paramètres, on peut faire comme ceci :
commande -d -a -U -h
Ou, plus court :
commande -daUh
Faisons un essai avec la commande
ls
et rajoutons-lui le paramètre « a
» (en minuscule) :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
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 flopé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 deux tirets, comme ceci :
commande --parametre
Cette fois, pas le choix : si vous voulez mettre plusieurs paramètres longs, il faudra ajouter un espace entre chacun d'eux :
commande --parametre1 --parametre2
On peut aussi combiner les paramètres longs et les paramètres courts dans une commande :
commande -daUh --autreparametre
Testons cela sur la commande
ls
avec le paramètre --all
, qui signifie « tout » en anglais :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
. Ceci illustre ce que je vous disais à l'instant, comme quoi parfois une commande propose deux 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 que vous travaillez avec un paramètre long ou avec un paramètre court.
Avec un paramètre court :
commande -p 14
… 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 :
commande --parametre=14
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 en rencontrerez sûrement 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 :ateo21@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
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ûrs des premières lettres de la commande.Lister les commandes correspondantes
Tapez juste «
da
» dans la console, puis tapez deux fois sur la touche Tabulation
située à gauche de votre clavier. Le résultat sera le suivant :mateo21@mateo21-desktop:~$ da
dash date
mateo21@mateo21-desktop:~$ da
En tapant deux 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 deux commandes qui commencent par « da
», et vous venez de retrouver celle que vous cherchiez, c'est-à-dire « date
».
Bien sympathique, 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
Par exemple, il n'y a qu'une commande qui commence par «
Entrée
!Par exemple, il n'y a qu'une commande qui commence par «
dat
». Tapez donc dat
dans la console, puis appuyez une 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 deux fois
Tab
(Tabulation
). Cela demande de faire la liste de toutes les commandes disponibles sur votre ordinateur.mateo21@mateo21-desktop:~$
Display all 2173 possibilities? (y or n)
Sauvage, n'est-ce pas ?
Il y a 2 173 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.
Il y a 2 173 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.
À 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), il ne se passera rien ; c'est dans le cas où vous vous diriez « Ouh là, 2 173 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 que l'on a tapée il y a cinq minutes (ou même cinq secondes). Parfois c'est parce qu'on a oublié la commande, mais c'est souvent aussi parce qu'on a comme moi un énooorme poil dans la main et qu'on a vraiment la flemme de réécrire nous-mêmes la commande en entier.
Ce raccourci vaut de l'or : appuyez sur la flèche directionnelle
Si vous appuyez de nouveau sur la flèche directionnelle
Haut
(figure suivante) ; vous verrez apparaître la dernière commande que vous avez tapée.Si vous appuyez de nouveau sur la flèche directionnelle
Haut
, vous verrez l'avant-dernière commande, puis l'avant-avant-dernière, etc.
Si vous appuyez sur la flèche directionnelle
Bas
(figure suivante), vous reviendrez aux 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 loin en arrière dans l'historique de vos commandes, pas la peine de taper cent fois sur la flèche directionnelle
Il existe la commande
Haut
comme des forcenés.Il existe la commande
history
qui vous rappelle l'historique des commandes :152 date
153 ls
154 ls -a
155 ls --all
156 history
La dernière commande tapée sera toujours
Vous remarquerez que les commandes sont numérotées : ainsi, on peut savoir que
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 directionnelle
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 ! :-)(reverse-i-search)`all': ls --all
Si ce n'est pas la commande que vous cherchiez, appuyez à nouveau sur
Ctrl + R
pour remonter dans la liste des commandes contenant « 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 !