Linux中的输入输出管理
1、Linux中输入输出定义
名称 | 含义 |
---|---|
字符设备 | 就是显示字符到屏幕上的文件 |
stdin | 标准输入 编号为0 键盘鼠标打字机 |
stout | 标准正确输出 编号为1 |
sterr | 错误输出 编号为2 |
2、如何管理输入内容
外界传递到程序中的信息
“<” | #输入重定向 |
---|
应用:tr ‘a-z’ ‘A-Z’<text#把text文件中的内容定向到tr程序中
“<<” | #多行录入 |
---|
应用:“tr‘a-z’ ‘A-Z’ <<EOF#此处的EOF可以用其他字符表示
test #在EOF之后的test不能作为文件的名称,而是只表示test这一字符
test1
EOF #当<<后的字符再次出现表示录入已经结束,录入内容是两个EOF之间的字符
3、如何管理系统输出
1)输出重定向
符号 | 含义 |
---|---|
> | #表示正确输出 |
2> | #表示错误输出 |
&> | #表示所有输出 |
应用举例
find /etc -name passwd > westos.out#重定向正确输出
find /etc -name passwd 2> westos.err#重定向错误输出
find /etc -name passwd &> westos.all#重定向所有输出
使用重定向输出新的内容会覆盖文件之前的所有内容
2)追加
符号 | 含义 |
---|---|
>> | #正确输出追加 |
2>> | #错误输出追加 |
&>> | #所有输出追加 |
应用举例
find /etc -name passwd >> westos.out#追加正确输出
find /etc -name passwd 2>> westos.out#追加错误输出
find /etc -name passwd &>> westos.out追加所有输出
使用追加功能不会覆盖文件原有的内容,而是在原有内容之后追加新的内容
3)管道符“|”
“|”#将前|之前一条命令输出的内容变为输入内容传递到”|“之后的下一个命令进行操作
”|“所输出的内容是正确内容,若想输出全部内容需要在”|“前加2>&1
该命令的目的是将FD2的内容的数据输出改为FD1的数据输出路径
应用举例
find /etc -name passwd | wc -l #查看etc中passwd输出的正确行数
find /etc -name passwd 2>&1 | wc -l #查看etc中passwd所有输出的行数
附件命令
/dev/full #屏蔽错误输出内容
应用:find /etc -name passwd > /dev/full
gnome-session-quit–force #注销当前的用户
管道符“|”中tee xxx(绝对地址)表示将输出存到xxx中
/dev/pts/x(根据shall) #字符界面绝对地址
练习内容
#1.查找/etc/下的passwd文件屏蔽错误输出
#2.查找/etc下的passwd文件正确输出保存到/tmp目录中的westos.out中,错误输出保存到/tmp/目录中的westos.err中
#3.查找/etc/下的passwd文件保存所有输出到/tmp目录中的westos.all中并统计输入的行数
#4.查找/etc/下的passwd文件统计输出行数并显示输出内容
#5.转换/etc/目录中的passwd文件中的所有字母为大写并统计文件行数
#6.请用脚本非交互模式编写文件westos.file内容为:
hello linux
hello westos
hello linux
westos linux is very nice !!