美文网首页
外部命令与内建命令

外部命令与内建命令

作者: Peng_001 | 来源:发表于2020-05-30 10:01 被阅读0次

shell 的命令可分为内建命令与非内建(外部)命令。二者操作方式,大不相同。

外部命令

也被称为文件系统命令,是存在于bash shell 之外的程序。它们并非shell 程序的一部分。外部命令程序通常位于/bin, /usr/bin, /sbin/usr/sbin中。一般可以通过which , type找到它们。比如ps 就是一个外部命令。

当外部命令执行时,会创建出一个子进程,这种操作称为衍生,forking。

当进程必须进行衍生操作时,它需要话费时间与精力来设置新子进程的环境。所以外部命令还是有一定代价的。

内建命令

与外部命令的区别在于,内建命令不需要使用子进程来执行。它已经作为shell 工具的组成成分而存在了。我们可以利用type 了解某个命令是否为内建命令。

$ type cd
cd is a shell builtin

比如cdexit 都是shell内建命令。

相比起外部命令,内建命令既不需要衍生出子进程来执行,也不需要打开程序文件,因此内建命令的执行速度也更快,效率也更高。

其他

有一些命令有多种实现的方式,它们即有内建命令,也有外建命令。比如pwd, echo
可以通过-a 选项查看。

 type -a echo
echo is a shell builtin
echo is /bin/echo

which 命令则只会显示外部命令文件。

相关文章

  • 第五课 linux:帮助命令help、man、info

    1、内建命令与外部命令之分2、help , man , info命令的使用以及区别 内建命令与外部命令 有一些查看...

  • linux:帮助命令help、man、info

    1、内建命令与外部命令之分2、help , man , info命令的使用以及区别 内建命令与外部命令 有一些查看...

  • linux:帮助命令help、man、info

    1、内建命令与外部命令之分2、help , man , info命令的使用以及区别 内建命令与外部命令 有一些查看...

  • 第八课:Linux下的帮助命令

    1.内建命令与外部命令 可以使用type命令来区分内建命令与外部命令。 Paste_Image.png 2.hel...

  • Linux下的帮助命令

    二、内建命令与外部命令 1.内建命令执行速度比外部命令快比如:history、cd、exit 等等。这些命令是写在...

  • linux下的帮助命令

    linux下的帮助命令 内建命令与外部命令 内建命令是天生自带的天赋技能,外部命令是后天得到的附加技能。 type...

  • 【shell笔记>命令|变量】理解内建命令与环境变量

    2017.6.29 理解shell内建命令 理解内建命令和外部命令非常重要。相比之下,外部命令使用成本更高。 外部...

  • Shell脚本(中)

    shell 数组 shell内建命令 通常来说,内建命令会比外部命令执行得更快,执行外部命令时不但会触发磁盘 I/...

  • Linux第八节帮助命令

    一、内建命令与外部命令 有一些查看帮助的工具在内建命令与外建命令上是有区别对待的。 内建命令实际上是 shell ...

  • Linux下的帮助命令

    1、内建命令与外部命令 内建命令 内建命令实际上是shell程序的一部分,其中包含的是一些比较简单的Linux系统...

网友评论

      本文标题:外部命令与内建命令

      本文链接:https://www.haomeiwen.com/subject/evkczhtx.html