00:00
我们来看下一个命令是重定向命令,那在Linux中呢,重定向命令也是非常实用的,那它是可以将某个命令的输出重新定向到文件中间,隔一段时间呢,再次重定向啊,同时对比两次这个重定向的一个差异啊,这是它的一个应用场景,那重定项呢的命令呢,通常有以下这些方式,那我们来看一下啊,比如说刚刚我们已经演示过了cat ETC下的PSSWD文件,那我是否可以把这个SSWD文件重定向到啊当前目下的一个其他的文件呢?比如说其他是text啊,可以的啊,我相当于把这个命令的输出重新写到了这个text文件中回。啊。哦,报了一个错啊,因为当前我执行这句话的时候呢,和当前这个目录下有一个text文件夹是重名了,所以我们需要改一下,比如说改成嗯。
01:06
好,没有报任何错误啊,说明执行成功了啊,我cat一下,那可以看到当前啊,这个ETC下的PSSWD文件的内容就已经重定向到当前这个目中,这是这个大于号啊,大号的一个用法,那还有一个比较常用的是这个两个大于号,两个大于号什么意思呢?它代表追加。我再次开一下我我echo一个A文AA文件,我大于号从定性向到当前这个PSSWD这个文件中,大家可以看一下当前是什么效果啊,我重新之后呢,这个文件呢,就变成了AA,那之前的内容呢就不见了啊,那原因是我应用的是这个大于号是重定向,并不是重定向追加,所以呢,我可以把cat ETC下的PSSWD这个文件啊,用两个大号啊追加到这个PSWD下下划线文件中,那我执行以后呢,它没有包任何错误,我们这次再来看这个文件的时候呢,我们就可以看到刚刚的A会放到文件的最上方。
02:20
在这儿,然后ETC的PSSWD的内容呢,会追加到这个文件的下方,那这就是啊追加命令啊追加命令。还有一个命令的话,就是。将标准错误啊,重定向到标准输出,大家可以看一下哦,LS下B文件啊,它会报一个错误对吧,那我是否可以把这个错误追加到一个文件中呢?大家可以看一下啊,效果啊是追加不了的,要把B追加到log。Log中我们看一下空的啊,为什么没有这把这句话追加进去啊,因为这句话呢,是啊,打印到了标准错误上,所以我要执行LSB要把这个错误这句话追加到文件中呢,我要用二。
03:14
这样大家看可以看到没有报任何信息,这次呢,我就把这个错误信息追加到这里了啊,那这是呃文件描述符啊,比较常见的文件描述符,零呢代表标准输入,一代表标准输出,二代表标准错误,那这句话什么意思呢?这句话代表把标准错误啊从定向到标准输出啊,我们来执行一下我LB这文件。BB。写在llo中,那后边我加一句什么呢?加一句二大于取地址符一啊,这句话应该是从右往左看啊,代表把它的标准错误从定向到标准输出,同时呢,标准输出会通过这个大于号写到l log中啊,就是这样一个意思哈,那如果他要是报错误呢,比如说我LSSS当前这个文件不存在是吧?我我执行没有报任何信息,那这个信息呢,会写到这个llo中啊,大概是这个意思啊,那还有就是我这个标准错误信息我不想要了,可不可以也是可以的啊,比如LSER啊,ER这个文件当前不存在对吧?那我现在想把这个错误信息怎么了丢掉,写到哪了?写到重定向到DV下的null上。
04:53
啊,要把二重定向了ET啊,这样就可以了哈,其实这条信息呢,就代表丢弃啊,代表丢弃,那我们结合上面这个案例哈,结合上面这个案例,比如说我LB这个文件。
05:08
有没有啊,没有,然后如果他没有执行成功的话呢,我们就报啊。我写这样一句话啊,什么意思,大家可以想一下啊,也是我在执行这个BB,查看当前BB这个文件,如果他要是执行成功的情况下,就会打印出非exist啊这句话如果没有执行成功呢,就会打印一个错误信息在屏幕上,但是我这样写完之后呢,会把这个标准错误信息呢,啊,从定向到DV下的nul,就相当于我执行这句话,它什么也不会输出啊,为什么什么也不会输出,因为当前并不存在BB,所以后边这句话不会执行,那那当前没有存在BB这个错误信息呢,又被我重新定向到了第一下的n nu啊,进行丢弃啊,所以他没有做任何输出。
06:07
这是啊,介绍了一个案例哈,那其实重定向的还有一个命令就是清空文件啊,清空文件,我们通常清空文件怎么清空啊。大家可以看一下啊,首先我Du一下这个p s swd file下file这个文件它有4K对吧,我们看一下里面有没有东西啊,有东西对吧,我要清空它,有的同学可能是这样清空哈。我们可以看一下PSSWD没有东西了,其实它还是有一个啊文件结束符了,我do这个文件的时候呢,大家可以看到当前的是4K啊,那我如果要用管道呢。再看一下。是变成了零对吧,变成了零,所以我们在清空文件的时候呢,通常也用到了这个啊,重定向符号,重定向符号。
07:05
那这是重定向符号的一些主要的用法和常见的三个文件描述符,好,那这节课就介绍到这里,好,谢谢观看。如果你喜欢这个视频,也欢迎在视频的下方点赞收藏、分享和评论,那你所需要到的课程讲义课程表会在视频的下方,敬请查收。
我来说两句