LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


commande:commande-manuel

— page corrigée — oh!rocks 2009/05/02 20:51

Le manuel, pages d'info, liens utiles

La ligne de commande intègre sa propre source d'information sur la syntaxe des commandes, leurs options, etc… Le premier réflexe est donc de consulter ces aides lorsqu'on est amené à utiliser une commande.

Le manuel

Consulter le manuel est une étape indispensable, il vous renseignera sur la syntaxe de base de la commande, ses usages courants, ses options. Consulter le manuel avant de poster une question sur un forum ou une liste de diffusion, vous évitera la peu courtoise réponse “RTFM”, que l'on traduira ici par “Read The Fine Manual” (“lisez l'excellent manuel”)…

Comme le manuel est invoqué lui aussi par une commande: *man*, il dispose lui aussi de sa page de manuel. Votre première commande pourrait donc être :

$ man man

qui vous affichera la page de manuel de la commande “man”, dont voici une partie :

[...]
DESCRIPTION
       man est le programme de visualisation des pages de manuel. Chacun des arguments page, indiqué  dans
       la  ligne  de  commande de man, porte, en principe, le nom d’un programme, d’un utilitaire ou d’une
       fonction. La page de manuel correspondant à chaque argument est alors trouvée et affichée.  Si  une
       section  est  précisée alors man limite la recherche à cette section. Par défaut, il recherche dans
       toutes les sections disponibles, suivant un ordre prédéfini. Il n’affiche que la première  page  de
       manuel trouvée, même si d’autres pages de manuel existent dans d’autres sections.

       Le  tableau ci-dessous indique le numéro des sections de manuel ainsi que le type de pages qu’elles
       contiennent.


       1   Programmes exécutables ou commandes de l’interpréteur de  com‐
           mandes (shell) ;
       2   Appels système (Fonctions fournies par le noyau) ;
       3   Appels  de  bibliothèque  (fonctions  fournies  par  les  bib‐
           liothèques des programmes) ;
       4   Fichiers spéciaux (situés généralement dans /dev) ;
       5   Formats des fichiers et conventions. Par exemple /etc/passwd ;
       6   Jeux ;
       7   Divers (y compris les macropaquets et les  conventions).   Par
           exemple, man(7), groff(7) ;
       8   Commandes  de  gestion  du  système (généralement réservées au
           superutilisateur) ;
       9   Sous-programmes du noyau [hors standard].

       Une page de manuel est constituée de plusieurs parties.

       Elles peuvent être libellées NOM, SYNOPSIS, DESCRIPTION, OPTIONS, FICHIERS, VOIR AUSSI,  BOGUES  et
       AUTEUR.

       Les  conventions  suivantes  s’appliquent  à la section SYNOPSIS et peuvent être utilisées comme un
       guide pour les autres sections.


       texte gras         à taper exactement comme indiqué ;
       texte italique     à remplacer par l’argument approprié ;
       [-abc]             tous les arguments entre [ ] sont facultatifs ;
       -a|-b              les options séparées par | ne peuvent pas  être
                          utilisées simultanément ;
       argument ...       argument peut être répété ;
       [expression] ...   l’ensemble de l’expression située à l’intérieur
                          de [ ] peut être répétée.

       Le synopsis de la commande ou de la fonction est un modèle qui permet  de  représenter  toutes  les
       utilisations  possibles.  Dans  certains cas, il est recommandé d’illustrer plusieurs utilisations
       exclusives comme dans la partie SYNOPSIS de cette page de manuel.[...]

De nombreuses distributions proposent des versions localisées et traduites des pages de manuel, faites une recherche dans votre gestionnaire de paquets afin de les installer. Certaines pages de manuel ne sont pas traduites et s'afficheront par défaut en anglais.

Voyons un exemple, la page de manuel de la commande “echo” :

$ man echo

ECHO(1)                                          Commandes                                         ECHO(1)


NOM
       echo - Afficher une ligne de texte

SYNOPSIS
       echo [OPTION]... [CHAÎNE]...

DESCRIPTION
       Afficher la(les) CHAÎNE(s) en écho sur la sortie standard.

       -n     ne pas effectuer le saut de ligne final

       -e     interpréter les caractères déspécifiés par une contre-oblique

       -E     ne pas interpréter les caractères « déspécifiés » par une contre-oblique. C’est le comporte‐
              ment par défaut.

       --help afficher l’aide-mémoire et quitter

       --version
              afficher le nom et la version du logiciel et quitter

       Si -e est présent, les séquences suivantes sont reconnues :

       \0NNN  le caractère dont le code ASCII est NNN en octal

       \\     contre-oblique (« backslash »)

       \a     alerte (sonnerie)

       \b     retour en arrière d’un caractère (« backspace »)

       \c     supprimer le saut de ligne final

       \f     saut de page

       \n     nouvelle ligne

       \r     retour chariot

       \t     tabulation horizontale

       \v     tabulation verticale

       NOTE : votre interpréteur de commandes peut avoir sa  propre  version  de  echo,  qui  remplace  en
       général  la  version décrite ici. Veuillez vous référer à la documentation de votre interpréteur de
       commandes pour en connaître les options.

