标准I/O

标准输入,标准输出,标准错误

I (input)      输入

O (output) 输出

程序:指令 +  数据

打开的文件都有 fd :(file descripfor)文件描述符

标准输入   (STDIN)              -0      默认输入是键盘

标准输出   (STDOUT)          -1       默认输出是终端窗口

标准错误   (STDERR)          -2      默认错误是终端窗口

标准输出   ls   1> /data/ls.out   (假如没有ls.out,就先创建ls.out)(1也可以省略不写)

5)Q%8__7CX2GEH{C_TWX5[9

标准错误 用一个不存在的命令  cmd   > /data/ls.out

Q`D3{~RL7GA_RKV$P$84$MR

错误命令直接显示到终端窗口

分别重定向 (用不存在的命令和一个真命令) ls    /eeror    /data   >f1   2>f2

G9XL283WC_)G6T[7`XYDFYD

分别吧正确的定向到 f1 错误定向到f2里面

也可以追加 用>>       ls    /eeror    /data   >>f1   2>>f2  显示2遍内容_E_HFJ4PP3`M5HIL6GD]9]A

也可以把错的和对的放在一个文件中  ls   /error   /data   >all.log 3   2>&1

3%7K_4J19M141SLSJE4JY%M

也可以写成  ls /error /data  &>all.log3

OFIDZR4OCT3ZQ33_ADPP[`I

把标准输出和标准错误重新定向到文件中

(STDOUT)标准输出和(STDERR)标准错误可以被重定向到文件中

命令 + 操作符  +  文件名

>  : 把标准输出重定向到文件

2>:   把标准错误重定向到文件

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

“>”   文件内容会被覆盖

set  -C   禁止将内容覆盖已有的文件,但可以追加

>|       强制覆盖

set   +C  允许覆盖

>> 在原有的基础上追加内容

多命令的重定向  ls  >all.log3    pwd  >>all.log3

MQJ1B2G%(1`AFJNZ0DI8L4P

也可以(ls;pwd) >all.log3 和上面显示的是一样的

>>f1 创建新文件,但不会覆盖,它是追加

>f1   和  touch f1 创建已有的文件会改变创建的时间

FE`J0C]4U}L8NE(]WJLF]29

标准输入命令(STDIN)

<   把标准输入重定向到文件

cat   即有标准输出也有标准输入

QDFA(}OIZ_D$3~6MBLNO(VG

把输出和错误重新定向到文件

2>    覆盖错误重定向输出流数据

2>>追加错误重定向输出流数据

合并标准输出和错误输出为同一个数据流进行重定向

&>     覆盖重定向

&>>  追加重定向

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95913

(0)
祝韵杰-桃子祝韵杰-桃子
上一篇 2018-04-14
下一篇 2018-04-14

相关推荐