0
点赞
收藏
分享

微信扫一扫

认识Shell

                                              1.What‘s the Shell?

   想要和内核沟通就需要用到Shell,然后才可以让内核帮助我们完成各种任务.

  •    命令行:指的是提供用户输入命令的界面,它本身只接受输入,然后把命令传给命令解释器。
  • Shell是一个程序界面,它在用户和操作系统之间提供一个可交互的接口,用户在命令行中输入命令,运行在后台的的Shell把命令转换成指令代码发送给操作系统。
  • 简单来说,用户、Shell、内核的关系如下图:

                                            认识Shell_环境变量

       Shell将这些命令解释给内核,内核执行命令后返回给Shell,然后Shell将执行结果返回给用户.

      在Linux中其实有很多的种Shell,不同的Shel提供不同的语法和特性。用户可以使用任何一种Shell,标准的Linux Shell是bash。在bash种,命令行以一个$符号作为提示符,表示用户可以输入命令了。如果以root身份执行命令,那么·Shell提示符将变成#符号。   

                                                 2.Shell命令的分类

           Linux操作系统命令可以分为两大类,一类是内部命令,就是内置在bash中的命令;另一类就是外部命令,即不是内置在bash中的命令。外部命令可以执行文件的方式存储在Linux文件系统中。有时候我i们需要知道一个命令是内部命令还是外部命令,因为在执行外部命令时可能需要给出完整的路径。

         内置在Shell中的命令,比如cd 、 echo等都是内部命令;外部命令不在Shell命令中,而在/usr/bin和/usr/sbin等目录中。大多数的命令,例如ls和cat命令。内部和外部命令的关系如下图所示:

                                            认识Shell_Shell_02

           当我们在执行外部命令的时候,Shell需要在环境变量PATH注册的目录下执行外部命令。内部命令就不参考环境变量PATH了,因为Shell是内部命令。当执行没有注册过的命令时,结果会出错。但有一种方式不会出错,那就是通过绝对路径或者以”./“开头的相对路径指定的命令执行。

                                                     环境变量PATH

      PATH只是环境变量中的一个。Shell处理的变量分为两类:一种是Shell变量,另一种就是这个环境变量了。

     Shell变量又称本地变量,里面包括私有变量和用户变量,不同的类型的Shell有不同的私有变量,有自己的特色。不过变量仅由配置的Shell程序使用,子进程不会继承。

       虽然子进程不会继承Shell变量来创建,通过export命令的参数指定一个变量,然后将其设置为由子进程继承的环境变量,并且将这个环境变量作为子进程启动应用程序的继承。总之,环境变量是通过引导Shell变量创建的。主要的几种环境变量如下:

变量名

说明

PATH

命令索索路径

HOME

定义提示

PSI

定义提示

LANG

语言提示

         设置变量是有规则的,通过”变量名=值“的方式可以设置一个变量。当变量的值有空格时就需要使用双引号或者单引号括起来。如果你设置的这个变量需要其他的子程序里面运行,可以使用export命令让这个变量变成环境变量。使用”unset变量名称“的方式可以取消变量。

       在你设置变量的时候,使用export可以实现。env命令可以显示设置的环境变量。

输入env命令后,在环境列表中的环境变量会生效。

          在bash中,Shell变量PS1表示命令提示符,PS1的默认值为”\s-\v\$“.PS1值中的字符$对于普通用户显示为$,对于root用户来说显示为#。其实这个PS1也见过,就是[root@CentOS~]这样的设置。可以在PS1中使用主要符号如下表:

符号

说明

\s

Shell名称

\v

bash版本

\u

用户名

\h

读取第一个,之前的用户名

\w

当前的工作目录

\H

显示完整的主机名

\$

提示字符

\@

显示时间,格式为12小时(am/pm)

    环境变量可以帮助我们实现很多的功能,比如根目录的变换、提示符的显示等。一般情况下,Linux中使用大写字母来设置大写字母来设置的变量是系统需要的变量。这些就是有关环境变量的基础知识。

举报

相关推荐

0 条评论