有没有一个工具可以总结所有命令的作用?

有没有一个工具可以总结所有命令的作用?

所以我知道,当互联网不可用时,或者当您需要高级用途时,有man一些页面可以获取文档,但是如果我处于离线状态并且我什至不知道我需要什么工具来完成这项工作怎么办?是否有一个命令可以让我查看每个程序/命令和简短说明?

答案1

一般来说:不,有些程序没有文档。

然而,apropos可能正是您所需要的。

例如,apropos ssh将列出与 ssh 相关的手册页,在我的例子中:

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 slogin具有ssh相同的手册页。也有(像往常一样)误报。

答案2

您可以使用内置的 bash(1)compgen

  • compgen -c将列出您可以运行的所有命令。
  • compgen -a将列出您可以运行的所有别名。
  • compgen -b将列出您可以运行的所有内置程序。
  • compgen -k将列出您可以运行的所有关键字。
  • compgen -A function将列出您可以运行的所有功能。
  • compgen -A function -abck将一次性列出以上所有内容。

上面的命令根据用户的权限集列出了用户的所有可用命令。我禁用了网络并测试了上面的命令,即使禁用它它也能工作。然而,对于简短的描述,据我所知,一旦你得到命令,你就可以查看手册页。

可用于查看命令描述的其他一些命令是:

apropos
whatis
less
groff

参考

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

答案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)

答案4

您可以从提示中bash开始一个简单的调用来获得help内置命令列表 和 之后用help commandname,man commandname和进行细化man -k commandname(最后将研究扩展到相关的)。

您甚至会发现阅读info coreutils和很有用info。(不仅在bash

在每个命令的页面末尾maninfo也),标题后面有一个其他相关命令的列表SEE ALSO。扩展您的研究的良好起点。

相关内容