如何获取可用于 Ubuntu 的所有命令的列表?

use*_*219 23 command-line

我想开始更频繁地使用终端,但我不知道我可以使用哪些不同的命令。有没有办法列出我可以使用的所有不同命令?

May*_*hux 27

第一种方法

注意:感谢@Rmano。此方法不适用于 zshshell。

一个简单的命令:

ls ${PATH//:/ }
Run Code Online (Sandbox Code Playgroud)

这将列出$PATH环境变量中的所有命令。

要将结果存储在文件中,您可以将输出重定向到文件。

ls ${PATH//:/ } > mycommands.txt
Run Code Online (Sandbox Code Playgroud)

请注意,如果您的任何目录名称$PATH包含空格,这将返回错误。在这种情况下,请改用它:

while read -d ':' dir; do echo "$dir"; done <<<$PATH
Run Code Online (Sandbox Code Playgroud)

第二种方法

你也可以使用:

compgen -c | sort -u > commands && less commands
Run Code Online (Sandbox Code Playgroud)

第三种方法

另一种方法是双击Tab

第四种方法

使用find命令的另一种方法:

find {,/usr}/{,s}bin -printf '%f\n\0'
Run Code Online (Sandbox Code Playgroud)


小智 11

如果您使用的是 bash,它是所有官方 Ubuntu 版本中的默认 shell,请运行compgen -c以查看可用命令,包括别名。

  • @Rinzwind 解释了它,我正在使用 zsh。 (2认同)