00:00
好,前面我们说了,呃怎么样去查看一个文件的内容,那接下来呢,我们再来介绍其他几个比较常见的也是跟呃文件操作有关的相关的一些命令,首先呢,这个呢,其实呃,你要说跟文件有关,它也不是直接跟文件有关的,这个命令叫做echo啊,Echo大家知道有那个回声的意思,所以它本身跟文件是没有关系,它是直接输出内容到一个控制台的,就是直接输出给我们显示的,它是回声啊啊直接给我们一个反馈,所以这个其实非常的简单啊,我们就是在这里啊,我先做一个清屏clear掉,然后接下来可以直接eo,比方说我想eo什么,你直接输就可以了。比方说我说一个hello word。我们看直接在控制台就输出了一个hello word,非常简单,就像我们在编程语言里边print line啊,一个hello word一样,哎,那假如说我现在想要把这个hello word的格式调一调,假如说我这个不是逗号分割空格行不行呢?哎,可以,我们看Apple,它默认就是把后边你写的所有的内容原封不动的输出出去。
01:10
哦,那自然我们就想到了,那你要这么说的话,那我如果多空几格,它是不是也是能原封不动的输出呢?哎,艾O哈,哎,那首先我们想到可能直接可以制表符对吧?哎,但是我们知道制表符在当前另nu次环境下啊,这个控制台里边操作的时候,它是自动补全,所以这个制表符是没用的,所以我多空几格。然后word。我们看输出还是一样,所以你这儿多空几根没用,哎,那这怎么办呢?哎,其实也很简单,后面我们跟着的其实是一个字符串嘛,所以大家其实更习惯的这种写法,就是拿一个双引号把它引起来啊,这样的话里边的所有内容。都会以原样做一个输出,哎,这个就比较简单了。那自然我们就又想到另外一个问题,那我假如说里边就是想打一个制表符呢,甚至我是想来一个换行符,我想把这个hello和word分成两行打印行不行呢?
02:10
啊,其实也是可以的,我们知道那就得使用转义字符了啊,我们知道这个整个计算机系统啊,对于这个字符,字符集的一个表示,有很多控制字符,它是都都是以转义字符的形式出现的,哎,那就是一个反斜杠加上一个某一个标志啊,比如说我们这个如果要是换行的话,那就是反斜杠N。啊,那如果制表符的话,反斜杠T,这都是我们最常见的这种用法啊,那假如说我就想表示这个反斜杠本身,那怎么表示呢?那当然就是反斜杠反斜杠了,对吧?啊,其实如果说我本身。你是原封不动输出的话,你这想来想打一个反斜杠是没有问题的。你看直接可以输出,但是假如说我现在是想要换行啊,就是假如哈,然后这是换行杠N。
03:01
Word,那这就有问题了,它还是原封不动的输出啊,所以这个时候我们要增加一个选项,这个选项那就是杠一。杠E就相当于我们现在可以支持反斜线控制的转义字符表达式啊,那所以接下来我们这儿加一个杠E,然后再来。Hello,杠N。那我们看它就分成两行输出了。啊,所以我们现在有了这个杠一的选项之后,那就是所有的转义字符,哎,该怎么输出怎么输出就可以了,或者我们也可以直接输出这个引号啊,因为我们知道本身在后边引号是表示这是一个字符串的啊,那你想假如在这个输出的字符里边加上引号怎么办呢?哎,转义嘛,只要有转移,一切都可以输出。这就是eo的一个用法,那eo本身这个看起来跟文件没什么关系啊,那。我们这里想要用它做什么样的文件操作呢?啊,其实我们就想到了,它既然是可以输出内容到控制台。
04:05
那能不能把echo的某一个内容直接写到文件里边去呢?因为之前我们的做法,你要想编辑文件里面的内容都得用V去打开,打开一个文本文件,那我们现在能不能直接用命令行直接就把一个文本文件的内容改了呢?可以的啊,就这里边就涉及到了下一个知识点,那就是所谓的。输入输出重定向啊,这里边我们重点给大家说的是输出的重定向,这就是使用一个大于号和两个大于号来进行输出重定向,什么意思呢?就是我可以把前面的某一个指令。敲一个指令,这个得到的结果默认情况下是要显示在当前的控制台界面的,那如果说我加一个大于号重定向的话,就可以把它所显示的内容直接。写到一个文件里面去,那所以一个大于号,那就是直接覆盖这个文件的内容。
05:07
那如果是两个大于号呢?就是把当前的东西追加到这个文件里面去。啊,所以前面的这个指令,你看这是其实是不拘于什么指令的啊,就比方说我可以直接LS-L,把这个内容添加到一个文件里面去啊,那或者是LS-al啊,做做一个这个添加这些都是可以的,比如说。我们在这里啊,本身LS就是当前的这个内容啊,那如果要是LL的话,那我们看这就是一个详细信息,我如果把这个详细信息想要写到一个文件里面去的话,那怎么办呢?诶,那就直接LL,然后加一个大于号,接下来那就是一个文件的名称啊,比方说我这个文件就叫做info。我们看当前我并没有info这个文件。那现在相当于也就创建了一个info,那文件里边的内容应该是什么呢?我直接cat一下cat info。
06:05
我们可以看到,就是我们刚才应该LL输出的所有的内容。啊,所以这个输出重定向其实还是非常的简单的啊,哎,那假如现在我变成LS,然后把这个再写入到info,这会怎么样呢?注意,现在这是一个覆盖的写入,假如说这个时候我们再来看一下英内容的话,我们就会发现就不再是之前的内容了啊,就直接是把我们。LS的内容直接复写进去了。所以我们会发现啊,如果说我们想要去做一个追加的话,哎,那可以怎么样呢?哎,很显然就是用两个大于号,这个时候echo的用法就会更加的有用,哎,比方说我可以直接追加一句,比方说哎,我们hello Linux。然后接下来两个大于号添加到当前的in里面去,现在我们再来cat iner的时候。
07:02
就会发现,诶,下面多了一个hello Linux啊,所以这个整体来讲还是非常好用的啊,啊我们就会想到有一些配置文件,有可能我们不需要改之前的所有的东西,我只需要往后边去追加,那这个时候的话,你如果要打开V的话,说不准我做了一个什么误操作,就会把之前的某个地方改掉,哎,那假如说你不放心的话,或者说是操作能更快一点的话,那直接来一个appleo,把你想改的那句话写进去不就完了吗?哎,所以这个操作其实是非常非常的方便啊,啊,这里呢,还需要说的一个就是eo的另外一个用法就是它其实不光是可以直接把一个字符串输出到当前的控制台界面,它也可以直接去。看一下当前的系统环境变量,那系统环境变量用什么方式表示呢?一个Dollar,然后加上对应的名字,那如果说我们不知道有什么系统环境变量的话,其实也没关系,你打了这个Dollar之后,直接按table键。
08:02
我们看它会提示有111个可选项哈,那我们给一个Y,我们看到所有当前系统的环境变量就都列在这儿。诶,我们看非常有名的有一个pass啊,这个Windows里边也有,相当于就是说诶,直接在这些路径下边,我们可以去执行系统命令的,诶这样的一个环境变量啊,啊,那另外我们看这里边还有这个user啊,当前的user是谁?或者说我们前面也已经接触过的host name,当前的主机名是谁?哎,这些其实都是非常简单的一些环境变量的定义啊,那我们看这是用这个more的方式去去写的,我们直接按一个Q就退出来了啊,那比方说这里边我们直接给一个user。诶,当前是root用户啊,没有问题啊,那比方说这里我们去看一下当前的pass。我们看当前默认的pass是什么呢?哎,包含了user local s b user local b user sb user b,还有root下边的B,所有这些目录下边的命令脚本都是可以直接去执行的,前面你像这个LS啊,或者说CPMV这些命令,它明明不在我们当前的这个目录下面,它为什么可以直接执行呢?哎,就是因为这些命令它所在的路径都在我们系统的环境变量pass里边声明了,所以我们直接调用命令就像在当前目录下调用一样。
09:25
啊,这个整体来讲就是这样,整个系统的设计。那所以前面我们就看到了,你,你既然可以这样去eo的话,那我当然也就可以把当前的,哎,比如说我们当前的host name。我们可以看一下哦哈度比较零零,我就可以也把它做一个追加,追加到当前的英分里面去,现在我再来看一下。哦,我们看到现在iner里边又多了一句他杜100,所以整体来讲这个还是非常好用,呃,有很多这个实际用途的。啊,这是关于echo和输出处定向的结合起来的一些用法。
我来说两句