码迷,mamicode.com
首页 > 其他好文 > 详细

管理及I/O重定向

时间:2017-08-29 12:49:05      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:听音乐   电脑   files   符号   src   管道   技术分享   直接   .com   

INPUT设备:将我们想要对电脑发出的指令传入电脑(如打字、录音)

OUTPUT设备:将电脑里面的数据通过输出设备传输给我们(如看电影,听音乐)

系统设定:

                默认输出设备:标准输出 (如果没有指定输出设备,就从默认输出设备中输出),STDOUT

           用来输出程序的正常运算结果 ,如果某个程序执行错了

                默认输入设备:标准输入(如果没有指定输入设备,就从默认输入设备中输入),STDIN

                标准错误输出:STDERR,描述符2

标准输入:键盘

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

 

I/O重定向:改变了数据的输入来源或输出来源的操作

                       eg本来输入设备是键盘,改成其他设备

对于Linux而言,可以用一些符号来表示重定向

>:输出重定向,覆盖输出,原有数据会覆盖输出 ,正确输出重定向

>>:追加输出,在文件尾部继续追加新内容    

<:输入重定向

<<:HERE DOCUMENT 在此处生成文档

 

输出重定向例子:

1、>

  技术分享

  本来列出var下的内容输出到显示器上,是能在显示器看到内容的

        ls /var> /tmp/var.out:将var下的内容输出重定向到/tmp/var.out中,此时在显示器上就看不到var下的内容了

        此时cat /tmp/var.out

技术分享

2、>>

技术分享

在文件尾部继续追加新内容输出 

set -C:禁止对已经存在文件使用覆盖重定向

                强制覆盖输出,则使用>|

set +C:关闭上述功能

3、

 技术分享

2>:重定向错误输出   !犯错误的人都比较2,哈哈

2>>:追加重定向错误输出

 

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

!不支持&>>

eg

1、

技术分享

注意此时var文件名是拼写错误的,ls /varr 2> /tmp/var.out将错误输出重定向到/tmp/var.out

2、如果文件名拼写是正确的,结合2>错误输出重定向时?

技术分享

此时不会输出重定向到/tmp/var.out,而是直接输出在显示器上

3、设置文件正确错误都不会直接输出

技术分享

此时文件名如果正确会输出重定向到/tmp/var3.out中,错误会输出重定向到/tmp/err.out 中

 

输入重定向例子

1、

技术分享

 

 此时<相当于键盘

2、<<技术分享

此时END相当于文档结束符,当输入END时则在此处生成了一个文件

3、

技术分享

用这种方式可以在脚本中生成一个文档或一个文件

 

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

eg

1、

技术分享

 

 此时“hello,world”作为echo输出的同时也作为tr的输入

2、cat /etc/passwd |sort

技术分享

 

 技术分享

此时cat /etc/passwd | sort= sort /etc/passwd

 3、

tee:read from standard input and write to standard output and files

 从标准输入中读取数据并发送到标准输出和文件

技术分享

此时tee将标准输入的"HELLO,WORLD"发送到/tmp/hello.out文件中

管理及I/O重定向

标签:听音乐   电脑   files   符号   src   管道   技术分享   直接   .com   

原文地址:http://www.cnblogs.com/itmeatball/p/7446105.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!