三、Linux中的输出与输入

三、Linux中的输出与输入

3.1 输入输出定义

3.1.1 输入

Stdin —标准输入流

  • 指的是系统外接向系统中传递的信息

系统外接向系统中传递数据的方式

  • 键盘/鼠标/输入命令

3.1.2 输出

Stdout—标准正确输出

  • 在命令顺利执行完成后产生的字符串
  • stdout在linux的输出编号为1

Stderr—标准错误输出

  • 在命令失败执行完成后产生的字符串
  • stderr在linux中输出的编号为2

3.1.3 字符设备

  • 旨在I/O传输过程中以字符为单位进行传输的设备,就好比键盘,打印机
  • 内存中开启的虚拟设备并真实存在

3.2 重定向输出

3.2.1 重定向输出的方法

符号 用途
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出

重定向和会覆盖源文件内容

例子:查找/etc/ 文件下的passwd 并进行重定向输出示例:

(1)原始数据:
三、Linux中的输出与输入
(2)重定向正确输出 保存命名为passwd.out

把正确输出保存到psaawd.out 文件显示错误输出

三、Linux中的输出与输入

(3)重定向错误输出 保存命名为passwd.err

把错误输出保存到passwd.err 文件显示正确输出

三、Linux中的输出与输入
(4)重定向所有输出 保存命名为 passwd.all

把全部输出保存到passwd.all文件后没有剩余文件所以没有显示输出

三、Linux中的输出与输入
再次强调重定向会覆盖源文件内容

3.3 追加

符号 用途
>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出

追加是在原始文件后继续写入

例子:在passwd .out/passwd.err/passwd.all 事先写入几行文字,在进行追加示例
(1)原始数据
三、Linux中的输出与输入
(2)追加正确输出到passwd.out

把正确输出追加到已知文件passwd.out

三、Linux中的输出与输入
(3) 追加错误输出到passwd.err

把错误输出追加到已知文件passwd .err

三、Linux中的输出与输入
(4) 追加所有输出到passwd.all

把所有输出追加到passwd.all

三、Linux中的输出与输入

3.4 管道

把输出变成后一条命令的输入

符号 用途
| 管道符
2>&1 将编号为2的输出转换为1
tee 复制输出到之指定位置

例子:
(1)管道符— |

查找/etc/文件passwd 时 得到正确结果条数

三、Linux中的输出与输入
(2)转换 ----- 2>&1

把错误的输出转换成正确输出,得到查找passwd结果的所有条数

三、Linux中的输出与输入
(3)复制输出 ----- tee

把错误输出转化成正确输出,保存成passwd.all 文件,并且得到查找passwd结果的所有条数

三、Linux中的输出与输入

3.5 输入重定向

用符号从文件中获取输入

3.5.1 一次输入重定向

(1) echo +文本+文件名

用echo进行一次重定向 覆盖原文件将hi写入file

三、Linux中的输出与输入
(2)命令 + < + 文件名

将file文件的所有小写变成大写输出。原文件不变

三、Linux中的输出与输入

3.5.2 多行输入

实现方法

command << 【输入标识】
内容
【输入标识】

例子:

在重置密码时一般要输入两次新密码,我们使用多行输入来实现一次性密码修改

(1)重置密码两次输入
三、Linux中的输出与输入
(2) 使用多行输入
三、Linux中的输出与输入
链接: linux基本命令.
链接: linux文件管理.