管道数据重导向将需要键盘输入的数据,通过档案内容取代:< ,
管道
定义:将前面命令的结果当管道符后面命令的输出,且管道可以连续使用
表现方式:|
tac /etc/passwd |grep test**数据重导向
定义:将命令的输出,保存到指定的地方保存
表现方式:> 和>>
> 表示将前面命令的结果输入到后面文件中,如文件不存在在新建,如存在,则覆盖其中内容
>> 同上功能,但不会覆盖,只会在文件后增加内容
1> 将命令正确的结果输入到其中 或1>>
2> 将命令错误的结果输入到其中 或2>>
find /home -name .bashrc > list_right 2> list_error
扩展:
set -C 禁止使用覆盖重定向至已经存在的文件
set +C 关闭上述特性
>| 在-C特性下,强制使用覆盖重定向将需要键盘输入的数据,通过档案内容取代:< , <<
# 1.通过cat建立一个档案
cat >catfile (类似 echo 'dddd' >catfiel)
输入计划的内容
ctrl+d 结束输入
# 2.用文档取代键盘输入,以建立新文档,用 **
# 将.bashrc文档内容当键盘输入,放入到newCatFile中
cat >newCatFile
# 3.通过
# 常用于在脚本中创建文件或生产菜单
# 当输入end时表示结束输入
cat > catfiel
输入计划的内容
end同时重定向标准输出和错误输出
命令 > /path/to/outfile 2>/past/to/errfile
&> 无论成功失败都定向到同一文件
command &> /path/to/somefile 表示将命令结果重定向同一文件中
1 (即默认)
2 错误
command > /path/to/somefile 2>&1 表示无论命令执行结果怎样都输出到同一文件,且打在屏幕上命令执行的判断依据(;,&&,||)
# 1.可连续执行指令
sync;sync;shutdown -h now
# 2.$? 指令回传值(可查找之前执行的命令是否正确)
# 3. cmd1 && cmd2 如果cmd1正确的执行了,则开始执行cmd2;反则亦反;
cmd1 || cmd2 如果cmd1正确执行,则cmd2不执行;反则亦反;
ls /tmp/abc || mkdir /tmp/abc
例如:ls目录/tmp/abc,存在则显示“exist”,不存在则显示“not exist”
ls /tmp/abc && echo "exist" || echo "not exist"
领取专属 10元无门槛券
私享最新 技术干货