是否有一个Linux命令将列出此终端会话的所有可用命令和别名?

就好像你输入“a”,然后按下tab键,不过是针对字母表中的每个字母。 或者运行'alias',但也返回命令。

为什么?我想运行以下命令,看看是否有可用的命令:

ListAllCommands | grep searchstr

当前回答

快捷方法列出所有命令。 打开终端,按两次“tab”键。 显示终端中的所有命令

其他回答

尝试按ALT-?(alt和问号同时输入)。给它一两秒钟的时间来构建列表。它应该在bash中工作。

compgen -c > list.txt && wc list.txt

问题是选项卡补全正在搜索您的路径,但并非所有命令都在您的路径中。

使用bash查找路径中的命令,你可以这样做:

在echo $PATH | cut -d":" -f1;做ls $x;完成

你为什么不直接输入:

seachstr

在终点站。

外壳会说

seacrhstr: command not found 

编辑:

好吧,我投反对票,因为这个答案很愚蠢,我只是想知道:这个答案有什么问题!!提问者说:

并查看是否有命令可用。

输入命令将告诉您该命令是否可用!

可能他/她的意思是“不执行命令”或“将其包含在脚本中”,但我无法读懂他的想法(并不是我不能经常读懂,只是他穿着一件 读心术偏转器)

其他命令在嵌入式系统上对我不起作用,因为它们需要bash或更完整的xargs版本(busybox是有限的)。

以下命令可以在任何类unix系统上运行。

按文件夹列出:

ls $(echo $PATH | tr ':' ' ')

按名称列出所有命令

ls $(echo $PATH | tr ':' ' ') | grep -v '/' | grep . | sort