首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux_学习之管道及数据重导向的使用

管道数据重导向将需要键盘输入的数据,通过档案内容取代:<  ,  

管道

定义:将前面命令的结果当管道符后面命令的输出,且管道可以连续使用

表现方式:|

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"

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210302A005NZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券