区别:
内部命令:内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。比如说,当我们执行“cd”命令时,没有进程被创建。在执行过程中只是简单的改变当前的目录。
外部命令:外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个新的进程即被创建同时命令被执行。比如说,当我们执行“ls”(通常被保存在/bin
目录下)命令时,然后/usr/bin/cat被执行。
在终端输入 help 即可列出所有的内部命令。

判断一个命令是不是内部命令用type

cd is a shell builtin 说明cd是内部命。其他两个不是内部命令。
当你不知道一个内部命令的具体用法也可以用help 如jobs的用法:

版权声明:本文为博主原创文章,未经博主允许不得转载。
shell内部命令和外部命令
原文:http://blog.csdn.net/jiushijie1207/article/details/46972405