Réponses:
Faites attention au numéro de section: Supposons que vous souhaitiez obtenir de l'aide printf
. il y en a au moins deux: en shell et en C. La version bash de printf est dans la section 1, la version C est dans la section 3 ou 3C. Si vous ne savez pas laquelle vous voulez, tapez man -a printf
et toutes les pages du manuel seront affichées.
Si vous recherchez le format de printf avec tous les codes% et que celui-ci n'apparaisse pas sur la page de manuel de printf, vous pouvez accéder aux pages de manuel associées répertoriées dans la section VOIR AUSSI. Vous pouvez trouver quelque chose comme formats(5)
, qui vous suggère de taper man 5 formats
.
Si vous êtes contrarié par ce man printf
qui vous donne printf (1) et que vous voulez seulement printf (3), vous devez modifier l’ordre des répertoires analysés dans la MANPATH
variable d’environnement et placer ceux du langage C avant ceux des commandes du shell. Cela peut se produire également lorsque les pages de manuel Fortran ou TCL / Tk sont répertoriées avant les versions C.
Si vous ne savez pas par où commencer, tapez man intro
ou man -s <section> intro
. Cela vous donne un résumé des commandes de la section demandée.
Les sections sont bien définies:
Dernier point mais non le moindre: les informations fournies dans les pages de manuel ne sont pas redondantes. Lisez-les attentivement du début à la fin pour augmenter vos chances de trouver ce dont vous avez besoin.
man man
pour voir une description complète des différentes sections.
strstr()
) , et je n'avais pas d'internet autour de moi.
man -k substring
ou vous apropos substring
aurait aidé.
Tapez slash /
puis tapez la chaîne à rechercher. Puis continuez à appuyer n
pour passer à l'élément suivant
recherche homme
Cela vous donnera une liste de toutes les pages de manuel relatives à la recherche.
man -k search -s 3
aussi mentionné dans superuser.com/a/677969/599957
Comme @Steven D dit, n'oubliez pas les info
pages.
De plus, ne soyez pas intimidé par les info
pages. Je connais beaucoup de personnes qui n'utilisent pas les pages d'informations à cause du système de navigation intégré. Ma solution préférée consiste à diriger les pages d’information vers less
:
info gpg |less
De cette façon, je peux naviguer dans les info
pages en utilisant mon téléavertisseur préféré. Les info
pages se comporteront désormais comme les man
pages.
Cet apropos
utilitaire est très utile pour trouver la page de manuel appropriée.
man -k
== apropos
, n'est-ce pas?
apropos
C’est ce que j’utilise tout le temps lorsque je cherche quelque chose qui n’a pas de page de manuel pour lui-même.
Le pageur par défaut pour lire une page de manuel est less
. Il y a de la documentation less
ici .
En particulier:
ctrl+space
/ f
, ce qui peut être utile selon les doigts que vous préférez utiliser pour la navigation.
Toujours vérifier ce qui est dans la section VOIR AUSSI. Les commandes présentées dans cette section de la info
page peuvent être sélectionnées en plaçant le curseur sur la commande souhaitée, puis en appuyant sur la touche Entrée. Souvent, je trouve d'autres commandes ou fonctions utiles de cette façon.
Je suppose que l’utilisation de la plupart des pagettes est une bonne idée. Ce téléavertisseur est très puissant, mais la principale caractéristique pour moi est l’affichage de pages de manuel en couleurs. Cette fonctionnalité améliore la perception du texte brut et facilite la recherche des informations nécessaires.
Regardez la capture d'écran ci-jointe, le texte est très joli, n'est-ce pas?
most
afficher les pages de manuel?
> ~/.bashrc
car il écrasera ce qu'il contient déjà. Mieux vaut ajouter ( >>
) ou ajouter la chaux manuellement à mon avis.
aptitude install most; export MANPAGER="most"; man man
. Pour le rendre permanent:echo 'export MANPAGER="most"' >> ~/.bashrc
Sous Linux man
, vous pouvez faire man -K string
(notez la lettre majuscule K) faire une recherche par force brute d'un terme donné
-K, --global-apropos
Search for text in all manual pages. This is a brute-force
search, and is likely to take some time; if you can, you should
specify a section to reduce the number of pages that need to be
searched. Search terms may be simple strings (the default), or
regular expressions if the --regex option is used.
très utile lorsque vous ne savez pas où chercher.
Ne pas ignorer les info
pages. De nombreux outils GNU ont des pages d’informations beaucoup plus complètes que les pages de manuel. Souvent, la section SEE ALSO dit: "La documentation complète de foo est gérée dans un manuel Texinfo." Ceci est particulièrement vrai pour tout ce qui est contenu dans le paquet GNU coreutils.
De plus, si vous êtes un utilisateur d’emacs, n'oubliez pas que vous pouvez lire les pages d’information et de manuel sans quitter votre éditeur: M-x info
et M-x woman
.
Pour les pages de manuel plus longues et plus complexes, il est beaucoup plus facile de les lire sans ordinateur (bizarre, je sais) et j’ai donc ces fonctions dans mon ordinateur. .bashrc
# Print man pages
manp() { man -t "$@" | lpr -pPrinter; }
# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && \
xdg-open /tmp/manpdf_$1.pdf ;}
À partir de la réponse de Kristof, si vous tapez ( man -k chmod
vous avez), vous obtiendrez une liste des possibilités. Notez le numéro entre parenthèses, cela signifie que la section à rechercher dans les pages de manuel:
Sous UNIX, vous pouvez essayer:
man -s1 chmod
il affichera la page de manuel de la commande chmod
man -s2 chmod
il affichera la page de manuel de la fonction C lib chmod ()
Sous Linux, vous devriez changer -s
pour-S
Afficher les pages de manuel dans une application graphique conviviale:
konqueror man:(command)
Pour la table des matières de premier niveau:
konqueror man:
Fonctionnalités:
info:(command)
. Certains programmes fournissent beaucoup plus d’informations via "info" que via "man", et konqueror fournit une interface bien plus agréable pour naviguer dans ces pages d’informations. Remarque: Utiliser simplement fonctionne info:
également pour obtenir une table des matières de premier niveau.
gman
package qui établit un serveur Web de page de manuel à localhost / cgi-bin / man / man2html .
yelp
être un substitut plus léger et plus léger pour konqueror
- bien qu'il présente le défaut de ne pas présenter de table des matières ou de page d'homonymie pour les noms utilisés dans plusieurs sections. Vous devez les différencier explicitement en ajoutant .(section)
- par exemple yelp man:open.2
. Vous pouvez également utiliser <kbd> Ctrl-L </ kbd> pour ouvrir la barre d’emplacement.
Dayum, les gens! C'est quoi les réponses compliquées?! Qu'est-il arrivé à la simplicité étant la clé de la brillance et quoi non? La plupart de vos clés vi / vim fonctionneront à merveille:
/
ou ?
- Recherche en avant ou en arrière (comme certains gars l'ont déjà mentionné). Dans le premier cas, un n minuscule défilera dans les correspondances, un N majuscule reviendra en arrière. Le contraire est vrai pour ce dernier point d’interrogation.
Recherches légèrement plus complexes à travers des expressions régulières. La différence entre man
(ou less
) et VIM est que vous devez utiliser le caractère escape () pour déclarer des méta-caractères dans votre expression lorsque vous utilisez ce dernier. La bonne nouvelle est que, lorsque vous utilisez l'ancien ( man
ou less
), pas autant. Ainsi , vous pouvez facilement mettre cela à utiliser lors de la recherche, par exemple, une iptables
page de manuel pour plusieurs termes comme ceci:
/(iptables|rules)
. Si vous ne connaissez pas les expressions régulières, cela signifie "Rechercher des occurrences de mots iptables
OUrules
". Après avoir entré ceci et appuyé sur n, vous pourrez faire défiler les résultats alternés de la recherche, les résultats étant bien mis en évidence pour vous avec différentes couleurs (deux, en fait. Haha). Si vous essayez de parcourir la page et voulez vous concentrer sur des termes ou des concepts spécifiques, vous ne manquerez rien!
Et, bien sûr, pour une navigation plus rapide, vos utilisateurs habituels vi
restent debout (sans jeu de mots):
gg
ou G
- début / fin du document; (Correction! En man
vous pouvez utiliser toutes les touches mentionnées ci-dessous sans utiliser Ctrl. C'est pour vi
seulement).
Ctrl + u or d
- Faites défiler vers le haut ou le bas;
Ctrl + b or f
- Même chose, mais à plus grand pas. "Page en arrière ou en avant";
e
ou y
- faites défiler une seule ligne, mais je pense que la plupart des gens préfèrent utiliser les touches fléchées. Cependant, si vous voulez rester "1337" et "ne jamais quitter le rang principal" (comme je le fais lol), c'est la voie à suivre.
Ce que j'essaie de dire, c'est qu'UNIX a deux types principaux de contrôles de programme de clavier, qui font tous deux partie de la readline
bibliothèque: vi et emacs. Montez vos côtelettes dans l'un ou l'autre (mais, de préférence, dans les deux) et cela vous simplifiera la vie. La plupart des programmes CLI sous UNIX utilisent l'un ou l'autre. BASH
utilise les contrôles emacs par défaut, mais vous pouvez facilement le définir en "mode vi" en le tapant set -o vi
. La même chose peut être dite pour les expressions régulières, mais ça va être très différent du sujet. J'irais même jusqu'à dire que ces deux langues sont la "lingua franca" d'UNIX.
Similaire mais légèrement différent de la réponse de Rob Hoelz,
Ajoutez ce qui suit dans votre ~/.vimrc
:
let $GROFF_NO_SGR=1
runtime ftplugin/man.vim
C’est maintenant vimman
un excellent visualiseur de pages de manuel et, :Man
depuis Vim (ou simplement en tapant K
sur un mot clé), un excellent navigateur de pages de manuel.
La plupart d'entre nous définissons la variable PATH. Cela vous montrera comment faire en sorte que le chemin de recherche man corresponde à votre chemin de recherche de commande PATH.
Supposons que vous ajoutiez votre chemin pour inclure vos utilitaires personnels, spécifiques à votre travail et installés localement, tels que export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:
. Comme effet secondaire, man foo
ne montrera pas les pages de manuel stockées dans ~ / man, / workgroup / man ou / opt / local / man.
Pour résoudre ce problème, j'utilise la manpath
commande pour définir automatiquement le chemin de recherche de la page de manuel. Par exemple, mon ~ / .bashrc présente les éléments suivants. Cela fonctionne pour moi sur une centaine de systèmes exécutant tout ce qui concerne FreeBSD 4.x, Darwin et CentOS 5:
### PATH & MANPATH
# My personal utilities
export PATH=$PATH:$HOME/bin
### Set the manpath based on the PATH, after man(1) parses man.conf
# - No need to modify man.conf or manually modify MANPATH_MAP
# - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/
# See "SEARCH PATH FOR MANUAL PAGES" in man(1)
# Just set the man search path. Don't print output to screeen.
manpath >/dev/null
Certains systèmes (comme Apple Leopard) définissent le MANPATH automatiquement, mais cela signifie que votre système utilisera la variable MANPATH au lieu de l’utiliser manpath
. En conséquence, les pages de manuel pour 'MacPorts' (/ opt / local / man) sont ignorées. Je veux contrôler cela moi-même, alors je désactive MANPATH:
unset MANPATH
manpath >/dev/null
Si vous êtes ennuyé que man printf vous donne printf (1) et que vous vouliez seulement printf (3), vous pouvez indiquer à man que vous voulez le printf de la section 3 en mettant la section avant printf, comme ceci:, man 3 printf
sans avoir à changer le ordre des répertoires analysés dans la variable d’environnement MANPATH et placez ceux du langage C avant ceux des commandes du shell.
Je viens d'utiliser grep
. Si je me demandais ce que l' -s
option de la read
commande faisait, j'essaierais ces commandes dans l'ordre jusqu'à ce que j'aie une réponse:
info read |grep \\-s
man read |grep \\-s
help read |grep \\-s
Dans ce cas, seule la info
commande a fourni une réponse claire. Cette excellente réponse donne des détails sur les différents systèmes d’aide.
Pour rechercher efficacement un commutateur à caractère unique, par exemple -u
, vous pouvez souvent utiliser:
/^ *-u($|\s)
Permet de gagner beaucoup de temps si de nombreuses options ont le préfixe "-u".
/-u($|[,\s])
dans le cas où le caractère de l'option est encadré par une virgule. Mais si vous voulez voir toutes les entrées du caractère d'option 'u' (comme -u]
dans [--udp|-u]
du netstat
manuel), vous aurez besoin de quelque chose comme ceci: /-u($|[^a-z])
Et si vi
ou vim
est utilisé comme pageur: /-u\($\|[^a-z]\)
La commande apropos (1) est utilisée pour rechercher des pages de manuel. Cependant, la plupart des implémentations de apropos (1) effectuent simplement une recherche dans la section NAME, ce qui est très limitatif.
NetBSD a une implémentation de recherche de texte complet de apropos (1), capable de rechercher le contenu complet des pages de manuel. Il existe également une interface Web pour cela: man-k.org , que vous pouvez essayer.
Si vous avez du mal à lire les pages de manuel à cause du texte blanc, vous pouvez les colorier. La plupart des pages de manuel s'ouvrent avec less
. Pour less
, j'utilise les paramètres de couleur suivants à .bashrc
partir d' ici :
man() {
LESS_TERMCAP_md=$'\e[01;31m' \red
LESS_TERMCAP_me=$'\e[0m' \
LESS_TERMCAP_se=$'\e[0m' \
LESS_TERMCAP_so=$'\e[01;44;33m' \yellow on blue
LESS_TERMCAP_ue=$'\e[0m' \
LESS_TERMCAP_us=$'\e[01;32m' \green
command man "$@"
}
Ceci est pour bash et zsh. Pour most
, fish
, xterm
et rxvt
voir le lien ci - dessus.
Pour en savoir plus:
Et pour ceux qui aiment lire les pages man et info sur un écran tactile, vous pouvez rediriger man / info vers yad ou zenity et utiliser tous les goodies de gtk3 comme le défilement natif. Fonctionne également très bien avec l'écran et la souris refular:
man cat |yad --text-info
Vous pouvez également utiliser zenity ou ajouter des options yad telles que:
man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &
Astuce: via show, uri yoh peut cliquer sur les liens Web dans les pages de manuel avec la souris / le doigt.
man --help
/man -h
et son frère plus completman man
a des astuces de recherche et de navigation.