Linux中内建命令与非内建命令简单认识

  在Linux中,我们通过shell命令与内核进行对话。GNU bash shell为我们经常用的shell。Centos Ubuntu6.10以后版本 RHLE等常用linux发行版默认shell基本都为bash shell。在bash shell中区分内建命令和非内建命令(又称外部命令)。

非内建命令(外部命令)

  非内建命令时存在于bash shell之外的程序,他们并不是shell中的是一部分,如果想了解非内建命令具体有哪些,可查看/bin,/usr/bin,/sbin,/user/sbin。如果你想查看你使用的命令是否为外部命令,可使用which命令或type命令进行查看。常见的ps命令就是一个非内建命令

type命令很清晰的告诉你ps命令的类型并且告诉你所在目录。当非内建命令被执行时,会创建出一个子进程。这种操作被称为衍生。ps命令可以很方便的显示它的父进程以及自己所对应的衍生进程

从PID和PPID可以清楚的看出进程间的关系。当进程进行衍生操作时。会设置新的子进程运行环境,消耗更多的资源。

内建命令

   内建命令是bash shell中的一部分工具,不需要外部程序就可执行,当然也不用创建子进程。效率更高,执行速度更快。cd命令就是一个内建命令

使用type查看可以清楚的告诉你它是shell内建的。

 需要注意的是,有的命令可以多种实现,要查看命令的不同实现可以使用type命令的-a参数。pwd就是既有内建也有非内建,如要使用外部命令,直接指明对应文件即可



发布了19 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sandaawa/article/details/80479569