如何在 Linux 上列出所有可用的命令和别名?
Linux 为我们提供了大量的命令及其别名,我们可以利用它们。尽管这些命令服务于不同的目的,但我们仍然可以在终端的任何地方使用所有这些命令。
我们可以通过不同的方式与 Linux 命令进行交互。当涉及到列出所有可用于终端的命令时,我们也有不同的方法,我们可以自己编写 shell 脚本,或者可以使用 shell 库函数来为我们完成此操作。
让我们考虑第一种方法,我将使用一个名为 **compgen** 的 shell 库关键字,它是一个 bash 内置命令,可用于列出所有可用的命令。
语法
compgen -flag
在上述语法中,标志是一个占位符,可以根据我们的需要进行替换。
标志可以具有所有这些不同的值 -
-c - 用于列出所有可以运行的命令。
-a - 用于列出所有可以运行的别名。
-k - 用于列出所有可以运行的关键字。
-b - 用于列出所有可以运行的内置命令。
-A function - 用于列出所有可以运行的函数
-A function -abck - 用于一次列出上面显示的所有内容。
由于我们只需要列出命令及其别名,因此我们只会使用 **-c** 和 **-a** 标志。
为了使用它,只需使用下面显示的命令创建一个 shell 文件 -
touch sample.sh
现在插入下面显示的代码 -
compgen -c
然后在运行脚本之前授予脚本权限 -
chmod 777 sample.sh ./sample.sh
输出
immukul@192 Downloads % ./sample.sh if then else elif fi case esac for select while until do done in . . .
为了打印别名,我们只需要将 sample.sh 文件中的代码替换为下面显示的代码 -
compgen -a | grep ls
输出
ls is /bin/ls
广告