00:00
大家好,欢迎大家继续收看上硅谷的运算课程,我是沈超老师,这节课我们继续来学习环境变量,之前我们学过了一个叫pass变量,对吧?那今天呢,我们来学习一个叫做PS1的环境变量。别把它当成索尼的U戏机啊啊,索尼的这个不是啊,索尼的U戏机已经出了PS4了啊,那我们可以直接eo当了大写了啊,把这变量都是大写了,PS1能看到里面的值。当然也可以通过赛命令也可以看到来这里还有其他的提示符,那其实这里定义的就是我们系统当前的这个提示符,那这个提示符是定义换行符之后,它这个起示符,这个加号提示我没见过啊。那么前两个呢,都是可以修改,那其实我们说啊,修改这个起示符,这个提示符还是有一定意义的,哎,前面我们一开始我们先倾下去下,我们把它输出出来。
01:00
我们一开始就在说,我说我们的骑士符是这样的。第一列是不是代表的是这个当前登录的用户?第二列是当前主机名的简写主机名,第三列是当前所在目录,第四列是不是就是提示符对吧?那它分分别对应的就是杠U的作用,杠U应意的是我当前的登录用户,杠H显示的是我当前简写主机名。杠大W就是我当前登录目录的最后一个目录,小W就是所完整目录,然后杠刀了就是我的,如果是这个超级用户就是井号,如果是普通用户就是到了提示符,那PS1呢,它还可以支持更多的这种斜杠。就是更多的这种这种选项,那可以按照你的个人习惯来进行写选项,比如说可以把时间写进去,也可以把完整主义面写进去,哎,我们默认写的主机名是这个小H也可以写,也可以写时间来按照你想要的格式来写,24小时的还是12小时制的,对吧,也可以,这个就是当前登陆用户名吧,也可以显示我当前被试的版本。
02:09
路径都是可以的啊,包括执行的命令条数都是可以的,那这个可以按照你自己的需求来改,其实我说这东西是一个习惯用法。我们接触了这个Linux,一开始就是这种标准基础,那可能改完之后呢,就或者说我们就习惯了这种标准用法,万一我改一下,我可能有时候会觉得很不方便,或者看起来很别扭,比如说我们可以试试,比如说我们把主机零显示成完整主机零可以吧,那我们怎么改呢?PS1等于就是负值嘛,注意要加单引号,单引号的原因是需要把里面这些符号都转成特,就都转成普通符号。因为这些里面本来这些反斜杠的东西都是代表转移符的东西,对吧,反而是什么会出现问题,这个它需要使用的是单引号,或者说人家默认格式是单引号,那么你也没啥好说的,照着写单引号就行了,不写单引号绝大多数显示符不会有问题,但是后面这个符号会无法正常使用啊。
03:12
写单引号,那我们中括号没有作用,直接分隔符反星号就还是显示当前登录用户艾特显示完整主机名,然后再显示个什么。个括号,比如说我还可以显示个什么,显示个时间吧,当前的24小时,这个显示小时,分钟显示时间,我这个里面显示大写的A。大写的A,然后呢,空格我们显不再显示小这个完整的不再显示大WW大W是所在目录最后一级目录。对吧,那小W显示完整目录好,然后呢,反斜杠高了,注意。这个地方有一个空格。哎,你们可以看到网络命令和按井号符之间是有空格的,这个它还是我还是习惯它有,所以我把它改过来回撤,那我们可以看到啊,首先多了一个完整主机名。
04:10
其次呢,它显示的是A坏了,这块忘写反斜杠了,所以没显示,显示的只是个A,重来一遍啊。反斜杠例啊,显示当前系统时间。对吧,当前路径呢,还是显示加目录,那我们换一个位置,比如说ETC下的,或者说U3MO下,Src下,那好你会发现它显示的是完整路径,我们前面如果用的是大W。它显示的是src,也就是最后一个目录,那如果用小W就是完整路径,哎,各位。他这里支持的选项很多啊,可以按照你自己的习惯来进行,第一啊,可以按照你自己的习惯,但是我说心里话,这个东西有时候写的太详细,有时候会出现很大的问题,为啥你看。
05:02
这提示符是不是已经到这儿了。对吧,已经都到这儿了,如果你把它再往前放点,我问你井号在这儿还没输个命令呢就换行了,看起来其实并不痛快,所以呢,我就说其实我们还是更习惯就是标准的一种默认的这种机制。那当然,如果你要愿意改,可以按照你的需求来改,那改完我觉得不痛快,我把它干嘛改回来?我把它改回来,那么。还是反斜杠U艾特,反斜杠小于空格,反斜杠大W,然后反斜杠到空格,OK,把它改回来啊,这个就是可以自定义你自己的提示符,哎,Linus啊,我就说linus理论上是所有的东西都可以自定义的。当然有一部分东西,他可能没有给你提供这样的定义的命令,但是它是开源的,如果你有你有这个能力,你完全是可以修改内核的,对吧?当然这是话说啊,但是我们说他能进你的东西还是很多的,比如说其士符就可以,当然我说。
06:11
这种金义是零时生效。我们用命令行定义的是临时生效对吧?一旦重启就会消失,那要永久生效怎么办?各位,我们一直都在说永久生效是需要写入在对应的配置文件里,那它写在默认写在哪个文件里呢?写在了ETC下的BHRC,各位,这也是一个环境变量配置文件,我们之前没有见过这个文件,我们今天打开看看。我这一章的后面啊,我们把变量讲完,在后面我们就会给大家教大家这些环境变量配置文件,它们之间在后面,在最后,这一章的最后,他们到底有哪些生效的,他们之间的调用过程是什么样子的,互相之间有一个调用过程,我们放在后面讲,你现在还是我讲哪个配置文件你就背哪,其实我们现在已经见了这个了,对吧,U马克的是不是放在这儿了,对吧。
07:07
还有那个那个那个,然后是我们这里是不是别名放在这儿了,今天看到的是这个对吧?啊行,那我们后面再详细总结,我们这里只是告诉你在这儿。打开看看,那我们可以看到往下啊,就在这。看如果这就是我们当前默认的登录符号对吧,那如果啊,看如果真要用双引号,在这个到了前面的这个斜杠前面需要加个符。换句话说啊,其实这个东西就是一个普通符号,但是如果不加,加的是这个双引号,我们说过这就变成转移符了,它就会只写直道了,对吧?而加单引号的目的是为了干嘛,我们前面是不是说过,说你们写单引号,单引号当中所有的符号是不是都会变成普通符号,这就不是转矩符了,那它只有就是说它的意思就是啥刀加。这个反斜杠它的作用就是如果是超级用户登录就是井号,如果是普通用户登就是Dollar,所以他要求就要写这样两个符号在。
08:10
而如果你加的是双引号。这个符号它就是转移符,如果是转移符前面就需要再加个转移符,把它转成普通字符才可以生效,所以啊,这里我们再说一遍,我们前面手工设这个符号,强制要求是单引号,前面那个问题不大,主要就是最后这个符号双引号是不识别的,否则你就要像他自己他写的这样,给你这个前面再加个短语说哇塞,这个更不好理解,所以你就记住了,是单引号就行,OK,就记得这个事儿啊,如果你打算永久是修改,你就改这儿就行。如果你不打算改,其实我说还是不建议改,为啥这东西就是呃骑士符嘛,呃,你习惯了一种符号之后,你换一个符号反而很别扭,对吧,所以呢,你就知道它是在这个配置文件里永久生效就可以了,OK。
09:01
好,那这是PS1的这个换境变量,那我们再讲一个换机变量啊,这个都是举过例子了,这里都强调啊,这里是单引号,小心这个之间是有个空格的啊。好,我们再讲一个叫做烂与系列量。各位。我们回顾一下我们前面说过一件事,什么?我们前面说过中文输出的问题,记得吗?我们Linux中文支持。中文支持的问题,那我们说过Linux要想支持中文,两个前提条件,第一,安装了。中文字体。和编码对吧。这个我们前面。这个安装的时候,因为使用的是终安装,所以默认已经装过。第二个要求就是。
10:01
第二个要求就是。那个什么我的操作终端。必须支持。中文显示中文编码,各位什么意思?我前面是不是说过这个事儿,我们因为我们装过了中文,所以呢,我们艾Q一下。到了烂指当中。这里保存的就是我们当前的自己中文,就按当前的编码中文编码,那这是由于我们是用的远程工具,而这个工具是Windows下的工具,所以呢,它是支持中文的,所以我们可以看到我们一些比如说杠杆这样的命令就能看到中文,对吧?但是同样的一个操作系统,我如果用虚拟机本机登录。我们如果用虚拟机本机登录,我们看一下。它的默认字体是英文字体,原因我们说过Linux的纯字符界面是不支持中文显示的,纯字符界面它不识别中文这么复杂的编码,如果要想非要让它的纯纯字符界面支持中文,是需要安装类似于z con这样的插件才可以让它支持中文。
11:14
那我说没必要,为啥我们的服务器一般都是放在远程。我们很少会本机操作对吧?那所以我们所有的远程工具其实都是支持中文的啊,那这里想说的是在烂值变量当中保存的就是你当前系统当前正在操作的编码是谁,那我们看看。我们当才是中文的对吧,那我们还可以使用local a这个是。这个不是lock啊,Lo是搜索,按文件名搜索,这是local,这是查询,我本机支持的这个这个语系的这个这个命令local,那我们说这是Linux啊。
12:01
呃,CA啊,我靠这个命令CA,这个是我当前本机我的Linux支持的中文语气有点像什么,就是你们安装的时候选择那个语言,它到底装支持哪些语言,其实Linux现在支持所有的语言,当然这些语言你有没有装是另外一回事啊,这只是说我支持这东西OK啊,那肯定有中文的,对吧。那好。那我们支持这么多语言,那我们local直接看,这就是我系统下已经安装的啊,我们系统当前已经识别的语言了,那我们可以看到local。来中文语系,我们是中文语系为主,因为我们采用的是中文安装它默认语系,这些都是默认语系都是中文,OK,那各位。这里配置文件当中定义的是我当前语系的默认语系,所谓的默认语系,也就是开机之后就支持语系,也就是开机之后就支持女性啊,那各位配置文件里写的就是这个,其实就是定义了,就是这个东西哪哪了。
13:07
前面那OK,这里面就是我们的默认中文语句啊,在这个这个ETC下的。日信C下的C4下的I18N这个文件当中,这是我当前默认语信,这些是我已经支持的预信啊,那好各位。那如果我们要是想让我们的这个,如果我们说啊,我们这个实验其实做过,我们的纯字符界面是不支持中文的,如果我非要把纯字符界面变成中文,你看啊,我现在的语气,这是我的远程工具使用的是。中文语气,所以会我的有中文显示,DF会有一些中文队列,这块我们看到了LS,或者就DF会有一些啊,这里现在是这个版本是英文的,那我们就LS。LS杠杠half是不是会显示中文,但是我们在本机当中,如果我们执行LS杠杠half,因为它的语气默认是英文语序,对吧?所以呢,我们回车你会发现它显示的是英文,看同样的内容啊,这些内容是英文,而远程工具登录之后呢,显示的是中文,看见了,那这就是由于什么我们远程工具它生效的默认语气,现在执行的语气是中文语序。
14:24
而我的本机登录执行的是英文语气,对吧?但如果我要强制给它改成中文语气,那么我们试试啊。这个这个en下划线,我们看一下啊,C是C。CH_CN点。U7F杠八,我们把它改成这个中文语序。OK,那这个时候我们看一下。我们再看一下刚刚的这个IQ的这个I,本来是英文的正常,现在看全是乱码,因为我们说本期操作是不识别中文语气的,因为这个终端不识别这么复杂的环境,所以我们系统会自动的把它改回来,系统会自动的干嘛识别这些语气环境,你要能看懂的,知道就行,那这时候英文就正常了,我们要知道的就是在这个变量当中保存的是我当前生效的这种系统环境的编码啊,系统编码,这个编码系统会自动识别,所以不需要你们调整,但是这个你要知道,我们可以通过它来调整你的中文编码这种情况啊。
15:38
好了各位,那这节课呢,我们就讲到这儿,我们。把环境变量,其实我们现在在讲环境变量,那环境变量我们也同样讲了增删改查四个东西,对吧?其次我们说过环境变量当中有一部分是系统自带的环境变量,这一部分是不能改它的,这个变量的名字名称不能改,诶怎么是命令啊,名称啊。
16:05
名称是不能改了,作用是不能改了,它只能改的是它的内容,但是这一部分会对系统操作环境产生一定的影响,那我这里举了三个变量对吧,一个就是派。这个名字不能改,它的作用也不能改,作用就是查找命令的路径对吧?能改的是不是就是里边的值对吧?然后讲了PS1,然后我们讲了lunch值,那这些语气变量,其实默认一般都不建议改变,只是告诉你我们Linux是通过这些环境变量来定义我当前的一些操作环境,好了,那这节课就是这样,我们下节课再见。
我来说两句