如何在 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

更新于: 2021-07-30

10K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始
广告