UNIX命令有内部命令和外部命令之分。内部命令实际上是shell程序的一部分,其中包含的是一些比较简练的UNIX系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在UNIX系统加载运行时shell就被加载并驻留在系统内存中。外部命令是UNIX系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以它们包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调进内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell 程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。

   理解了内部命令和外部命令之后,你可能就会有疑问了??那么我怎么看一个命令是内部命令还是外部命令呢??

   1、在终端下输入man builtins,即可调出内部命令的大纲和解释。

   2、用命令enable调出来,后者将分行打印出内部命令

     [root@localhost shell]# enable ls

      bash: enable: ls: not a shell builtin