[RHEL7基础篇-12] 标准数据流

[RHEL7基础篇-12] 标准数据流

简介

标准输入

标准输出

标准错误

常见例子

简介

        计算机系统与外界交互主要的方式就是利用数据的输入和输出,Linux也不例外,没开展一项工作前必须有数据来源,而获取初始数据的这一过程被称作输入,最开始的数据就被称为初始数据,而经过一系列代码处理后的数据得出结果并储存到数据载体中的这一过程被称作输出,而最终得到的数据也被称为结果。在不同的系统当中会有不同的标准定义数据输入和数据输出,这就是本章要说的标准输入、标准输出和标准错误输出,在Linux当中主要的三大输入输出指的就是这三大。本章内容相对简单,只需要大概了解即可

标准输入

        标准输入(stdin):代码为0

        使用形式:

        1.符号后跟文件路径或标志符:把文件或标志符作为标准输入

        2.符号后不跟文件路径:代表标准输入

符号描述
<标准输入符号

标准输出

        标准输出 (stdout) :代码为1

        使用形式:

        1.符号后跟文件路径:把输入中的标准输出存放到文件当中

        2.符号后不跟文件路径:代表标准输出

符号描述
>覆盖输出,输出到文件时会把原来内容覆盖,与 1> 相当
>>累加输出,输出到文件时会再文件结尾累加,不会覆盖原内容,与 1>> 相当

标准错误

        标准错误输出 (stderr)代码为2

         使用形式:

        1.符号后跟文件路径:把输入中的标准错误输出存放到文件当中

        2.符号后不跟文件路径:代表标准错误输出

符号描述
2>代表输出当中的标准错误输出(会进行覆盖)
2>>代表输出当中的标准错误输出(会进行累加)

常见例子

1.

将 ls -l 的标准输出输出到 /tmp/123 当中,而 2>&1 代表标准错误也输出到标准输出当中
# ls -l > /tmp/123 2>&1

将 ls -l 的标准输出输出到 /tmp/123 当中,而标准错误输出到 /tmp/list 当中
# ls -l > /tmp/123 2> /tmp/list

将 ls -l 的标准输出输出到 /tmp/123 当中,而标准错误输出到 /dev/null 当中,
/dev/null 是一个特殊文件,是一个空设备,它会把输入的一切数据都丢掉,被称为Linux黑洞
# ls -l > /tmp/123 2> /dev/null

/root/install.log作为输入,并将当中的内容输出到 ./2 当中
# cat > 2 < /root/install.log

以Ctrl+d为结束符
# cat > 123

以eof为结束标志符,<< 表示为结束的输入字符
# cat > 123 << eof

脚本执行的错误跟踪
# shell.sh > shell.log 2>&1

2.双向重定向 tee

        双向重定向当中指的双向是指屏幕和文件 

        

        

将last的结果输出到 last.list 中,并以空格为分隔取last的第1段打印到屏幕上
# last | tee last.list | cut -d " " -f1

         

         

tee -a 参数允许数据累加,不加a是覆盖!
# ls -l / | tee -a ~/files | more

         

         

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JovaZou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值