码迷,mamicode.com
首页 > 系统相关 > 详细

shell 的内置命令与外部命令的区别

时间:2015-11-04 14:57:27      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:linux   内置命令   shell   外部命令   

shell命令通常分为两类:

内置命令(man builtins)

外部命令

下面分析两者的区别。


内置命令:    

        内部命令被构建在shell之中。当执行shell命令时,内部命令的执行速度非常快。这是因为没有其他的进程因为执行这条命令而被创建。比如说,当我们执行“cd”命令时,没有进程被创建。在执行过程中只是简单的改变当前的目录。


外部命令:

        外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中。当一个外部命令被执行时,一个新的进程即被创建同时命令被执行。


        通过type命令可以判断命令是内置还是外部的。


        我们该使用外部命令还是内部命令或者哪一种命令更好?像这样的问题是没有任何意义的。因为大多数情况下我们只要达成我们的目标,而不必在意使用的是内部命令还是外部命令。

        内部命令和外部命令最大的区别之处就是性能。内部命令由于构建在shell中而不必创建多余的进程,要比外部命令执行快得多。因此和执行更大的脚本道理一样,执行包含很多外部命令的脚本会损害脚本的性能。

        我们并不是总要面对内部命令与外部命令的选择。但是在我们脚本联系的过程中只要我们认真的观察,我们可以发现有些地方我们可以避免使用外部命令。



本文出自 “云飞墨舞” 博客,请务必保留此出处http://wuyunncu.blog.51cto.com/5978596/1709575

shell 的内置命令与外部命令的区别

标签:linux   内置命令   shell   外部命令   

原文地址:http://wuyunncu.blog.51cto.com/5978596/1709575

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!