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文件中