nous utilisons man foo
pour rechercher la commande foo
. Pour savoir de quoi il s'agit et quelle est sa tâche et trouver tous les interrupteurs.
Mais le point est quand vous voulez Do foo et vous ne savez pas quelle est la commande pour cela. Je souhaite trouver parmi les pages de manuel pour savoir quelle commande y est liée?
Ma question:
y a-t-il un moyen de deviner ce qui est commande appropriée à votre besoin sans accès à Internet et googler? et les trouver juste par l'homme sur le terminal?
Il n'y a pas de méthode fixe pour trouver une commande. Mais man -k
peut vous aider un peu.
Selon man man
man -k printf
Search the short descriptions and manual page names for the keyword
printf as regular expression. Print out any matches. Equivalent
to apropos -r printf.
Par exemple, si je veux rechercher un système de contrôle de version, je peux essayer
man -k 'version control'|grep ' (1)'
qui montre
bzr (1) - Bazaar next-generation distributed version control
Mais il n'a pas montré git
, car sa courte description est
git (1) - the stupid content tracker
qui ne correspond pas à l'expression rationnelle "contrôle de version".
Si vous savez 'sorta' à quoi votre commande est liée, vous pouvez utiliser la commande apropos
:
xenon-lornix:~> apropos change directory
alphasort (3) - scan a directory for matching entries
apt-listchanges (1) - Show new changelog entries from Debian package archives
avahi-set-Host-name (1) - Change mDNS Host name
basename (1) - strip directory and suffix from filenames
basename (1posix) - return non-directory portion of a pathname
besside-ng-crawler (1) - filter EAPOL frames from a directory of capture files.
bindtextdomain (3) - set directory containing message catalogs
BN_swap (3ssl) - exchange BIGNUMs
brk (2) - change data segment size
can_change_color (3ncurses) - curses color manipulation routines
can_change_color_sp (3ncurses) - curses screen-pointer extension
cd (1posix) - change the working directory
chacl (1) - change the access control list of a file or directory
chage (1) - change user password expiry information
chattr (1) - change file attributes on a Linux file system
chcon (1) - change file security context
chdir (2) - change working directory
chdir (3posix) - change working directory
... and 400+ more ...
Vous avez reçu autant de retours depuis apropos
par défaut en mode ou ... donc tout ce qui correspond à change
[~ # ~] ou [~ # ~] directory
est retourné. Ouf! Trop! (Bien que je puisse voir celui que nous voulons ici cependant)
xenon-lornix:~> apropos --and change directory
cd (1posix) - change the working directory
chacl (1) - change the access control list of a file or directory
chdir (2) - change working directory
chdir (3posix) - change working directory
chroot (2) - change root directory
fchdir (2) - change working directory
fchdir (3posix) - change working directory
futimesat (2) - change timestamps of a file relative to a directory file descriptor
git-stash (1) - Stash the changes in a dirty working directory away
Linux::Inotify2 (3pm) - scalable directory/file change notification
mcd (1) - change MSDOS directory
revpath (1) - generate a relative path that can be used to undo a change-directory
Cette fois, nous n'avons obtenu que 12 résultats, bien mieux! Et vous pouvez voir la commande cd (1posix)
qui peut être utile. man cd
Ou man 1posix cd
Vous montrera la page de manuel. Et si vous utilisez le shell bash
(ou zsh
ou autre ...), vérifiez toujours aussi leurs pages de manuel. man bash
Et la recherche de change
vous rapprochera de la description de la commande cd intégrée de bash. (Continuez à chercher! C'est là-dedans!)
apropos
obtient ses informations d'une base de données construite chaque nuit (cronjob), il ne recherche vraiment que le nom et description des sections des pages de manuel. Si vous voulez VRAIMENT rechercher un mot-clé, utilisez man -K
(K majuscule ici):
xenon-lornix:~> man -K M_CHECK_ACTION
(should bring up the man page for mallopt(3))
N'oubliez pas qu'il s'agit d'une touche physique BRUTE-FORCE et d'une recherche de [~ # ~] tous les [~ # ~] page de manuel sur votre système. Cela peut prendre un certain temps! Beaucoup plus rapide après que tout a été lu et mis en cache.
Vous voulez juste une liste de pages de manuel avec le mot-clé particulier?
xenon-lornix:~> man -K -w MALLOC_CHECK_
/usr/share/man/man3/malloc.3.gz
/usr/share/man/man3/malloc_get_state.3.gz
/usr/share/man/man3/mallopt.3.gz
/usr/share/man/man3/mcheck.3.gz
Trouvé en quelques pages. (Capital Kay, double-brebis minuscule)
Jetez également un œil à la page de manuel man
, avec quelques variantes intéressantes.