AUTEUR
       Auteur inconnu.

SIGNALER DES BOGUES
       Signaler toute anomalie à <bug-coreutils@gnu.org>.

COPYRIGHT
       Copyright © 2008 Free Software Foundation, Inc. Licence GPLv3+ : GNU GPL version 3  ou  supérieures
       <http://gnu.org/licenses/gpl.html>
       Ce  programme  est  un  logiciel libre. Vous pouvez le modifier et le redistribuer. Il n’y a AUCUNE
       GARANTIE dans la mesure autorisée par la loi.

VOIR AUSSI
       La documentation complète pour echo est disponible dans un manuel Texinfo. Si les  programmes  info
       et echo sont correctement installés sur votre système, la commande

              info echo

       devrait vous donner accès au manuel complet (en anglais).

TRADUCTION
       Cette page de manuel a été traduite par Michel Robitaille <robitail AT iro DOT umontreal DOT ca> et
       mise à jour pour Debian par Valéry Perrin <valery DOT perrin DOT debian AT free DOT fr> et les mem‐
       bres  de la liste <debian-l10n-french AT lists DOT debian DOT org>.  Veuillez signaler toute erreur
       de traduction par un rapport de bogue sur le paquet manpages-fr-extra.



GNU coreutils 6.9.92.4-f088d-dirty             Janvier 2008                                        ECHO(1)

La section “SYNOPSIS” vous renseigne sur la syntaxe de base : la commande, les options [facultatives], la chaîne de caractères à écrire. La section “DESCRIPTION” vous informe sur l'usage courant, et vous donne la liste des options possibles. La forme la plus simple de la commande “echo” sans option sera donc :

$ echo "mon texte"

Je vous laisse découvrir le reste de la page qui contient des informations pratiques diverses.

La sortie de la commande “man” est affichée par un “pager”, un programme chargé de la mise en forme, tel que “most”, “less”, etc… Pour faire défiler le texte vous pouvez utiliser les flèches du clavier, les touches “espace”, “page up” ou “page down” pour faire défiler par page entière, et “q” pour quitter le “pager” et revenir à la console.

Autres sources d'information : "info", "apropos", "whatis" et "--help"

  • La commande info permet également d'afficher des pages de manuels, elle permet également de naviguer dans une arborescence plus complexe, organisées en sections. Pour avoir un aperçu des fonctions de “info”, utilisez sa page de manuel, ou sa page “info” !
$ man info
$ info info

Si vous tapez simplement “info” dans une console, vous aurez un aperçu de l'ensemble des sections couvertes, et des commandes qui proposent des pages “info”. Une courte partie de la commande :

$ info
[...]
Printing Tools
* a2ps: (a2ps).                         PostScript Generating Utility
* PreScript: (a2ps) PreScript.          Input language for a2ps
* card: (a2ps) card.                    Print Reference Cards
* fixps: (a2ps) fixps.                  Fixing Some Ill Designed PostScript
                                        Files
* fixnt: (a2ps) fixnt.                  Fixing Microsoft NT PostScript Files
* pdiff: (a2ps) pdiff.                  Produce Pretty Comparison of Files
* psmandup: (a2ps) psmandup.            Printing Duplex on Simplex Printers
* psset: (a2ps) psset.                  Inserting calls to setpagedevice
* ogonkify: (ogonkify).                 Ogonkify

Video CD Tools
* VCDImager: (vcdimager).               GNU Video CD imaging utilities
* vcdimager: (vcdimager)vcdimager.      Video CD simple formatter
* vcd-info:  (vcdimager)vcd-info.       Video CD diagnostic tool
* cdxa2mpeg: (vcdimager)cdxa2mpeg.      Strip RIFF/CD-XA container
* vcdxminfo: (vcdimager)vcdxminfo.      Display MPEG stream properties
* vcdxgen: (vcdimager)vcdxgen.          Video CD XML template generator
* vcdxbuild: (vcdimager)vcdxbuild.      Video CD XML formatter
* vcd-info: (vcd-info).                 Video CD Information tool
* vcdxrip: (vcdxrip).                   Video CD Ripping tool
[...]

Lorsque vous naviguez dans une page “info”, vous pouvez utiliser les flèches du clavier pour faire défiler les pages, vous placer sur un “nœud” (indiqué par une étoile “*”) qui agit comme un lien vers un chapitre.

Tous les programmes ne sont pas couvert par des pages “info”.

  • La commande apropos permet de chercher rapidement les pages de manuels correspondant à un motif de recherche, par exemple pour “disque” :
$ apropos disque

