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 faire avec cette commande.
Certains synopsis sont simples, d'autres sont 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 contient ceci :
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 écrits en souligné 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 dans 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 3 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. A chaque fois elle a la même signification : elle demande à ce que la commande affiche 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 le suivant :
Oulah, ça commence à devenir un peu plus délicat

Pourquoi il y a 3 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 qui est obligatoire dans le cas de la première ligne, 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
Ca 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 à ce que la commande détaille 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ù 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/ |
On exploite là la seconde façon d'utiliser cp (seconde ligne du synopsis). On copie 2 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
man apt-get
Plus joyeux encore : le synopsis de la commande apt-get
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 3 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). Ca 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 :
{[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". Cela veut dire que vous devez mettre une et une seule option parmi 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 ça.
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 : 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.