1.外部命令
外部命令,有时候也被称为文件系统命令,是存在于bash shell之外的程序。它们并不是shell程序的一部分。外部命令通常位于/bin、/usr/bin、/sbin或/usr/sbin中。当执行这些外部命令的时候,会创建一个子进程。这种操作被称为衍生。当进程执行衍生操作时,它需要花费时间和精力来设置新子进程的环境。所以说,外部命令多少还是需要代价的。
2.内建命令
内建命令和外部命令的区别在于前者不许哟使用子进程来执行。它们已经和shell编译成一体,作为shell工具的组成部分存在。不需要借用外部程序来运行。因为既不需要通过衍生出子程序来zhixing ,也不需要打开程序文件,内建命令的执行速度要更快,效率也更高。
如何区别命令是内建命令还是外部命令
使用type命令和which命令
type -a ps
which ps