du (1)               - Évaluer l'espace disque occupé par des fichiers
fdatasync (2)        - Synchroniser un fichier en mémoire avec le disque
fdformat (8)         - Effectuer le formatage bas niveau d'une disquette
fsync (2)            - Synchroniser un fichier en mémoire avec le disque
hd (4)               - Disques durs MFM/IDE.
initrd (4)           - Disque RAM initialisé au démarrage du système.
mkrescue (8)         - Créer une disquette de secours
partx (8)            - annoncer au noyau la présence et de la numérotation des partitions d'un disque.
quotactl (2)         - Manipuler les quotas de disque.
ram (4)              - Périphérique disque virtuel.
ramsize (8)          - Interroger/configurer l'image du périphérique racine, la taille du disque mémoir...
rdev (8)             - Interroger/configurer l'image du périphérique racine, la taille du disque mémoir...
rootflags (8)        - Interroger/configurer l'image du périphérique racine, la taille du disque mémoir...
sd (4)               - Contrôleur de disques SCSI.
swapoff (8)          - Active/désactive les périphériques et fichiers pour la pagination sur disque.
swapon (8)           - Active/désactive les périphériques et fichiers pour la pagination sur disque.
sync (2)             - Vider le tampon cache sur le disque
sync (8)             - Synchroniser les données sur le disque avec celles en mémoire
sync_file_range (2)  - Synchroniser un segment de fichier avec le disque
vidmode (8)          - Interroger/configurer l'image du périphérique racine, la taille du disque mémoir...

Vous pouvez ensuite utiliser “man” pour lire plus en détail le descriptif de l'une des commandes renvoyées. Et comme toujours pour avoir le détail des options possibles: “man apropos” !

<note>La commande “man -k” produit des résultats similaires à “apropos”.</note>

  • La commande whatis permet d'accéder à un court résumé de l'usage d'une commande, elle donne un résultat équivalent à “man -f” :
$ man -f rm
rm (1)               - Effacer des fichiers et des répertoires
$ whatis rm
rm (1)               - Effacer des fichiers et des répertoires

Mais “whatis” peut utiliser des expressions régulières comme motifs de recherches, avec l'option “-r”:

$ whatis -r ^rm
rm (1)               - Effacer des fichiers et des répertoires
rmdir (1)            - Supprimer des répertoires vides
rmdir (2)            - Supprimer un répertoire
rmt (8) [rmt-tar]    - module de gestion distante des bandes magnétiques
rmt-tar (8)          - module de gestion distante des bandes magnétiques
rmadison (1)         - - Remotely query the Debian archive database about packages
rmail (8)            - a Mail Transfer Agent
rmdir (1)            - remove empty directories
rmid (1)             - The Java RMI Activation System Daemon
rmiregistry (1)      - The Java Remote Object Registry
rmmod (8)            - simple program to remove a module from the Linux Kernel
rmt (8)              - remote magtape protocol module
rmt-tar (8)          - remote magtape protocol module

Ici nous avons recherché les commandes commençant par (^) “rm”.

  • Enfin, la plupart des commandes possèdent une aide intégrée, moins documentée que le manuel, mais pouvant dépanner lorsqu'on a juste oublié une option. Sur certains programmes en cours de développement c'est parfois la seule source d'information, les pages de manuel n'étant pas toujours une priorité pour les développeurs…

Pour accéder à l'aide il suffit d'ajouter l'option “--help” à la commande :

$ fdisk --help
Usage: fdisk [OPTION]... [DEVICE]

OPTIONs:
  -h, --help                    displays this help message
  -l, --list                    list partition table(s)
  -r, --raw-print               show the raw data in the partition table(s)
  -s, --size                    show partition size
  -L, --linux-fdisk             enable Linux fdisk compatibility mode
  -G, --gnu-fdisk               disable Linux fdisk compatibility mode
  -i, --interactive             where necessary, prompts for user intervention
  -p, --script                  never prompts for user intervention
  -u, --sector-units            use sectors instead of cylinder as a default unit
  -b, --sector-size             specify the sector size in bytes
  -C, --cilyndres               specify the number of cylinders, actually does nothing
  -H, --heads                   in lfdisk, specify the number of heads of the disk
  -S, --sectors                 in lfdisk, specify the number of sectors per track
  -t, --list-partition-types    displays a list of supported partition types
  -v, --version                 displays the version

Ressources en ligne

Si vous disposez d'une connexion Internet, vous avez accès à d'innombrables sources d'information sur la ligne de commande (la preuve ;-) ). Taper simplement “man une_commande” dans un moteur de recherche vous renverra de nombreux résultats. C'est sans doute pourquoi des alternatives à l'injonction “RTFM” sont “STFW” que nous traduirons par “Search The Fine Web” (“cherchez sur l'excellent Internet”) et “GIYF” pour “Google Is Your Friend” (“Google est ton ami”)…

Parmi ces nombreuses sources, on notera :

En plus des ressources didactiques, la plupart des forums dédiés à une distribution disposent d'une section “ligne de commande”, “script” ou “bash”, et certaines proposent des listes de diffusion dédiées :

Et beaucoup d'autres…

commande/commande-manuel.txt · Dernière modification : 2018/11/17 12:52 de 127.0.0.1