10标准i/o输入输出重定向及管道

小小ITa 小小ITa     2022-11-29     741

关键词:

标准输入及输出

linux提供三种I/O设备

标准输入stdin -0 默认接受来自终端的输入

标准输出stdout -1 默认输出到终端窗口

标准错误stderr -2 默认输出到终端窗口

I/O重定向redirect

I/O重定向:将默认的输入,输出或错误对应的设备改变,指向新的目标

标准输出和错误重定向

stdout和stderr可以被重定向到指定文件,而非默认的当前终端; 格式 :命令   操作符 文件名

1>   或   > 把stdout重定向到文件

2>            把stderr重定向到文件

&>           把所有输出重定向到文件        

以上如果文件已存在,文件内容会被覆盖

set -c 禁止将内容覆盖已有文件,但可最佳,利用 >| 仍可强制覆盖

set +c 允许覆盖,默认设置

使用  >>可以在原有的内容上追加内容(>>            2>>     &>>)

10、标准I/O输入输出重定向及管道_Linux

标准输出和错误输出到不同的位置

10、标准I/O输入输出重定向及管道_Linux_02

10、标准I/O输入输出重定向及管道_标准输入_03

合并标准输出和错误输错为同一个数据流进行重定向(可以使用&>>    1>file   2>&1)

10、标准I/O输入输出重定向及管道_标准输出_04

10、标准I/O输入输出重定向及管道_标准输入_05

10、标准I/O输入输出重定向及管道_标准输出_06

合并多个程序输出  (cmd1;cmd2)或者 cmd1;cmd2;...;合并多个程序的stdout 命令末尾需要有分号且cmd1前面需要有一个空格

10、标准I/O输入输出重定向及管道_重定向_07

10、标准I/O输入输出重定向及管道_重定向_08

10、标准I/O输入输出重定向及管道_Linux_09

10、标准I/O输入输出重定向及管道_标准输入_10

10、标准I/O输入输出重定向及管道_标准输入_11

清除大​文件命令(上一文已讲解)

cat /dev/null >/data/file.log

分别重定向

10、标准I/O输入输出重定向及管道_重定向_12

将输出文件进行丢弃 (\\dev\\null   空设备文件)

10、标准I/O输入输出重定向及管道_重定向_13

标准输入重定向

从文件中导入stdin,代替当前终端的输入设备,使用<来重定向标准输入,某些命令能够接受从文件中导入的stdin

10、标准I/O输入输出重定向及管道_标准输出_14

tr命令 (转换字符和删除字符)

tr [option] .. set1  [set2]

选项

-d  --delete:删除所有属于第一字符集的字符

10、标准I/O输入输出重定向及管道_标准输入_15

-s  --squeeze-repeats:把连续重复的字符已单独一个字符表示,即去重(注:需连续,不连续不会)

10、标准I/O输入输出重定向及管道_重定向_16

-t --truncate-setl:将第一个字符集对应字符转化为第二字符集对应的字符

10、标准I/O输入输出重定向及管道_重定向_17

-c -C --complent:取字符集的补集

10、标准I/O输入输出重定向及管道_重定向_18

10、标准I/O输入输出重定向及管道_标准输出_19

10、标准I/O输入输出重定向及管道_重定向_20

10、标准I/O输入输出重定向及管道_Linux_21

标准输入重定向

可以利用<进行重定向

单行重定向  ctrl+d可以终止输入

10、标准I/O输入输出重定向及管道_重定向_22

10、标准I/O输入输出重定向及管道_标准输出_2310、标准I/O输入输出重定向及管道_标准输出_24

10、标准I/O输入输出重定向及管道_Linux_25

多行重定向

使用 "<<终止词”命令从键盘把多行导向给stdin,知道终止词位置之前的所有文本都发送给stdin;终止词可以是一个或多个符合如 !,@,$,EOF  等其中EOF比较常用

10、标准I/O输入输出重定向及管道_Linux_26

10、标准I/O输入输出重定向及管道_标准输入_27

10、标准I/O输入输出重定向及管道_标准输入_28

管道

管道(使用 | 表示,)可以用来连接多个命令

格式  命令1 | 命令2 | 命令3

功能说明:

将命令1的stdout发送给命令2的stdin,命令2的stdout发送到命令3的stdin

所有命令会在当前shell进程的子shell进程中执行

组合多种工具的功能

注意;stderr默认不通通过管道转发,可以利用2&>1或 | &实现,格式如下: 命令1 2>&1 | 命令2   命令1 |& 命令2

10、标准I/O输入输出重定向及管道_重定向_29

管道中的-符号

tar -cvf - /home | tar -xvf -

将home里面的文件打包,但打包的数据不是记录到文件,而是传送到stdout,经过管道后,将tar -cvf - /home 传送给后面的 tar -xvf -,后面的这个-则是去前一个命令的stdout,因此就不需要临时file

10、标准I/O输入输出重定向及管道_Linux_30

tee命令

可以利用tee命令重定向到多个目标

命令1 | tee [-a] 文件名 | 命令2

-a 追加 功能:保存不同阶段的输出  复杂管道的故障排除  同时查看和记录输出

10、标准I/O输入输出重定向及管道_标准输出_31

i/o重定向及管道(代码片段)

打开的文件都有一个fd:filedescriptor(文件描述符)标准输入:keyborad,0标准输出:monitor,1标准错误输出:monitor,2I/O重定向:改变标准位置输出重定向:COMMAND>NEW_POS,COMMAND>>NEW_POS:覆盖重定向,目标文件中的原有文件内... 查看详情

标准i/o重定向和管道(代码片段)

