Linux中的输入输出管理

1、Linux中输入输出定义

名称 含义
字符设备 就是显示字符到屏幕上的文件
stdin 标准输入 编号为0 键盘鼠标打字机
stout 标准正确输出 编号为1
sterr 错误输出 编号为2

2、如何管理输入内容

外界传递到程序中的信息

“<” #输入重定向

应用:tr ‘a-z’ ‘A-Z’<text#把text文件中的内容定向到tr程序中
Linux中的输入输出管理

“<<” #多行录入

应用:“tr‘a-z’ ‘A-Z’ <<EOF#此处的EOF可以用其他字符表示
test   #在EOF之后的test不能作为文件的名称,而是只表示test这一字符
test1
EOF  #当<<后的字符再次出现表示录入已经结束,录入内容是两个EOF之间的字符
Linux中的输入输出管理

3、如何管理系统输出

1)输出重定向

符号 含义
> #表示正确输出
2> #表示错误输出
&> #表示所有输出

应用举例
find /etc -name passwd > westos.out#重定向正确输出
Linux中的输入输出管理
find /etc -name passwd 2> westos.err#重定向错误输出
Linux中的输入输出管理
find /etc -name passwd &> westos.all#重定向所有输出
Linux中的输入输出管理
使用重定向输出新的内容会覆盖文件之前的所有内容
2)追加

符号 含义
>> #正确输出追加
2>> #错误输出追加
&>> #所有输出追加

应用举例
find /etc -name passwd >> westos.out#追加正确输出
find /etc -name passwd 2>> westos.out#追加错误输出
find /etc -name passwd &>> westos.out追加所有输出
Linux中的输入输出管理
使用追加功能不会覆盖文件原有的内容,而是在原有内容之后追加新的内容
3)管道符“|”
“|”#将前|之前一条命令输出的内容变为输入内容传递到”|“之后的下一个命令进行操作
”|“所输出的内容是正确内容,若想输出全部内容需要在”|“前加2>&1
该命令的目的是将FD2的内容的数据输出改为FD1的数据输出路径
应用举例
find /etc -name passwd | wc -l #查看etc中passwd输出的正确行数
Linux中的输入输出管理
find /etc -name passwd 2>&1 | wc -l #查看etc中passwd所有输出的行数
Linux中的输入输出管理
附件命令
/dev/full  #屏蔽错误输出内容
应用:find /etc -name passwd > /dev/full
gnome-session-quit–force  #注销当前的用户
管道符“|”中tee xxx(绝对地址)表示将输出存到xxx中
/dev/pts/x(根据shall)  #字符界面绝对地址
练习内容
#1.查找/etc/下的passwd文件屏蔽错误输出
Linux中的输入输出管理
#2.查找/etc下的passwd文件正确输出保存到/tmp目录中的westos.out中,错误输出保存到/tmp/目录中的westos.err中
Linux中的输入输出管理
Linux中的输入输出管理
#3.查找/etc/下的passwd文件保存所有输出到/tmp目录中的westos.all中并统计输入的行数
Linux中的输入输出管理
#4.查找/etc/下的passwd文件统计输出行数并显示输出内容
Linux中的输入输出管理
#5.转换/etc/目录中的passwd文件中的所有字母为大写并统计文件行数
Linux中的输入输出管理Linux中的输入输出管理
#6.请用脚本非交互模式编写文件westos.file内容为:
hello linux
hello westos
hello linux
westos linux is very nice !!
Linux中的输入输出管理
Linux中的输入输出管理