2020-05-21 管道及IO重定向

2020-05-17  本文已影响0人  梧唯

计算机的五大构建:

    运算器、控制器:CPU

    存储器:RAM

    输入设备/输出设备

程序:指令和数据构成。

控制器:读取指令,控制运算器在哪取数据,运算器进行运算,运算结果在控制器的控制下输出到可能是存储器当中去。

地址总线:内存寻址

数据总线:传输数据

控制总线:控制指令                   一根总线,三种功能

寄存器:CPU内部的暂时存储器(在总线不够用时存储信息)

输入/输出设备:I/O:硬盘,键盘,鼠标等

INPUT设备:能够提供数据或指令

OUTPUT设备

系统设定:默认输出设备:标准输出,STDOUT,1,执行正常输出信息

                  默认输入设备:标准输入,STDIN,0(文件描述符)

                  标准错误输出:STDERR,2(和标准输出属于不同的数据流)

标准输入:键盘

标准输出和错误输出:显示器

I/O重定向:改变数据输出/输入来源

Linux:>:输出重定向,覆盖输出,会覆盖掉目标文件中原来的内容     

                    >|:强制覆盖输出(set -C也不管用)

                    >>:追加输出,保留此前文件中原有内容,在尾部新增新内容

set:一个shell内置的命令,可以控制某些功能的开关

      -C:禁止对已存在文件使用覆盖重定向(-表示开启,+表示关闭)

            2>:重定向错误输出(比如某些命令输错,报错不显示在显示器上,而显示到重定向的文件中)(如果命令输出正确,使用了2>,则只输出到显示器上,不输出到重定向的文件,因为命令正确不属于错误输出,属于标准输出)

                   2>>:追加方式

              可以将标准输出与错误输出同时写,这样无论命令正确与否都不会显示在屏幕上,甚至重定向到同一个文件也可以,因为一个命令不可能既错误又正确

            所以 &>:重定向标准输出或错误输出至同一个文件

            <:输入重定向

                    <<:Here Document 在此处生成文档     << EOF(文档结束符)(end of file)

管道:前一个命令的输出,作为后一个命令的输入

命令1 | 命令2 | 命令3 | ...

tee:从标准输入中读取,并输出到标准输出和文件(一头输入,两头输出)

上一篇 下一篇

猜你喜欢

热点阅读