--- page corrigée --- //[[rcjcgg@gmail.com|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 à . COPYRIGHT Copyright © 2008 Free Software Foundation, Inc. Licence GPLv3+ : GNU GPL version 3 ou supérieures 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 et mise à jour pour Debian par Valéry Perrin et les mem‐ bres de la liste . 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" !\\ La commande "man -k" produit des résultats similaires à "apropos". * 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 :\\ * [[http://fr.wikipedia.org/wiki/Bourne-Again_shell|Wikipedia : "Bourne Again Shell"]] (bash).\\ * [[http://tille.garrels.be/training/bash/|"Bash Guide for beginners"]] (Guide Bash pour les débutants).\\ * [[http://www.ibm.com/developerworks/linux/library/l-bash.html|"Bash by example"]] (Bash par l'exemple), part1-2-3.\\ * [[http://abs.traduc.org/abs-fr/|"Guide avancé de script Bash"]] (traduction Fr).\\ * [[http://tldp.org/LDP/abs/html/|"Advanced Bash Scripting Guide"]] (édition originales, Eng).\\ * [[http://www.shell-fu.org/lister.php?browse|"Shell-fu, console tricks"]] (site dédié aux astuces shell).\\ * [[http://xinocat.com/refcard/|Mini-guide de survie bash Debian]] (À imprimer, mémo des commandes principales).\\ * [[http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/index.html|"Introduction au script Bash"]].\\ * [[http://grml.org/zsh/zsh-lovers.html|"zsh lovers"]] (Utilisation avancée du shell zsh, nombreux liens).\\ 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 : * [[http://www.alionet.org/index.php?showforum=92|"Aliobash" sur Alionet.org]]\\ * [[http://forum.debian-fr.org/viewtopic.php?f=8&t=3548|"Sujet permanent sur les Scripts"]] (debian-fr.org).\\ * [[http://www.debianworld.org/shellscript-fr|"Liste de diffusion shellscript Fr"]] (Debianworld.org).\\ Et beaucoup d'autres... ==================================================================== [[http://www.linuxpedia.fr/forum/index.php?action=pm;sa=send;u=15|Envoyer un message au mainteneur]] ==================================================================== [[commande:commande:|Retour au sommaire "La ligne de commande"]]