Linux系统中输入输出的管理

文章目录

  • 一、系统中输入输出的管理
      • 1. 理解系统的输入输出
      • 2. 管理输入输出的符号
        • 2.1 输入
        • 2.2 输出重定向
        • 2.3 输出追加
      • 3.管道的应用
      • 4. 输入重定向

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

1. 理解系统的输入输出

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

2. 管理输入输出的符号

2.1 输入

符号 用法
< 单行输入
< 多行输入<

2.2 输出重定向

符号 用法
> 定向正确输出
2> 定向错误输出
&> 定向所有输出
> file 清空文件
  • 注意:定向会覆盖原文件内容,且此实验必须在普通用户下完成

(1) find /etc/ -name passwd > file 定向正确输出到file
Linux系统中输入输出的管理_第1张图片

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

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

Linux系统中输入输出的管理_第2张图片
(3) find /etc/ -name passwd &> file 定向所有输出到file

Linux系统中输入输出的管理_第3张图片

2.3 输出追加

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

find /etc/ -name passwd &>> file 追加所有输出到file
Linux系统中输入输出的管理_第4张图片

3.管道的应用

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

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

(1)find /etc/ -name passwd | wc -l 结果为2,因为错误输出不能通过管道
Linux系统中输入输出的管理_第5张图片
(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统计的结果
    Linux系统中输入输出的管理_第6张图片

4. 输入重定向

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

Linux系统中输入输出的管理_第7张图片

你可能感兴趣的:(Linux)