您当前的位置: 首页 >  linux

Charge8

暂无认证

  • 1浏览

    0关注

    447博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux 命令的执行过程/Shell提示符/alias命令

Charge8 发布时间:2019-12-19 16:46:23 ,浏览量:1

     在 Linux 系统中“一切皆文件”,Linux 命令也不例外。那么,当编辑完成 Linux 命令并回车后,系统底层是怎么执行的?

      

1) 内核层

    内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。

2) Shell层

    Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作。

3) 应用层

    应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),可系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window。

一、Linux 命令的执行过程

       Linux 命令的执行过程可分为 3 个步骤。

1、 用户输入命令

     1) 判断路径

         判断用户是否以绝对路径或相对路径的方式输入命令(如 /bin/ls),如果是的话直接执行。

[root@centos7 ~]# ls /root
abc  anaconda-ks.cfg  test2
[root@centos7 ~]# /bin/ls /root
abc  anaconda-ks.cfg  test2

     2) 检查别名

         Linux 系统会检查用户输入的命令是否为“别名命令”。

        alias 命令:通过 alias 命令是可以给现有命令自定义别名的,即用一个自定义的命令名称来替换原本的命令名称。也可查看命令的别名。

[root@centos7 ~]# alias ls
alias ls='ls --color=auto'
[root@centos7 ~]# alias rm
alias rm='rm -i'

2、Linux命令行解释器

     Linux命令行解释器(又称为 Shell)会判断用户输入的命令是内部命令还是外部命令。Shell 会把命令解析成二进制格式,二进制命令进入系统内核,在内核中调用相关功能。其中,内部命令指的是解释器内部的命令,会被直接执行;而用户通常输入的命令都是外部命令,这些命令交给步骤3继续处理。

    type 命令:可以判断一个命令属于内部命令还是外部命令

[root@centos7 ~]# type pwd
pwd is a shell builtin              
关注
打赏
1664721914
查看更多评论
0.0482s