shell命令的本质

本文解析了shell命令的两种类型:内置命令和外部命令。内置命令作为shell的一部分,直接加载到内存中,执行速度快;外部命令为独立的应用程序,需在PATH环境变量指定的路径下查找并启动,执行速度相对较慢。
摘要由CSDN通过智能技术生成

一般来说,shell命令分为两种,一种是内置的命令,一种是外部命令。

1、内置命令

shell自带的命令叫做shell的内置命令,在内部是通过函数来实现的。当启动shell之后,这些命令所对应的函数代码就会被加载到内存中,因为这些命令是被直接加载到内存中,所以shell的内置命令在运行的时候是非常快的。

不过shell命令的内置命令不宜过多,过多的内置命令会让shell的体积变得很大,占用系统过多的资源。shell是一个常驻内存的程序,占用太多的内存会影响shell的运行。

2、外部命令

shell的本质就是一个函数或者一个应用程序,所以我们的外部命令也是对应一个应用程序。执行外部命令就是执行相应的程序。一般在Linux中,执行外部命令的时候,不会去所有的目录一个一个的查找是否有对应的应用程序,而只会在PATH环境变量的路径下查找是否有相应的应用程序,如果有的话就运行,没有的话就返回错误的信息给用户。

总结

Shell 内置命令的在本质上是一个自带的函数,执行内置命令也就是调用这个自带的函数。由于函数代码在 Shell 启动时候已经被加载到内存上,所以内置命令的执行速度很快。

Shell 外部命令的本质上是一个应用程序,执行外部命令也就是启动一个新的应用程序。因为要创建新的进程并把它加载应用程序的代码,所以外部命令的执行速度会很慢。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值