内键命令和外部命令

命令的基本格式

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 22:03
下一篇 2017-05-23 10:14

相关推荐

  • 马哥教育21期网络班—第8周课程+练习—-成长进行时–不退步

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:一种网路装置,负责网路桥接,将网络的多个网段在数据链路层连接起来。 集线器:将多条以太网线或光纤集合连接在同一段物理介质下的装置。工作在物理层。 二层交换机:工作在数据链路层,交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通…

    Linux干货 2016-08-24
  • rpm程序包管理器

    linux程序包管理器: 协作用户管理应用程序:安装、升级、查询、校验、卸载等 软件程序包生成过程:     源代码——》目标二进制格式–》组织成为一个或有限几个包文件     源代码:程序员写好的纯文本文档格式的代码     …

    Linux干货 2016-08-19
  • CentOS6.8启动卡死在开机进度条

    不知道什么原因CentOS6.8开机的时候卡在进度条一直进不去。就是下面的画面 在这个画面下面也看不到什么原因,果断F5切换至有显示开机进程的界面 看到了上述的错误提示:invalid user :'root' root是无效的root这是什么鬼? 接下来重新开机,进入到救援模式 开机的时候快速按一下ESC,进入到CD启动,然后选择救援模…

    Linux干货 2016-12-08
  • 第四周作业

    Linux系统文件管理使用案例 1、 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 首先,利用cp命令将/etc/skel目录复制为/home/tuser1: [root@localhost ~]# cp -r /etc/skel /home/tuser1 随后通过chmo…

    Linux干货 2018-03-24
  • yum——替你排忧解难的前端包安装工具

    yum CentOS前端工具: yum, dnf 统一资源定位符:URL YUM: Yellowdog Update Modifier,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,自动安装软件包,以及该软件包的依赖包,up2date的替代工具 yum repository: yum repo (yum仓库)  &nbsp…

    Linux干货 2016-08-24
  • 文件系统管理和挂载

    磁盘结构 设备类型:     块设备:block,存取单位“块”,例如,磁盘     字符设备:char,存取单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进而能够跟之对应硬件设备进行通信 设备号码:     主设备号:major …

    Linux干货 2016-08-29