linux-输入输出

输入输出

运行一个程序时,需要从某个位置读取输入信息,然后CPU进行处理,最后将输出的结果显示到屏幕或者文件中
进程通过文件描述符的编号通道来获取输入并输出

1、标准输入、标准输出、标准错误

在这里插入图片描述

编号通道名称描述默认连接用法
0stdin标准输入键盘
1stdout标准输出显示屏写入
2stderr标准错误显示屏写入

2、可对输出进行管理 即 输出重定向 即将输出不显示在屏幕上,而是保存到其他地方

当用普通用户执行某些命令的输出时,由于普通用户权限问题,会有一些错误输出
例如用student执行 find /etc/ -name passwd 有两条正确输出和若干错误输出,此时可以将这些正确的和错误的输出 进行输出重定向
在这里插入图片描述
在这里插入图片描述 find /etc -name passwd 1>文件名 //重定向正确输出
find /etc -name passwd 2> 文件名 //重定向错误输出
find /etc -name passwd &>文件名 //重定向所有输出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意: >, 2> ,&> 都会覆盖源文件内容 用 >> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符加到文件的最后
find /etc -name passwd >> 文件名 //追加正确输出
find /etc -name passwd 2>> 文件名 //追加错误输出
find /etc -name passwd &>>文件名 //追加所有输出

3、管道

进程间的通信方式有:管道、信号量、信号、消息队列、共享内存、套接字
(1)管道
在这里插入图片描述
符号|
作用:将前一条命令的标准输出做为管道符后面命令的标准输入
其实就是把两条命令结合在一起了,要进行两次操作
先操作第一条命令,再对第一条命令的输出执行下一条命令 实现两个功能
例如: ls /bin | wc -l //统计ls /bin 命令输出的行数
在这里插入图片描述

(2)系统中错误的输出是无法通过管道的,要想让所有的正确和错误的输出都通过管道,用 2>&1 可以把错误的输出编号由2变成1
例如: find /etc -name passwd 2>&1 | wc -l
在这里插入图片描述
(3)tee
作用:拷贝通过管道的信息存起来
在这里插入图片描述
就相当于又多了一个功能呗,把第一条命令的输出保存起来了
实现三个功能例如: date |tee file |wc -l //tee命令复制date命令的输出到file中,并统计输出行数
在这里插入图片描述
(4)练习
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值