本文主要是介绍C语言中文网 - Shell脚本 - 6,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第1章 Shell基础(开胃菜)
6. Shell命令的本质到底是什么?如何自己实现一个命令?
在前面课程中,第1章的第1节里讲到,用户通过在 Shell 中输入一些命令来使用 Linux。给命令附带不同的选项后,同一个命令的功能也会有所差异。
Shell 命令分为两种:
* Shell 自带的命令称为内置命令,它在 Shell 内部可以通过函数来实现,当 Shell 启动后,这些命令所对应的代码(函数体代码)也被加载到内存中,所以使用内置命令是非常快速的。
* 更多的命令是外部的应用程序,一个命令就对应一个应用程序。运行外部命令要开启一个新的进程,所以效率上比内置命令差很多。
用户输入一个命令后,Shell 先检测该命令是不是内置命令,如果是就执行,如果不是就检测有没有对应的外部程序:有的话就转而执行外部程序,执行结束后再回到 Shell;没有的话就报错,告诉用户该命令不存在。
内置命令
内置命令不宜过多,过多的内置命令会导致 Shell 程序本身体积膨胀,运行 Shell 程序后就会占用更多的内存。Shell 是一个常驻内存的程序,占用过多内存会影响其它的程序。
只有那些最常用的命令才有理由成为内置命令,比如 cd、kill、echo 等;你可以转到第2章里的《Shell内置命令》一节,来了解所有的内置命令,以及如何判断一个命令是否是内置命令。
外
这篇关于C语言中文网 - Shell脚本 - 6的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!