すべてのコマンドの機能を要約するツールはありますか?


8

manインターネットが利用できない場合、または高度な使用法が必要な場合にドキュメントを取得するためのページがあることを理解していますが、オフラインで仕事に必要なツールがわからない場合はどうなりますか?各プログラム/コマンドと短い説明を表示できるコマンドはありますか?

回答:


4

組み込みのbash(1)を使用できます compgen

  • compgen -c 実行できるすべてのコマンドが一覧表示されます。
  • compgen -a 実行できるすべてのエイリアスが一覧表示されます。
  • compgen -b 実行できるすべての組み込みをリストします。
  • compgen -k 実行できるすべてのキーワードがリストされます。
  • compgen -A function 実行できるすべての関数がリストされます。
  • compgen -A function -abck 上記のすべてを一度にリストします。

上記のコマンドは、特権セットに基づいてユーザーが使用できるすべてのコマンドをリストします。ネットワークを無効にして上記のコマンドをテストしましたが、無効にしても機能します。ただし、簡単に説明すると、私が知る限り、コマンドを取得すると、manページを表示できます。

コマンドの説明を表示するために使用できる他のいくつかのコマンドは、

apropos
whatis
less
groff

参考文献

https://stackoverflow.com/a/949006/1742825


もちろん、これらのコマンドを実行しても何か便利なことがあるかどうかは必ずしもわかりません。無効になっているネットワークの例をとると、pingまだ実行可能としてリストされていると思いますが、それはあまり役に立ちません。また、これはユーザーの現在のに基づいています$PATHか?つまり、コマンドが検索パスとして指定されたディレクトリの1つにない場合、コマンドは表示されませんか?
CVn 2014年

apropos -s1各コマンドの機能を1行で説明しているので、より良い答えのように見えます。この答えが貢献するのは、エイリアス、関数などのリストですが、それらの説明はありませんが、IMOの使用は制限されています。
user1404316

9

一般的に:いいえ、一部のプログラムにはドキュメントがありません。

ただし、apropos必要なものだけかもしれません。

たとえばapropos ssh、私の場合、sshに関連するmanページを一覧表示します。

authorized_keys (5)  - OpenSSH SSH daemon
git-shell (1)        - Restricted login shell for Git-only SSH access
rlogin (1)           - OpenSSH SSH client (remote login program)
rsh (1)              - OpenSSH SSH client (remote login program)
slogin (1)           - OpenSSH SSH client (remote login program)
ssh (1)              - OpenSSH SSH client (remote login program)
ssh-add (1)          - adds private key identities to the authentication agent
ssh-agent (1)        - authentication agent
ssh-argv0 (1)        - replaces the old ssh command-name as hostname     handling
ssh-copy-id (1)      - use locally available keys to authorise logins on a     remote machine
ssh-keygen (1)       - authentication key generation, management and conversion
ssh-keyscan (1)      - gather ssh public keys
ssh-keysign (8)      - ssh helper program for host-based authentication
ssh-pkcs11-helper (8) - ssh-agent helper program for PKCS#11 support
ssh_config (5)       - OpenSSH SSH client configuration files
sshd (8)             - OpenSSH SSH daemon
sshd_config (5)      - OpenSSH SSH daemon configuration file
XAllocClassHint (3)  - allocate class hints structure and set or read a window's WM_CLASS property
XClassHint (3)       - allocate class hints structure and set or read a window's WM_CLASS property
XGetClassHint (3)    - allocate class hints structure and set or read a window's WM_CLASS property
XSetClassHint (3)    - allocate class hints structure and set or read a window's WM_CLASS property
XtIsShell (3)        - obtain and verify a widget's class

あなたは理由がということで、一部のページが複数回表示され見ることができるrsh sloginssh同じmanページを持っています。また、(いつものように)誤検知があります。


私が探していたものは正確ではありませんが、間違いなく非常に役立つ類似のツールだと思います。ありがとう!
OneChillDude、2014年

おそらく、回答apropos -s1に追加してください。これにより、manセクション1のすべてのコマンドと、OPが望んでいるように見えるコマンドのみが取得されます。
user1404316 2018年

3

以下を使用して、多くのコマンドの簡単な説明を読むことができますwhatis

$ whatis pwd
pwd (1p)             - return working directory name
pwd (1)              - print name of current/working directory
pwd (n)              - Return the absolute path of the current working directory

そして、いくつかのコマンドを要求することができます:

$ whatis pwd ls ps
pwd (1p)             - return working directory name
pwd (1)              - print name of current/working directory
pwd (n)              - Return the absolute path of the current working directory
ls (1p)              - list directory contents
ls (1)               - list directory contents
ps (1)               - report a snapshot of the current processes.
ps (1p)              - report process status

したがって、と組み合わせることwhatisで、すべてのコマンドの説明のリストを生成することができますcompgen

$ whatis $(compgen -c)

STDERRでガベージを生成する場合は、 `whatis $(compgen -c)2> / dev / null`を使用してクリーンアップできます。
Hastur 2014年

2

では、プロンプトからbash単純なhelp呼び出しを開始して組み込みのコマンドリストを取得しhelp commandnameman commandnameさらに、およびman -k commandname(最後に関連するものに調査を拡張する)で調整できます。

info coreutilsとを読むと便利ですinfo。(だけでなくbash

各コマンドのmanページの最後にも(そしてinfoあまりにも)、タイトルの後に他の関連コマンドのリストがありますSEE ALSO。あなたの研究を拡大するための良い出発点。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.