Shell 标准输入输出重定向

今天发现一个脚本运行后狂暴输出在屏幕上,哇哦,惊蛰了!
询问了师姐,师姐用标准输出解决了,让我恍然大悟,之前学的显然忘记了。
Linux运行程序时,通常会从键盘获取输入,然后运行后将结果返回到终端上,这就是标准的输入输出。标准输入输出的数据流动方向,标准输入:数据流动方向从键盘到程序;标准输出:数据流动方向从程序到终端。

1.2 标准输入输出重定向的命令

类型 符号 作用
标准输入重定向 command<file 讲file文件中内容作为command的输入
command<file1>file2 讲file1作为command的输入,并且将command的处理结果输出到file2
command<<END 从标准输入中读取数据,知道遇见分界符END才停止。(分界符可自己定义)
标准输出重定向 command>file 覆盖的方式输出到文件中
command>>file 追加的方式输出到文件中
标准错误输出重定向 command 2>file 覆盖的方式将错误输出到文件中
command 2>>file 追加的方式将错误输出到文件中
正确输出和错误信息同时保存 command>file 2>&1 以覆盖的方式,把正确输出和错误信息同时保存到同一个文件中
command>>file 2>&1 以追加的方式,把正确输出和错误信息同时保存到同一个文件中
command>file1 2>file2 以覆盖的方式,把正确输出输出到file1中,错误信息输出到file2 中
command>>file1 2>>file2 以追加的方式,把正确输出输出到file1中,错误信息输出到file2 中

注:

(1) > 和 1> ,> 和 2> 的区别?

> 是 1> 的简写,习惯会将 1 省去,直接写成 > ; > 或者 1> 都表示将正确信息输出。

> 是将正确信息输出;2> 是将错误信息输出;1 和 2 对应了文件描述符。

(2)> 和 >> 的区别?

> 以覆盖的方式输出; >> 以追加的方式输出。

(3)在书写 2> 或者 2>> 时,数字和符号中间不能有空格。

(4) 2>&1
我觉得这个表格太好了呀,清晰而且显而易见,哈哈哈哈
给我码住!!!!
冲!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Linux 标准输入输出 二、标准输入输出重定向 1. 标准输入输出重定向是什么? 2. 标准输入输出重定向的...
    Ada54阅读 6,493评论 0 4
  • 大多数UNIX系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读...
    Leon_Geo阅读 3,652评论 0 7
  • 大多数UNIX系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读...
    Leon_Geo阅读 2,361评论 0 2
  • 输出重定向 命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。命令输出重定向的语法为: ...
    吃猫的鱼0阅读 3,887评论 0 0
  • Shell 输入/输出重定向大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令...
    海角hust阅读 1,592评论 0 0