文档介绍:10标准输入输出及重定向2
学习大纲
标准输入、输出以及错误输出
重定向
输入结束符
管道
综合应用
1、标准输入、输出以及错误输出
标准输入:过滤器的数据来源。
标准输入stdin(0):默认是键盘
标准输出:过滤器的10标准输入输出及重定向2
学习大纲
标准输入、输出以及错误输出
重定向
输入结束符
管道
综合应用
1、标准输入、输出以及错误输出
标准输入:过滤器的数据来源。
标准输入stdin(0):默认是键盘
标准输出:过滤器的数据去向。
标准输出stdout (1):默认是终端屏幕
标准错误输出 :报错讯息与标准输出走不同的I/O通道。
标准错误输出stderr(2):默认是终端屏幕
2、重定向
重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向。
常见的重定向
输入重定向
输出重定向
追加重定向
错误输出重定向
双重输出重定向
、输入重定向
有一些指令需要用户从标准输入(键盘)来输入数据,但某些时候如果让用户手动输入数据的话,将会相当麻烦。
使用“<”来重定向输入源
例:mail -s “hello” lonnyexample < file
、输出重定向
大多数的指令在正确执行后都会有一个执行结果显示在标准输出(屏幕终端)上。用户可以使用“>”改变数据输出目标,一般是另存到一个文件中供以后分析,而不再显示屏幕终端上。
范例:
df -h > mydisk
将当前系统的磁盘分区的使用状况保存到mydisk文件中,不让它显示在屏幕上。
注意:如果原文件存在并有内容,那么新的执行结果会覆盖原文件内容。
、追加重定向
在上节中提到,使用“>”进行输出重定向,文件的原内容会被覆盖。那么有没有一个办法不覆盖原文件内容,只是追加在其后呢?
使用“>>”,就可以将正确的输出结果追加到一个文件中。
例“ls –l >> listfile
、错误输出重定向
如果一个指令执行错误时,也会在屏幕上显示错误提示信息。虽然它与标准输出一样都会将结果显示在屏幕上,但它们占用的I/O通道不同。
如果要将错误结果重定向到另一个地方则就不能再使用“>”来实现了,得使用“2>”将报错讯息重定向。
例:ds -h 2> erro
也可使用“2>>”将报错讯息追加入一个文件。
例:lt -l 2>> eroo
、双重输出重定向
如果用户想将正确的输出结果与错误输出结果一次性单独地送到不同的地方则可使用下面的双重输出重定向。
例:ls -l 2> error > results
LS -a 2>> error >> results
如果用户将不管是正确输出还是错误输结果都送到同一个指定的地方则可使用“&> 或 &>>” 来完成。
例:ls -l &> result
LS -l &>> erro
THANK YOU