内键命令和外部命令

命令的基本格式

COMMAND  [OPTIONS…]  [ARGUMENTS…] 

      命令 (COMMAND)

      OPTIONS(选项):用于启用或关闭命令的某个或某些功能

         短选项:-c  例如:-l、 -h、 -t、 -a   等

         长选项:- -word  例如:- -all、 – -help、  – -update 等

      ARGUMENTS(参数):命令的作用对象,如文件名、用户名等

     [ ]:为可选项


命令的执行过程


  输入命令回车后,系统提请特定的shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来


SHELL


   在Linux系统中,Shell提供了用户与内核进行交互操作的接口,它接收用户输入的命令并把它送人内核去操作,因此,shell也被称为Linux的命令解释器

   显示系统使用的shell

        echo  $SHELL

        内键命令和外部命令

   显示当前系统使用的所有shell

       cat  /etc/shells

       内键命令和外部命令

内部命令和外部命令


   在shell中可执行的命令分为内键命令和外部命令

      内键命令:集成在系统shell类型中(如bash),通过某命令形式提供,不同的shell类型所含的内键命令不同

           help   内键命令列表

           enable   查看该系统shell类型中的所有内键命令

           enable  command   启用内部命令

           enable  -n  command   禁用内部命令

           enable  -n   查看系统禁用内部命令

           例如:

           内键命令和外部命令

     外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件,表现成磁盘一个一个的独立文件,以文件路径的形式存在(如:usr/sbin/ifconfig)

           例如:

           内键命令和外部命令

    查看指定的命令是内键命令还是外部命令

          type  COMMAND

          type  -a  COMMAND  查看命令的全部类型

          type  -P  COMMAND  查看外部命令的文件路径

          例如:

          内键命令和外部命令


内键命令和外部命令的优先级

     内键命令:集成在系统shell类型中(如bash),系统开机就在内存中了,内键命令的执行直接系统调用

     外部命令:系统文件系统路径下对应的可执行程序文件,外部命令的执行依靠于系统$PATH变量下的文件路径,其中外部命令的文件路径存放在其中,    对应的外部文件却没有存放在其中,在不知道具体文件路径的情况下,系统严格按照$PATH变量下的文件路径一级一级进行寻找,找寻不到就无法执行,    除非告知具体文件路径才可执行

     echo  $PATH

     内键命令和外部命令

     当外部命令执行过一次后,外部命令相对应的文件路径就缓存到内存里了,重启之后就不在了

     内键命令和外部命令

     当把缓存到内存里的外部命令删除后,外部命令就无法执行了,所以缓存进内存里的不是外部命令的文件而是外部命令的文件路径

     综上所述,内键命令的优先于外部命令


原创文章,作者:huliyuqiangwei,如若转载,请注明出处:http://www.178linux.com/76577

(0)
huliyuqiangweihuliyuqiangwei
上一篇 2017-05-22
下一篇 2017-05-23

相关推荐

  • 关于rpm及yum的一些感想

    rpm -ivh PACKAGE_FILE  注意: (1) 不要对内核做升级操作;Linux支持多内核版本并存,因此 ,对直接安装新版本内核 v rpm {-q严格–query} [select-options] [query-options] v [se…

    Linux干货 2016-08-24
  • N26-第一周

    描述计算机的组成及功能。 计算机主要由运算器,控制器,存储器,输入、输出设备五大部件组成 运算器(Arithmetic Logic Unit, ALU):实现各种算数运算和逻辑运算(与控制器组成cpu)。 控制器(Control Unit, CU):计算机控制中心,根据程序规定的控制程序进行解释,根据要求进行调度,控 制协调各部分有条不紊的运行。 存储器(M…

    Linux干货 2017-02-03
  • linux 中条件测试判断

    文件条件测试判断:   -e 文件存在   -a 文件存在   这个选项的效果与-e相同. 但是它已经被"弃用"了, 并且不鼓励使用.   -f 表示这个文件是一个一般文件(并不是目录或者设备 文件)   -s 文件大小不为零   -d 表示这是一个目录   -b 表示…

    Linux干货 2017-02-02
  • 第三周博客作业

      开始学习已经三周了,感觉到年底有些时间不够,作业也交的越来越晚,需要加紧学习的进度了。   1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  最简单的实现题目要求的方法是使用cut命令只显示用户名并用sort命令排序去重: [root@localhost ~]# who |&nbs…

    Linux干货 2016-12-20
  • RPM与YUM命令异同详解

    RPM和YUM都是用来安装程序的工具,但是它们有太多相似的用法以至于有事很难分清应该哪个那就来一起详细的了解一下他们的功能及用法,以及他们的相同以及不同之处。 RPM 软件包管理器功能:安装,卸载,升级,查询,校验,打包,数据库管理RPM在安装时不能处理程序之间复杂的依赖关系RPM可以验证软件包来源的合法性、完整性。常用选项: -i:表示安装。(常用:-iv…

    2017-06-18
  • linux bash环境变量简单总结

    一.环境变量简介Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 …

    Linux干货 2015-09-14