分类: LINUX
2010-12-12 22:16:58
shell的内部命令和外部命令
UNIX命令有内部命令和外部命令之分。内部命令实际上是shell程序的一部分,其中包含的是一些比较简练的UNIX系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在UNIX系统加载运行时shell就被加载并驻留在系统内存中。外部命令是UNIX系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以它们包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调进内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell 程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。
linux内部命令的执行速度比外部命令要快的多,这是因为在解释内部命令时shell不需要创建子进程。而外部命令需要创建单独的新进程,从而加大了系统的开销。
某些shell内部命令与系统命令具有相同的名字,但其实现方式不一样 如 shell内部命令echo 与系统命令/bin/echo名字完全一样 功能也相同 如: