12 Linux输出重定向

370次阅读
没有评论

共计 1068 个字符,预计需要花费 3 分钟才能阅读完成。

一. 标准输入类型

  • 输出即把相关对象通过输出设备(显示器等)显示出来

  • linux 中用 0 代表标准输入,1代表标准正确输出,2代表标准错误输出

类型 设备 设备文件名 文件描述符
标准输入 键盘 /dev/stdin 0
标准输出 显示器 /dev/stdout 1
标准错误输出 显示器 /dev/stderr 2

二. 输出重定向

  • 正常输出是把内容输出到 显示器 上,而输出重定向是把内容输出到 文件

1. 标准输出重定向

语法 : 例子 作用
[命令] > [文件] : ls > a.txt 覆盖 的方式, 将命令的 正确 输出结果指定到文件或设备中
[命令] >> [文件] : ls >> a.txt 追加 的方式, 将命令的 正确 输出结果指定到文件或设备中

2. 标准错误输出重定向

语法 : 例子 作用
[错误命令] 2> [文件] : lss 2> a.txt 覆盖 的方式, 将命令的 错误 输出结果指定到文件或设备中
[错误命令] 2>> [文件] : lss 2> a.txt 追加 的方式, 将命令的 错误 输出结果指定到文件或设备中

3. 正确输出和错误输出同时保存

  • 第一种语法
语法 作用
[命令] &> [文件] 覆盖 的方式, 将命令 正确和错误 输出结果指定到文件中
[命令] &>> [文件] 追加 的方式, 将命令 正确和错误 输出结果指定到文件中
  • 第二种语法 (了解)
    | 语法 | 作用 |
    | :---------------------------: | :--------------------------------------------------------: |
    | [命令] > [文件] 2>&1 | 以 覆盖 的方式, 将命令 正确和错误 输出结果指定到文件中 |
    | [命令] >> [文件] 2>&1 | 以 追加 的方式, 将命令 正确和错误 输出结果指定到文件中 |

  • 将结果写入两个不同的文件

语法 作用
[命令] > [文件 1] 2>[文件 2] 正确 输出 覆盖 文件 1 , 将 错误 输出 覆盖 文件 2
[命令] >> [文件 1] 2>>[文件 2] 正确 输出 追加 文件 1 , 将 错误 输出 追加 文件 2

三. 应用示例

1. 标准输出重定向

  • 查看 a.txt 的内容放入b.txt

12 Linux 输出重定向

2. 标准错误输出重定向

  • 将错误命令运行的错误输出放入到a.txt

12 Linux 输出重定向

3. 正确和错误输出放入同一文件: 方法一

  • 语法: [命令] &> [文件] / [命令] &>> [文件]
  • 查看两个文件,a.txt存在, xxx不存在, 将输出都放入b.txt

12 Linux 输出重定向

4. 正确和错误输出放入同一文件: 方法二

  • 语法: [命令] > [文件] 2>&1 / [命令] >> [文件] 2>>&1

  • 查看两个文件,a.txt存在, ooo不存在, 将输出都放入b.txt

12 Linux 输出重定向

5. 将正确和错误输出分别放入两个不同的文件

  • 查看存在的 a.txt 和不存在的 GGG , 正确输出放入 c.txt, 错误输出放入 d.txt

12 Linux 输出重定向

正文完
 
shawn
版权声明:本站原创文章,由 shawn 2023-06-16发表,共计1068字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)