shell——内建命令

外部命令有时候也被称为文件系统命令,是存在bash shell之外的程序。它们并不是shell程序的一部分。外部命令通常位于/bin, /usr/bin, /sbin /usr/sbin中,而内建命令都是和shell编译成一体的程序,作为shell工具的组成部分存在。不需要借助外部程序文件来运行。
可以通过type命令查看命令是否是内建命令或者外部命令,如

$ type -a ps
$ type cd
image.png

当外部命令被执行时,会创建一个子进程。这种操作被称为衍生(forking)。外部命令ps很方便显示出它的父进程以及自己所对应的衍生子进程。而内建命令不需要打开程序文件,内建命令的执行速度要更快,效率更高。

image.png

注意:有些命令有多种实现。例如echo和pwd既有内建命令也有外部命令。

image.png

有两个比较好用的内建命令history 和 alias
shell会自动记录shell运行的历史记录,history命令可以查看,使用!和数字可以调用相应编号的历史命令
alias命令可以给较长的命令取别名,方便使用。

你可能感兴趣的:(shell——内建命令)