Shell 内建命令

所谓 Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件。

例如,用于进入或者切换目录的 cd 命令,虽然我们一直在使用它,但如果不加以注意很难意识到它与普通命令的性质是不一样的:

该命令并不是某个外部文件,只要在 Shell 中你就一定可以运行这个命令。

可以使用 type 来确定一个命令是否是内建命令:

```shell
root@jdit:/tmp# type cd
cd is a shell builtin
root@jdit:/tmp# type tree
tree is /usr/bin/tree

由此可见,cd 是一个 Shell 内建命令,而 tree是一个外部文件,它的位置是/usr/bin/tree

还记得系统变量 $PATH 吗?

$PATH 变量包含的目录中几乎聚集了系统中绝大多数的可执行命令,它们都是外部命令。

通常来说,内建命令会比外部命令执行得更快,执行外部命令时不但会触发磁盘 I/O,

还需要 fork 出一个单独的进程来执行,执行完成后再退出。

而执行内建命令相当于调用当前 Shell 进程的一个函数。

下表列出了 Bash Shell 中直接可用的内建命令。

posted @ 2023-04-17 22:13  红尘过客2022  阅读(10)  评论(0编辑  收藏  举报