Le
SYNOPSIS est une des sections les plus importantes mais aussi une des plus difficiles à lire.
Quel est le rôle du SYNOPSIS ?
Son rôle est de
lister toutes les façons possibles d'utiliser la commande. En clair, le
SYNOPSIS vous affiche toutes les combinaisons de paramètres que l'on peut réaliser avec cette commande.
Certains
SYNOPSIS sont simples, d'autres plus compliqués. Je pense que le mieux est de voir des exemples pour bien comprendre comment ça fonctionne.
man mkdir
Commençons par le man de
mkdir. La section d'introduction du manuel nous dit «
mkdir - make directories », ce qui signifie que
mkdir sert à créer des répertoires.
SYNOPSIS
La section
SYNOPSIS de
mkdir est présentée sur la figure suivante.
Même si ce
SYNOPSIS est court, il contient déjà beaucoup d'informations : il vous dit comment on doit utiliser la commande.
Détaillons point par point ce
SYNOPSIS.
- mkdir : pour utiliser la commande mkdir, vous devez commencer par taper mkdir ; ça, c'est logique.
- [OPTION] : après mkdir, vous pouvez écrire une option. Dans le SYNOPSIS, on met des crochets pour indiquer que c'est facultatif. Vous n'êtes donc pas obligés d'écrire une option.
- DIRECTORY : c'est le nom du répertoire à créer. Ce paramètre est obligatoire puisqu'il n'est pas entre crochets. C'est en effet logique : la commande mkdir sert à créer un dossier, la moindre des choses est d'indiquer le nom du dossier à créer !
- … : le terme DIRECTORY est suivi de points de suspension. Cela signifie que l'on peut répéter DIRECTORY autant de fois que l'on veut. Traduction : on peut indiquer plusieurs répertoires à la fois pour que la commande les crée tous d'un coup.
Pourquoi mkdir est écrit en gras tandis que OPTION et DIRECTORY sont soulignés ?
Les mots du
SYNOPSIS écrits en gras sont des mots à taper tels quels. Les mots soulignés, eux, doivent être remplacés par le nom approprié.
C'est logique : on doit bel et bien écrire précisément
mkdir, par contre on ne doit pas écrire
DIRECTORY mais le nom du répertoire. La présence d'un paramètre souligné signifie donc : « Remplacez le mot souligné par un mot qui convient à votre cas ».
Exemples d'utilisation
D'après le
SYNOPSIS, on doit au minimum écrire le nom du dossier. Par exemple :
Code : Console
Comme on l'a vu, les points de suspension après
DIRECTORY nous indiquent qu'on peut répéter le nom du répertoire autant de fois que l'on veut, ce qui nous permet d'en créer plusieurs d'un coup.
On peut donc aussi utiliser
mkdir comme ceci :
Code : Console | mkdir images videos musiques |
… ce qui aura pour effet de créer trois dossiers :
images,
videos et
musiques.
Maintenant, on peut aussi préciser des options facultatives. Ces options sont listées dans la section
DESCRIPTION du man juste un peu plus bas :
Code : Console | DESCRIPTION
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options
too.
-m, --mode=MODE
set file mode (as in chmod), not a=rwx - umask
-p, --parents
no error if existing, make parent directories as needed
-v, --verbose
print a message for each created directory
-Z, --context=CTX
set the SELinux security context of each created directory to
CTX
--help display this help and exit
--version
output version information and exit |
Toutes ces options peuvent être utilisées à la place de
[OPTION] dans le
SYNOPSIS.
Par exemple, l'option
-v (ou
--verbose), c'est pareil mais plus long) affiche un message après chaque répertoire créé. On peut donc écrire :
Code : Console | mkdir -v images videos musiques |
Résultat :
Code : Console | mateo21@mateo21-desktop: /tests$ mkdir -v images videos musiques
mkdir: création du répertoire `images'
mkdir: création du répertoire `videos'
mkdir: création du répertoire `musiques' |
La commande nous informe maintenant de ce qu'elle fait. Sans le
-v, la commande n'affiche rien (on dit qu'elle est silencieuse).
Vous remarquerez d'ailleurs qu'on retrouve l'option
-v dans beaucoup de commandes. Elle a chaque fois la même signification : elle demande à la commande d'afficher le détail de ce qu'elle est en train de faire. On dit alors qu'on utilise la commande en mode « verbeux » (bavard), pour bien voir tout ce qu'elle fait.
man cp
Essayons une commande un peu plus complexe :
cp. Je vous rappelle que cette commande sert à copier des fichiers et des répertoires.
SYNOPSIS
Son
SYNOPSIS est présenté sur la figure suivante.
Là, ça commence à devenir un peu plus délicat.
Pourquoi y a-t-il trois lignes, déjà ? Tout simplement parce qu'on ne pouvait pas exprimer toutes les façons d'utiliser
cp sur une seule ligne.
- Commençons par la première ligne :
cp [OPTION]… [-T] SOURCE DEST
La seule chose obligatoire ici ce sont les paramètres SOURCE (le nom du fichier à copier) et DEST (le nom de la copie à créer).
Ces fichiers peuvent être précédés d'une ou plusieurs options (remarquez les points de suspension) ainsi que de l'option -T.
- La seconde ligne est un peu différente :
cp [OPTION]… SOURCE… DIRECTORY
Cette fois, on peut copier un ou plusieurs fichiers (SOURCE…) vers un répertoire (DIRECTORY). Tout cela peut encore une fois être précédé d'une ou plusieurs options.
- Enfin, la troisième ligne :
cp [OPTION]… -t DIRECTORY SOURCE…
… signifie qu'on peut aussi écrire le répertoire (DIRECTORY) dans un premier temps, suivi d'un ou plusieurs fichiers (SOURCE…). Attention, vous remarquez que dans ce cas il est obligatoire d'utiliser le paramètre -t qui n'est plus entre crochets.
Exemples d'utilisation
Ça fait beaucoup de façons d'utiliser
cp, en fait.
Si on se base sur la première ligne, on peut juste écrire :
Code : Console | cp photo.jpg photo_copie.jpg |
… ce qui aura pour effet de créer la copie
photo_copie.jpg.
On peut aussi ajouter une ou plusieurs options. Pour connaître toutes les options disponibles, vous devrez lire la section
DESCRIPTION. Pour
cp, il y a beaucoup de choix comme vous pouvez le voir.
Par exemple, on retrouve notre mode
-v (verbeux) qui demande à la commande de détailler ce qu'elle fait. On pourrait aussi ajouter
-i qui demande confirmation si le fichier de destination existe déjà.
On peut donc faire :
Code : Console | cp -vi photo.jpg photo_copie.jpg |
Dans mon cas, le fichier
photo_copie.jpg existait déjà. L'ajout de l'option
-i va me demander confirmation pour savoir si je veux bien écraser le fichier. Je peux répondre par « o » ou « n » (pour oui ou non), ou « y » ou « n » (pour
yes ou
no).
Code : Console | mateo21@mateo21-desktop: $ cp -vi photo.jpg photo_copie.jpg
cp: écraser `photo_copie.jpg'? o
`photo.jpg' -> `photo_copie.jpg' |
Comme le fichier existait déjà, on m'a demandé confirmation. La dernière ligne est le résultat du mode verbeux qu'on a demandé.
Bien. Tout ça c'était juste pour la première ligne, dans le cas où l’on veut copier un fichier. Essayons un peu ce que propose la seconde ligne : copier un ou plusieurs fichiers dans un dossier.
Code : Console | cp photo.jpg photo_copie.jpg images/ |
Là, on exploite la seconde façon d'utiliser
cp (seconde ligne du
SYNOPSIS). On copie deux fichiers dans le sous-dossier
images/.
Bien entendu, comme l'indique le
SYNOPSIS, on peut là encore utiliser des options, comme
-v et
-i que l'on vient de voir.
Mon conseil : vous vous demandez peut-être comment je comprends la signification de chaque mot du SYNOPSIS. Par exemple, était-il évident de savoir que SOURCE correspondait au fichier que l'on voulait copier ?
Si je sais tout ça, c'est parce que j'ai lu attentivement le début de la section DESCRIPTION du man. Je vous recommande d'en faire de même quelle que soit la commande que vous êtes en train d'analyser.
Code : Console | DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. |
Cette phrase est claire, pour peu que l'on comprenne l'anglais.\newline
\newline
Elle signifie que l'on peut copier le paramètre appelé SOURCE vers DEST, ou encore (cas de la seconde ligne) plusieurs fichiers SOURCE vers un répertoire (DIRECTORY).
man apt-get
Plus joyeux encore : le
SYNOPSIS de la commande
apt-get (figure suivante).
La bonne nouvelle cette fois c'est que les créateurs d'
apt-get n'ont pas eu besoin de faire tenir la commande sur trois lignes : ils ont mis tous les cas d'utilisation possibles sur une seule ligne !
La mauvaise nouvelle, c'est que c'est un peu difficile à lire comme ça.
Décortiquons.
La commande
apt-get doit commencer par « apt-get » (ce mot est d'ailleurs écrit en gras). Ça, c'est logique.
Ensuite, vous pouvez utiliser une des options
-hvs (vous pouvez utiliser juste
-h, mais aussi
-hv,
-v,
-vs,
-hvs…). Ces options étant entre crochets, elles sont facultatives.
Pareil ensuite pour
-o et
-c ; ces options sont facultatives. En revanche, vous remarquerez qu'elles doivent être obligatoirement suivies d'une valeur. Par exemple
-o=option de configuration. Je vous rappelle que le fait que
option de configuration soit souligné signifie que vous ne devez pas recopier ces mots tels quels dans la console : vous devez les remplacer par une valeur qui convient (lisez la section
DESCRIPTION pour en savoir plus sur
-o).
La section qui m'intéresse et que je voudrais qu'on analyse plus en détail arrive juste après. Elle commence et se termine par des accolades :
Code : Console | {[update] | [upgrade] | [dselect-upgrade] | [install paquet…] | [remove paquet…] | [source paquet…] | [build-dep paquet…] | [check] | [clean] | [autoclean]} |
Vous remarquerez qu'à l'intérieur les mots sont séparés par des barres verticales «
| ». Ces barres verticales signifient « OU » , ce qui veut dire que vous devez mettre une et une seule option issue de la liste entre accolades.
Parmi ces options possibles, il y en a que vous devez connaître maintenant, comme :
- update : met à jour le cache des paquets disponibles sur votre ordinateur ;
- upgrade : met à jour tous les paquets installés si une nouvelle version est disponible ;
- install paquet… : installe le ou les paquets demandés. La présence des points de suspension après « paquet » signifie que vous pouvez indiquer plusieurs paquets à installer d'un coup ;
- etc.
Il y a bien d'autres mots clés utilisables. Pour voir la signification de chacun d'eux, je vous invite à lire la section
DESCRIPTION du man qui sert précisément à expliquer cela.
Exemples d'utilisation
Le
SYNOPSIS indique donc qu'on doit choisir une des options entre accolades séparées par des barres verticales.
On peut donc écrire :
Code : Console | apt-get install monpaquet |
Ou encore :
Code : Console
Ou encore :
Code : Console
En revanche,
on ne peut pas utiliser simultanément deux options séparées par une barre verticale :
Code : Console | INTERDIT :
apt-get update install monpaquet |
Le
SYNOPSIS nous avait bien dit : « Utilisez
update OU
install OU
upgrade (OU
…), mais pas deux éléments de cette liste à la fois ».
Souvenez-vous donc que les barres verticales signifient « OU » et tout ira bien.
Résumé de la syntaxe du SYNOPSIS
Voici un petit résumé de la syntaxe du
SYNOPSIS pour vous souvenir de la façon dont chaque élément doit être interprété :
- gras : tapez le mot exactement comme indiqué ;
- <souligne>souligne</souligne> : remplacez le mot souligné par la valeur qui convient dans votre cas ;
- [-hvc] : toutes les options -h, -v et -c sont facultatives ;
- a|b : vous pouvez écrire l'option « a » OU « b », mais pas les deux à la fois ;
- option… : les points de suspension indiquent que l'option peut être répétée autant de fois que vous voulez.