Vous pouvez utiliser le bash (1) intégré compgen
compgen -c
répertorie toutes les commandes que vous pourriez exécuter.
compgen -a
répertorie tous les alias que vous pouvez exécuter.
compgen -b
répertorie toutes les fonctions intégrées que vous pouvez exécuter.
compgen -k
répertorie tous les mots clés que vous pouvez exécuter.
compgen -A function
répertorie toutes les fonctions que vous pourriez exécuter.
compgen -A function -abck
listera tout ce qui précède en une seule fois.
La commande ci-dessus répertorie toutes les commandes disponibles pour un utilisateur en fonction de ses privilèges définis. J'ai désactivé le réseau et testé la commande ci-dessus et cela fonctionne même lorsqu'il est désactivé. Cependant, pour une courte description, pour autant que je sache, une fois que vous obtenez une commande, vous pouvez afficher la page de manuel.
Certaines autres commandes qui peuvent être utilisées pour afficher la description d'une commande sont,
apropos
whatis
less
groff
Références
https://stackoverflow.com/a/949006/1742825
ping
serait toujours répertorié comme exécutable, mais cela ne vous ferait pas grand bien. En outre, cela n'est-il pas basé sur le courant de l'utilisateur$PATH
, ce qui signifie que si une commande ne se trouve pas dans l'un des répertoires nommés comme chemin de recherche, elle n'apparaîtra jamais?apropos -s1
semble être une meilleure réponse, car elle comprend une description sur une ligne de ce que fait chaque commande. Ce que cette réponse apporte est une liste d'alias, de fonctions, etc., mais sans explication, elle est d'une utilité limitée, OMI.En général: Non, certains programmes sont livrés sans documentation.
Cependant, cela
apropos
pourrait être exactement ce dont vous avez besoin.Par exemple
apropos ssh
, listera les pages de manuel liées à ssh, dans mon cas:Vous pouvez voir certaines pages apparaître plusieurs fois, la raison étant que
rsh
slogin
etssh
avoir la même page de manuel. Il y a aussi (comme d'habitude) des faux positifs.la source
apropos -s1
, qui tirera toutes les commandes de laman
section 1, et seulement ces commandes, ce qui semble être ce que l'OP veut.Vous pouvez lire une brève description de nombreuses commandes en utilisant
whatis
:Et vous pouvez demander plusieurs commandes:
Par conséquent, vous pouvez essayer de générer une liste de descriptions de toutes les commandes en combinant
whatis
aveccompgen
:la source
Dans,
bash
vous pouvez commencer par une simplehelp
invocation à partir de l'invite pour avoir une liste de commandes intégrée et après affiner avechelp commandname
,man commandname
etman -k commandname
(la dernière pour étendre la recherche à celles associées).Vous pouvez trouver utile de lire même
info coreutils
etinfo
. (Pas seulement enbash
)À la fin des
man
pages (etinfo
aussi) pour chaque commande, il y a une liste d'autres commandes associées après le titreSEE ALSO
. Un bon point de départ pour étendre votre recherche.la source