数据流重导向

数据流重新导向:

数据流重新导向就是把原来通过指令要输入到屏幕中的数据导向到文件或者设备中,要存储打印还是扔掉都可以啦,是linux中一个重要的概念哦

standard output  指令回传正确信息

standard error output  指令回传错误信息

stdout stderr 默认都是输出到屏幕上的,那么能不能重新导向传送的其他文件中去咧,当然可以

传送送的特殊字符如下:

stdin 1 < << 
stdout 2 > >>  (1个<为取代,2个为累加)
stderr 3 2> 2>> 

范例:

那么查看下rootfile中有什么吧

 再执行>发现是替换了的rootfile,如果你还想保存原来的数据,那么就用>>来进行累加操作

下面来看几个很实用的应用

1.stdout和stderr分别输出

2./dev/null 黑洞装置,传给他就通通消失了

3.那么如何把正确的错误的都输入到一个文件中区呢

standard input < <<  原来键盘输入的内容,用文件内容来取代

那么 stdin的<<怎么用呢:

看到了吧,我们可以用<<右侧的控制字符来终止一次输入

命令执行的判断依据

很多时候,我们需要一次执行很多指令,要怎么操作呢

1.用javascript来执行

2.一次输入多重指令

不考虑指令相关性连续下达指令
cmd;cmd

指令回传值$?与&&或||

指令的相依性
下个指令是否执行依赖于上个指令是否执行正确(就是靠指令的回传值$?来判断)
cmd1 && cmd2
若cmd1执行完毕且执行正确($?=0),cmd2执行
若cmd1执行完毕且执行错误($?<>0),cmd2不执行
cmd1 || cmd2
若cmd1执行完毕且执行正确($?=0),cmd2不执行
若cmd1执行完毕且执行错误($?<>0),cmd2执行

那么能否如果文件夹不存在则创建,存在就不创建呢

指令的指令流程如下图:

那么下面看一个例题吧:

利用ls判断/tmp/vbirding是否存在,存在则输出exist,不存在则输出not exist

 

原文地址:https://www.cnblogs.com/gengsc/p/6912847.html