Linux 基础之——命令分类及优先级(CentOS7)

一、命令的主要分为:

1内建命令:集成在shell上的命令

2)外部命令 :在硬盘中有路径存储的命令

3alias:别名,将命令/命令+选项/命令+选项+参数另起一个名字存储,个性化定制。

4hash:使用过的命令将其路径缓存。

 

 

二、为什么有内建命令?和外部命令有什么不同?

        1. CentOs7 shellbash;在Linux使用时有一些命令的使用频率较高,若是总是从硬盘数据中读取比较浪费时间且占用资源。所以bash把这些使用频率高的命令集成到             shell 当中,加快调用,称为内建命令。

   2.所以内建命令在就是为了加快外部命令调用而在shell中的备份。即每个内建命令都在外部命令(硬盘上)存在的有。

      验证:内部命令是把命令执行文件集成到shell中,而不是开机时读取到内存中:

                            A. pwd是内部命令,把其外部命令的执行文件替换成ifconfig,即执行外部的pwd时相当于执行ifconfig

                            B.    执行pwd显示ifconfig执行结果

 

                                           查看pwd类型:#} type pwd

                                                             pwd is a shell builtin

                                           禁掉pwdshell上的激活:#} enable -n pwd

                                           查看pwd路径:#} type pwd

                                                            pwd is hashed (/usr/bin/pwd)

                                           查看ifconfig类型:#} type ifconfig

                                                            ifconfig is hashed (/usr/sbin/ifconfig)

                                           清掉ifconfighash#} hash -d ifconfig

                                           ifconfig文件覆盖pwd命令文件:#} cp  /usr/sbin/ifconfig  /usr/bin/pwd

                                            结果:# pwd     显示ifconfig的运行结果

                                      这个地方忘截图了,感兴趣可以自己试试!!

                            C.    pwd内部命令被禁时:运行pwd,是ifconfig效果,是运行的外部的文件。

                           

                           

                           D. 唤醒pwd的内部激活时,运行pwd是 显示当前工作目录,运行的是集成在shell中的文件。

           所以内建命令在shell中是已经集成好的,而不是开机时从硬盘中调取缓存的

                             

                  

 

 

 

三、查看命令类型和命令调用优先级:type

             1.type加上 命令名 :查看命令类型

                         

                           截图解释:方块1.查看命令ls类型,结果是ls -color的别名。

                                             方块2.查看命令pwd类型,是shell的内建命令。

                                              方块3.查看命令touch类型,外部命令位置在/usr/bin/touch 运行了touch   命令后,再次查看显示 已被hash(缓存)。 

四、 内建命令——enable

                        

         注意:当禁用了内建命令时,此命令的外部路径就被激活使用,下图为echo举例:

       

                   1 . enable -n :没有被禁用的内建命令。

                   2. Type echo :echo是内建命令。

                   3.enable -n echo  :禁掉echo在内建的激活。

                   4.Type echo :echo外部路径被激活。

                 

             

五、别名 ——alias

                      

 六、命令路径缓存——hash

                               

     

                注意:只缓存路径。

         在没有清楚命令缓存,改变命令文件的路径,命令将不能调用。

七、命令运行优先级:

   先:alias>shell内建>hash>外部路径 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值