Linux中输入输出的基本原理
1.linux系统中的输出重定向和追加
输出重定向
‘>’
‘2>’
‘&>’
find /etc -name passwd > westos.out——重定向正确输出
find /etc -name passwd 2> westos.out——重定向错误输出
find /etc -name passwd &> westos.out——重定向所有输出
注意:本来不管是正确还是错误输出,都放在字符设备里,但是通过输出重定向,我们可以自己确定输出情况,即不将正确的输出放到字符设备里,放到自己指定的位置
[westos@westoslinux Desktop]$ find /etc/ -name passwd 2>westosfile
表示,寻找这个地址下名字为westosfiler的文件,找到后,把错误的输出放到到westosfile文件中,正确的输出仍在字符设备中,最终显示出来。
重定向管理输出后会覆盖原文件内容。
追加
‘>>’
‘2>>’
‘&>>’
find /etc -name passwd >> westos.out 追加正确输出
find /etc -name passwd 2>> westos.out 追加错误输出
find /etc -name passwd &>> westos.out 追加所有输出
注:追加和重定向功能类似,但是不会覆盖原文件内容
2.管道应用
‘|’:把前一条命令的输出变成输入传递到下一条命令进行操作
经过管道处理之后,想要保存到文件中,可以使用tee file命令(复制输出命令),复制输出到指定文件(如上图)。
注:管道只处理正确输出,若想用管道同时处理正确和错误的输出,可以把错误的输出定向到正确输出,所用命令为 2>&1
如下图:
3.如何管理输入
3.1输入重定向
‘<’ 输入重定向
使用方法:
tr ‘a-z’ ‘A-Z’ < test ##把test文件中的内容定向到tr程序中。
如下图所示:
[root@westoslinux Desktop]# tr ‘a-z’ ‘A-Z’ < wesatos——使用‘<’进行输入重定向,把file中的内容定向到tr这个命令中,tr将内容作了大小写转化 。
[root@westoslinux Desktop]# wc -l < wesatos——使用‘<’进行输入重定向,把file中的内容定向到wc这个命令中,wc显示了该文件的行数。
如图:
注意:.sh代表一个脚本名称 ,后缀也可以写.exe
3.2 多行录入
多行录入’<<’
tr ‘a-z’‘A-Z’ <<EOF(字符任意)
test 此处的test不能表示为文件名称只表示test字符
test1
EOF (当首字母再次出现表示录入结束)