Initiation à la ligne de commande

GEDsismik

Autres

Systèmes

Dans ce document, je vais vous présenter les bases de la ligne de commande sous *nix. Oui, je sais, ça fait peur mais vous verrez que ce n'est pas si impressionnant. Beaucoup d'entre vous se servent d'interface graphique pour utiliser leur ordinateur mais sachez que tout (ou presque) ce que vous pouvez faire avec une interface graphique, vous pouvez le faire en ligne de commande. Vous pouvez y être en mode texte (parce que vous avez un problème graphique ou un serveur qui n'a pas d'écran par exemple) ou via un terminal (ou console) dans le mode graphique.

Exemple de terminal :
terminal

Le prompt

"Allons bon ! Y'a déjà des trucs d'écrit. Pis on comprend rien de quoi qui est marqué". Ce qui est marqué est un prompt, c'est ce qu'il y a au début de chaque ligne où vous avez la main. En ligne de commande, vous intéragissez avec le système avec des commandes (souvent un programme à lancer). Ce système vous répond et vous redonne la main en réaffichant un prompt. Décodons-le. Le prompt est personnalisable donc ce n'est pas evident de parler dans tous les cas. Cependant, il existe des prompts qui reviennent souvent : Vous noterez que les prompts finissent souvent par $ ou #. On utilise # pour préciser qu'on est avec l'utilisateur root (super-utilisateur) et $ pour tout autre utilisateur.

Passage de commande

Maintenant que vous avez un prompt, vous pouvez passer des commandes. Pour passer une commande, on l'écrit et ensuite, on tape sur entrée. En échange, le shell interprète votre commande et affiche le résultat avant de vous redonner la main. On répète en image. Commençons par une commande simple. pwd est une commande qui affiche le répertoire dans lequel vous êtes. Procédons par étape, vous avez un prompt :
bash-3.1$
Tapez la commande pwd
bash-3.1$ pwd
Tant que vous n'avez pas appuyé sur entrée, la commande n'est pas passé. Tapez donc sur entrée.
bash-3.1$ pwd
/home/superman
bash-3.1$ 
Le shell a bien affiché le répertoire courant (ici, vous êtes dans /home/superman) et a redonné la main. La commande pwd n'affiche qu'une ligne mais certaine affiche des pages et des pages.
Note sur l'arborescence unix : Dans un système *nix tel que Linux, le répertoire /home contient l'équivalent du répertoire Mes Documents sous Microsoft Windows. /home/superman est donc le répertoire des documents personnels de l'utilisateur superman. Quand on entre en ligne de commande, on commence par défaut dans notre répertoire home.

Passage de paramètres

Voilà ! On sait comment lancer une commande simple maintenant. On va corser un peu la chose : une commande peut avoir des paramètres et/ou des options. Ne vous enfuyez pas ! Ca ne change pas beaucoup de chose. Décomposons une commande :

Paramètres d'une commande

Bon... pour digérer tout ça, on va pratiquer. Commençons par la commande que vous connaissez déjà :
bash-3.1$ pwd
/home/superman
bash-3.1$ 
La commande cd (ou change directory qui signifie changer de repertoire) permet de changer de répertoire. Elle prend un paramètre : le répertoire dans lequel vous voulez aller (logique). Petit exercice : on regarde dans quel répertoire on est, on change de répertoire et on affiche notre nouvelle localisation :
bash-3.1$ pwd
/home/superman
bash-3.1$ cd /tmp
bash-3.1$ pwd
/tmp
bash-3.1$
Note sur l'arborescence unix : /tmp est le répertoire temporaire, l'équivalent de répertoire comme C:\TEMP ou C:\Windows\TEMP sous Microsoft Windows. Il est présent sur tous les unix.
Notez que la commande cd sans paramètre amène à votre home :
bash-3.1$ pwd
/tmp
bash-3.1$ cd 
bash-3.1$ pwd
/home/superman
bash-3.1$

Options d'une commande

La commande ls affiche le contenu d'un répertoire (par défaut, celui dans lequel vous êtes)
bash-3.1$ pwd
/home/superman
bash-3.1$ ls
Documents  plop.txt
Le répertoire /home/superman contient donc deux fichiers Document et plop.txt. ls comprend de nombreuses options. L'option -l affiche avec des détails :
bash-3.1$ ls -l
total 4
drwxr-xr-x 2 superman superheros 4096 2009-08-23 11:21 Documents
-rw-r--r-- 1 superman superheros    7 2009-08-23 11:22 plop.txt
Ici, nous pouvons voir que les deux fichiers appartiennent à l'utilisateur superman et au groupe superheros. Le fichier Documents est en fait un répertoire (sa ligne commence par d comme directory (répertoire en anglais)). Le fichier plop.txt fait 7 octets.
L'option -a de ls affiche aussi les fichiers cachés.
bash-3.1$ ls -a
.  ..  .bashrc  Documents  plop.txt
Note sur l'arborescence unix : Le répertoire . défini le répertoire courant. Le répertoire .. défini le répertoire précédent. Ainsi, si on se trouve dans /home/superman, .. fait référence à /home.

