文章目录
三、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)原始数据:

(2)重定向正确输出 保存命名为passwd.out
把正确输出保存到psaawd.out 文件显示错误输出

(3)重定向错误输出 保存命名为passwd.err
把错误输出保存到passwd.err 文件显示正确输出

(4)重定向所有输出 保存命名为 passwd.all
把全部输出保存到passwd.all文件后没有剩余文件所以没有显示输出

再次强调重定向会覆盖源文件内容
3.3 追加
| 符号 | 用途 |
|---|---|
| >> | 追加正确输出 |
| 2>> | 追加错误输出 |
| &>> | 追加所有输出 |
追加是在原始文件后继续写入
例子:在passwd .out/passwd.err/passwd.all 事先写入几行文字,在进行追加示例
(1)原始数据

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

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

(4) 追加所有输出到passwd.all
把所有输出追加到passwd.all

3.4 管道
把输出变成后一条命令的输入
| 符号 | 用途 |
|---|---|
| | | 管道符 |
| 2>&1 | 将编号为2的输出转换为1 |
| tee | 复制输出到之指定位置 |
例子:
(1)管道符— |
查找/etc/文件passwd 时 得到正确结果条数

(2)转换 ----- 2>&1
把错误的输出转换成正确输出,得到查找passwd结果的所有条数

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

3.5 输入重定向
用符号从文件中获取输入
3.5.1 一次输入重定向
(1) echo +文本+文件名
用echo进行一次重定向 覆盖原文件将hi写入file

(2)命令 + < + 文件名
将file文件的所有小写变成大写输出。原文件不变

3.5.2 多行输入
实现方法
command << 【输入标识】
内容
【输入标识】
例子:
在重置密码时一般要输入两次新密码,我们使用多行输入来实现一次性密码修改
本文深入解析Linux中的输入输出概念,包括标准输入、标准输出、标准错误输出及字符设备的定义。详细介绍了重定向、追加、管道等操作,以及如何通过输入重定向处理文件数据,适合Linux初学者和进阶用户。


644

被折叠的 条评论
为什么被折叠?



