Vue
- Éditer
- Historique
- Imprimer
Premiers pas avec le terminal
![]() |
I - Présentation
Détestée par certains, adorée par d'autres, la console est et restera un outil primordial de Linux. Performante, puissante elle n'a pas grand chose à voir avec 'l'invite de commande ' de Windows. Bien qu'avec les distributions modernes destinées aux débutants, il soit possible de faire 99% des opérations en mode graphique, il peut être utile de savoir maîtriser la console dans ces différentes situations:
- Pour réparer le serveur graphique en mode texte après une manipulation foireuse.
- Pour utiliser une certaine fonction non incorporée dans l'interface graphique d'un logiciel.
- Pour compiler un logiciel.
- Pour s'amuser ( si, si! Il y en a que ça amuse de tout faire en console! )
- Pour apprendre à comprendre Linux.
Bref, chacun a sa raison de l'utiliser.
II - Passons à la pratique !
Le terminal et les lignes de commandes vous font peur ? Et puis vous considérez qu'entrer des lignes de commandes est une pure bêtise et qu'il s'agit d'un retour dans le passé ?
Vous n'avez pas forcement raison, car le Terminal, s'il n'est pas obligatoire pour se servir de Linux ou d'un Mac, est un outil qui peut s'avérer tout à fait utile, voire indispensable, notamment si vous voulez installer des logiciels à partir de sources.
Mais avant d'aborder ces usages plus ou moins complexes, je vous invite à lire cet article qui vous fera découvrir quelques commandes de base.
Déjà, mettons-nous d'accord: Les $ et # qui précèdent toutes les commandes ne sont pas à taper. $ indique que la commande peut être exécutée par un utilisateur, # qu'elle doit être impérativement exécutée en tant qu'administrateur (root).
Pour éxecuter une commande en tant qu'administrateur, il faut la faire précéder de sudo ou de su -c, en fonction de votre distribution. Pour que toutes les commandes qu'on tapera par la suite soient exécutées en tant qu'administrateur sans avoir à le préciser, il faut taper sudo su ou su en fonction de votre distribution.
Pour lancer une application à partir d'un terminal
Pour lancer un programme à partir d'un terminal, il suffit juste de mettre le nom du logiciel, par exemple pour amarok taper :
$ amarok
après le nom du programme je vous conseille d'ajouter un '&', comme ça, vous gardez la main, car si vous ne le mettiez pas, vous ne pourriez plus rien faire avec le terminal, il serait verrouillé et il ne serait déverrouillé qu'à la fermeture du programme.
$ amarok &
less
La commande "less" permet d'afficher le contenu d'un fichier.
$ less fichier.txt
Cette commande permet de voir le contenu du fichier fichier.txt. On se déplace dans les fichiers à l'aide des flèches haut et bas, et on quitte avec la touche q.
man
La commande "man" affiche le manuel d'utilisation d'une commande ou d'un logiciel.
$ man mkdir
Cette commande affichera donc le manuel d'utilisation de mkdir. La navigation dans le manuel se fait de la même manière que pour la commande less.
top
La commande "top" affiche le gestionnaire des tâches.
$ top
Appuyer sur q pour quitter. Il existe un programme affichant le même résultat que top mais en couleur : il s'agit de htop.
cd
La commande "cd" permet de se déplacer dans les différents répertoires du système.
$ cd /bin
Déplace l'utilisateur dans le répertoire nommé /bin .
$ cd /
Renvoie l'utilisateur à la racine du système.
$ cd ..
Renvoie l'utilisateur dans le répertoire parent.
$ cd ~
Renvoie l'utilisateur dans son répertoire personnel.
ls
La commande "ls" liste les fichiers contenus dans un répertoire.
$ ls /bin
Cette commande affiche le contenu du dossier /bin.
$ ls
Cette commande affichera les fichiers contenus dans le répertoire où vous êtes.
$ ls -a
L'option "-a" affiche les fichiers cachés. Sous Linux, les fichiers cachés commencent par un "." .
cp
"cp" permet de copier un fichier ou un répertoire.
$ cp test1.txt test2.txt
Cette commande fait une copie du fichier test1.txt qui portera le nom test2.txt.
$ cp -r test1 test2
L'option -r permet de copier tout un repertoire.
mv
"mv" déplace un fichier ou répertoire.
$ mv test1.txt /home/
Cette commande déplace le fichier test1.txt dans le répertoire /home .
$ mv test1 test2
Cette commande permet de renommer le fichier/dossier test1 en test2. En effet, on déplace le fichier/dossier test1 du repertoire courant, et la destination est et le fichier/dossier test2 du le repertoire courant.
cat
La commande "cat" retourne le contenu d'un fichier sous forme de texte.
$ cat readme.txt
Affichera le contenu de readme.txt
mkdir
La commande "mkdir" permet de créer un répertoire.
$ mkdir doc-linux
Cette commande créer un répertoire nommé "doc-linux" dans le répertoire où l'utilisateur se trouve.
$ mkdir -p /home/doc-linux/newrep
Cette commande va créer un répertoire "newrep" en créant si besoin le répertoire parent "doc-linux" s'il n'existe pas.
rm
La commande "rm" permet de supprimer un fichier ou un répertoire.
$ rm chanson.mp3
Cette commande efface le fichier mp3 qui se nomme "chanson".
$ rm -r dossier
L'option -r permet de supprimer un répertoire et son contenu.
CONSEIL : pour éviter de supprimer le mauvais répertoire, il est conseillé de mettre l'option -r à la fin de la ligne de commande. Cela évite de voir tout le contenu du disque s'effacer à cause du chat qui appuie sur la touche entrée alors que vous en êtiez à "rm -r /" (début de "rm -r /home/bob/dossier_a_supprimer").
pwd
La commande "pwd" affiche le chemin complet du répertoire dans lequel l'utilisateur se trouve.
$ pwd
ps
"ps" affiche les processus se trouvant en mémoire.
$ ps
Affiche les processus lancés à partir du terminal actuel.
$ ps -aux
Affiche tous les processus en cours.
kill
La commande kill permet de tuer (arrêter) un processus en envoyant un signal (SIGTERM en général). Ce signal est envoyé par le noyau vers une application.
$ kill 900
"900" représente le PID de l'application à tuer. Je vous rappelle que pour afficher les processus (donc pour connaître le PID de l'application à tuer) il faut utiliser la commande "ps -aux".
nano
Nano est un éditeur de texte minimaliste en mode console.
$ nano fichier.txt
Cette commande permet de lire et d'éditer fichier.txt. Cela est très utile pour modifier un fichier de configuration. Pour plus de détails sur le fonctionnement de nano, voir ici.
grep (à utiliser après un pipe)
Sert a selectionner du texte, voir plus bas.
more ( à utiliser après un pipe)
filtre la sortie pour empêcher le texte de défiler.
$ ls | more
est l'équivalent de la célèbre commande msdos
$ dir \p
mc
mc (midnight commander) est un puissant outil de gestion de fichiers. il ne fait pas partie des logiciels installés par défaut sur le système.
la commande suivante l'installera.
# apt-get install mc
que fait-il ? Il se compose de deux fenêtres et d'une barre de menus. Par défaut, il offre une vue simultanée de deux répertoires en mode semi graphique. Il vous permet de vous déplacer facilement dans l'arborescence des fichiers en passant d'une fenêtre à l'autre. Il permet de voir leur contenu sans les éditer mais aussi de les éditer grace à son propre éditeur de texte ascii intégré. Vous pouvez dans cet environement lancer des commandes shell. C'est un outil très complet et assez pointu. L'aide est à votre disposition, ne pas s'en priver.
Voilà! Vous connaissez les bases fondamentales de la console Linux. Ceci vous permettra de vous débrouiller un minimum en mode texte et de ne plus vous sentir perdu. Avec un peu de chance vous y prendrez goût!
III - Redirection d'entrées sorties
Le pipe
Il sert a rediriger la sortie standard d'une commande sur l'entrée standard d'une autre commande.
$ ps -alx | grep firefox
Affiche la liste des processus dont le nom contient firefox. Grep prenant du texte en entrée et ne retournant que le texte cherché.
>
Redirige la sortie d'une commande vers un fichier texte:
$ ps -alx > processus.txt
Si il n'y a qu'un ">", le contenu de processus.txt sera écrasé pour mettre le nouveau texte. Si il y a deux ">", le texte sera rajouté à la suite de l'ancien.
On peut rajouter "1" devant le signe ">" pour préciser que l'on sélectionne la sortie standard, ou "2" pour la sortie d'erreur.