一级标题标准I/o重定向和管道二级标题三种I/o设备1.标准输入和输出程序:指令+数据读入数据input输出数据output标准输入---0(默认接收来自终端窗口的输入)标准输出---1(默认输出到终端窗口)标准错误---2(默认输出到终端窗口)二级... 查看详情

标准i/o与管道;用户组和权限;文件处理工具及正则表达式总结

四、标准I/O与管道标准输入和输出程序:指令+数据读入数据:Input输出数据:Output?打开的文件都有一个fd:filedescriptor(文件描述符)?Linux给程序提供三种I/O设备?标准输入(STDIN)-0默认接受来自键盘的输入?标准输出(STDOUT)-1默... 查看详情

linux基础知识-i/o重定向,管道

系统设定 默认输出设备:标准输出,STDOUT,1 默认输入设备:标准输入,STDIN,0 标准错误输出:STDERR,2 标准输入:键盘标准输出和错误输出:显示器I/O重定向:Linux:>:覆盖输出[[email protected]~]#ll/var/>/tmp/var.out[[e... 查看详情

标准io重定向和管道(代码片段)

标准I/O重定向和管道1标准输入和输出程序:指令+数据读入数据:Input输出数据:Output打开的文件都有一个fd:filedescriptor(文件描述符)Linux给程序提供三种I/O设备标准输入(STDIN)-0默认接受来自终端窗口的输入标准输出(STDOUT)-1... 查看详情

管理及i/o重定向

...:CPU暂时存储器I/O:硬盘InputOutput系统设定:默认输出设备标准输出STDOUT1默认输入设备标准输入STDIN0默认错误输出标准错误输出标准输入:键盘标准输出和标准错误输出:显示屏I/O重定向:改变标准输入/输出来源/位置Linux::覆... 查看详情

初学linux之标准i/o和管道

标准输入和输出程序是由指令+数据组成程序的数据流有三种:输入数据流:<–标准输入(stdin),一般默认是键盘输出数据流:–>标准输出(stdout),一般默认到终端窗口错误输出流:–>标准错误(stderr),一般默认到... 查看详情

标准i/o和管道

1、标准输入和输出1>程序:指令+数据(指令服务于数据)  读入数据:input  输出数据:output2>三种I/O设备  Linux给程序提供三种I/O设备    标准输入(STDIN)-0默认接受来自键盘的输入    标准输出(STDOUT)-... 查看详情

第五章linux重定向和管道

重定向和管道标准输入和输出:程序:指令+数据读入数据:Input输出数据:Output打开的文件都有一个fd:filedescriptor(文件描述符)Linux给程序提供三种I/O设备标准输入(STDIN)-0默认接受来自键盘的输入标准输出(STDOUT)-1默认输... 查看详情

标准i/o和管道

1:三种I/O设备标准输入(STDIN) -0 默认接受来自键盘的输入标准输出(STDOUT)-1 默认输出到终端窗口标准错误(STDERR)-2 默认输出到终端窗口I/O重定向:改变默认位置 >把正确结果输出到文件2>把错误输出到文件&... 查看详情

标准i/o和管道(代码片段)

标准I/O和管道>重定向操作符>,>>还能创建新文件>覆盖>>追加set-C禁止将内容覆盖已有文件,但可追加(相当于一个开关)>|file强制覆盖set+C允许覆盖1>标准输出重定向到一个文件里面2>标准错误重定向到一个文... 查看详情

输入输出重定向及管道(代码片段)

...之路基础篇:Linux基础命令(二)输入输出重定向及管道标准输入:用0表示(键盘)标准输出:用1表示(监视器)标准错误输出:用2表示(监视器)IO重定向:改变标准位置标准输出重定向:>:覆盖重定向,目标文件原有的... 查看详情

重定向和管道(代码片段)

...在另一个地方显示。在系统设定当中,默认的输出设备:标准输出(STDOUT,用1描述),默认的输入设备:标准输入(STDIN,用0描述),标准错误输出(STDERR,用2描述),标准输入一般是用键盘,标准输出和错误输出一般在显示... 查看详情

linux基础05-管道及io重定向

...(3)2>:重定向错误输出2>>:追加方式(4)&>:重定向标准输出或错误输出至同一个文件例:ls/var&>/tmp/a.txt(5)<:输入重定向//<&l 查看详情

标准io和管道

标准I/O和管道##一,标准输入和输出##程序:指令+数据读入数据:Input输出数据:Output打开的文件都有一个fd:filedescriptor(文件描述符)Linux给程序提供三种I/O设备标准输入(STDIN)-0默认接受来自键盘的输入标准输出(STDOUT)-1默... 查看详情

标准i/o和管道

...使用四.使用管道链接命令五.tee命令的使用三种I/O设备(1)标准输入和输出程序:指令+数据a.指令:决定了功能是什么数据:b.读入数据:input输出数据:output(2)打开的文件都由一个(3)Linux给程序提供三种I/O设备:标准输入(STDIN)... 查看详情

linux从入门到跑路–重定向管道(代码片段)

linux从入门到跑路重定向管道Linux给程序提供三种I/O设备标准输入(STDIN)-0默认接受来自键盘的输入标准输出(STDOUT)-1默认输出到终端窗口标准错误(STDERR)-2默认输出到终端窗口I/O重定向:改变默认位置重定向重定向会覆... 查看详情

io重定向及管道(代码片段)

...文件,网卡等程序的数据流有三种:输入的数据流:<--标准输入,键盘;输出的数据流:-->标准输出,显示器;错误输出流:-->错误输出,显示器;fd:文件描述符标准输入:0标准输出:1错误输出:2IO重定向:>大于号<... 查看详情