在 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
我不知道这对你来说是否重要。