--- 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"]]