Offres cumulables

Attention, toujours plus fort, les options sont cumulables :
bash-3.1$ ls -al
total 16
drwxr-xr-x 3 superman superheros 4096 2009-08-23 11:22 .
drwxr-xr-x 4 superman superheros 4096 2009-08-23 11:31 ..
-rw-r--r-- 1 superman superheros    0 2009-08-23 11:22 .bashrc
drwxr-xr-x 2 superman superheros 4096 2009-08-23 11:21 Documents
-rw-r--r-- 1 superman superheros    7 2009-08-23 11:25 plop.txt
On affiche ici les fichiers du répertoire courant incluant les fichiers cachés, le tout avec les détails.
Le paramètre a ls donne un répertoire à afficher plutôt que le répertoire courant :
bash-3.1$ ls Documents/
Images  Telechargements
Et encore plus haut, plus fort, plus vite, on peut cumuler options et paramètres.
bash-3.1$ ls -l Documents/
total 8
drwxr-xr-x 2 ged sskadmin 4096 2009-08-23 11:33 Images
drwxr-xr-x 2 ged sskadmin 4096 2009-08-23 11:33 Telechargements

Options qui nécessitent un paramètre

La commande tar est un logiciel qui génère un fichier d'archive contenant des fichiers que l'on choisit. C'est un peu comme un fichier zip sauf qu'il n'y a pas de compression : la taille du fichier généré fera la taille de son contenu. Nous allons utiliser les options suivants : En plus des options, tar prend un paramètre : le répertoire que l'on veut "tarer".
bash-3.1$ ls
Documents  plop.txt
bash-3.1$ tar -cf sauvegarde.tar Documents/
bash-3.1$ ls
Documents  plop.txt  sauvegarde.tar

Le manuel

"Mais ? Comment savoir quelles sont les options ? A quoi elles correspondent ?" Pour ça, pas besoin d'avoir forcément une mémoire d'éléphant. Une commande permet d'avoir le manuel de toutes les autres commandes : man. Il suffit de mettre la commande pour laquelle on veut de l'aide en paramètre. Exemple : si on tape man pwd, on obtient quelque chose de la forme :
PWD(1)                             User Commands                             PWD(1)

NAME
       pwd - print name of current/working directory

SYNOPSIS
       pwd [OPTION]...

DESCRIPTION
       Print the full filename of the current working directory.

       -L, --logical
              use PWD from environment, even if it contains symlinks

       -P, --physical
              avoid all symlinks

       --help display this help and exit

       --version
              output version information and exit
Les touches flèche haut, flèche bas, page haut et page bas permettent de circuler dans le document alors que la touche "q" permet de reprendre la main.
La partie NAME donne le nom de la commande et sa description rapide. La partie SYNOPSIS donne les paramètres et options. La suite décrit le fonctionnement de ces paramètres et options. Vous y trouverez aussi des exemples bien pratiques. Dans le SYNOPSIS, ce qui se trouve entre crochets est optionnel : -a [-d] signifie que l'option -a est obligatoire et l'option -d est optionnelle. Le caractère | donne le choix : <-a|-b> signifie qu'il faut utiliser l'option -a ou -b.
Voilà ! Vous avez maintenant les bases pour faire vos premiers pas en ligne de commande. Tâchez de passer le moins de commandes en super-utilisateur root, surtout si vous débutez.

Le site : Le Livre D'Or
Autres : - Développement - Droit - Graphisme - Mes Applications - Réseau et sécurité -
Systèmes : - Généralités sur les systèmes - BeOS - BSD - GNU/Linux - IBM AIX - MS-DOS / Microsoft Windows -
Par : GEDsismik
Dernière mise à jour :
- du site : 14/09/2006
- de la page : 23/08/2009
Site hébergé par Free.
Document issu de http://gedsismik.free.fr/darkdoc/article.php?id=66.
Les informations contenues dans cette page ne sont aucunement garanties.
Toute critique constructive ou correctif est la bienvenue.
Contactez le webmaster
  Linux
 Valid HTML 4.01!  Powered by DarkDoc