如何生成*所有*可用命令和函数的列表?

如何生成*所有*可用命令和函数的列表?

在 Linux 中(我使用的是 CentOS 7),有一个内置功能可以查看所有可运行的命令。通过在控制台中按两次 Tab 键并随后出现提示来运行该命令:

Display all 1130 possibilities? (y or n)

y会将大量命令输出到控制台。

有没有办法在文件中捕获此输出?

或者这个列表已经存储在本地了吗?如果是这样,我怎样才能访问它?

答案1

我选择的解决方案是运行命令:

$ compgen -A function -abck | sort -u >> cmds.txt

将所有可运行的命令、函数和别名附加到文本文件cmds.txt

取自:https://stackoverflow.com/questions/948008/linux-command-to-list-all-available-commands-and-aliases

编辑:添加sort -u到命令以按照格伦·杰克曼的建议删除重复项

答案2

似乎compgen输出重复:也许程序出现在路径中的多个位置:

自动完成 说:

$ [tab][tab]
Display all 2328 possibilities? (y or n)

康普根 说:

$ compgen -A function -abck | wc -l
2647
$ compgen -A function -abck | sort -u | wc -l
2328

我不知道这对你来说是否重要。

相关内容