Linux系统中输入输出的管理

一、系统中输入输出的管理

1. 理解系统的输入输出

  • 系统运行一个程序时,需要从某个位置读取输入信息,然后经过cpu处理最后将输出显示到字符设备上,进程通过文件描述的编号通道来获取输入并输出(字符设备所在的目录是 / dev / pts
  • 输入设备: 就是键盘、鼠标和一些硬件设备在系统输入的字符
  • 输出设备: 就是系统接收到我们想要实现的命令后,经过进程的处理产生字符并且输出到屏幕上

2. 管理输入输出的符号

2.1 输入
符号用法
<单行输入
<<EOF多行输入<<EOF开始录入直到再次出现EOF结束
2.2 输出重定向
符号用法
>定向正确输出
2>定向错误输出
&>定向所有输出
> file清空文件
  • 注意:定向会覆盖原文件内容,且此实验必须在普通用户下完成

(1) find /etc/ -name passwd > file 定向正确输出到file
在这里插入图片描述

  • su - 用户 可以高级用户切换到低级用户,但是要退出exit

(2) find /etc/ -name passwd 2> file 定向错误输出到 file

在这里插入图片描述
(3) find /etc/ -name passwd &> file 定向所有输出到file

在这里插入图片描述

2.3 输出追加
符号用法
>>追加正确输出到文件最后
2>>追加错误输出到文件最后
&>>追加所有输出到文件最后
  • 注意:原文件不会被覆盖

find /etc/ -name passwd &>> file 追加所有输出到file
在这里插入图片描述

3.管道的应用

管道: 把前一条命令的输出变成后一条命令的输入

  • 管道只允许正确输出通过
  • 通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令处理的
  • 如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee

(1)find /etc/ -name passwd | wc -l 结果为2,因为错误输出不能通过管道
在这里插入图片描述
(2) find /etc -name passwd 2>&1 | wc -l 结果为19,因为编号为2的输出被“2>&1”转换为编号1\

  • 注意:“2>&1” 将一个标准错误输出重定向到标准输出 注释:1代表标准输出 2代表错误输出

在这里插入图片描述
(3) find /etc -name passwd 2>&1 | tee file | wc -l 保存一份输出到file再统计行数

  • 注意:当使用tee时,一定要注意其与wc -l的顺序,如果wc -l在前,那么输出保存的内容便是wc -l统计的结果
    在这里插入图片描述

4. 输入重定向

  • 此模式必须在root超级用户模式下才能成,且以EOF结束才可以

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值