内键命令和外部命令

命令的基本格式

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

相关推荐

  • 用户和组的配置文件

    一.linux上的用户和组   linux上的用户:       linux上的用户即Username/UID分为以下类别:         管理员:root,0    …

    Linux干货 2016-10-23
  • corosync v2+pacemaker实现mariadb的高可用

    高可用mariadb拓扑图 一、设计前提 1、时间同步 # ntpdate 172.16.0.1 或者 # chronyc sources 2、所有的主机对应的IP地址解析可以正常工作, 主机名要与命令#uname -n 所得的结果一致 因此,/etc/hosts中的内容为以下内容         172.16.23.10 node1.rj.com node…

    2017-11-02
  • 马哥教育网络班21期第10周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) POST加电自检—— 根据bios设定,顺序查找引导设备—— 读取引导设备MBR(共512字节,前446为bootloader,后64表示分区信息,后2表示bootloader有效性),加载bootloader程序—— 以grub为例,grub1.0阶段将零磁道一扇区加载到内存,gr…

    Linux干货 2016-10-24
  • Keepalive高可用Nginx服务测试

    环境   系统版本:CentOS 7.2  节点1地址:10.1.8.81  节点2地址:10.1.8.83  虚拟IP地址:10.1.8.248 安装软件     yum -y install nginx     yum -y …

    Linux干货 2017-02-16
  • N25-第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf      root (hd0,0)…

    Linux干货 2017-01-06
  • rsyslog+mysql+loganalyzer 搭建日志服务器及监控

    rsyslog 日志:历史事件; 历史事件:时间、地点、事件; syslog: klogd:kernel yslogd:system(application) 事件记录格式:日期时间 主机 进程[pid]:事件内容; C/S架构;通tcp或udp协议的服务完成日志记录的传送; rsyslog: rsyslog的特性: – 多线程; –…

    Linux干货 2017-01-10