1.输入输出的定义
1.1输入
就是我们的键盘,鼠标和我们用这些硬件在系统只哦个录入的字符
1.2输出
就是系统接收到我们想要实现的功能字符后,经过进程的处理产生字符
1.3输出的分类
a.编号为1的正确输出 b.编号为2的错误输出
## 默认着两种输出都会被系统定向到字符设备中
2.如何管理输出
2.1.非交互式多行录入
##“sh”文件是UNIX/LINUX操作系统的脚本文件,“sh”是Linux,unix的命令,其用途为调用缺省的shell。
例:
用命令“vim C_pass。sh” 创建一个“sh”文件
输入“passwd”
使用命令“ sh C_pass.sh”调用“passwd”中的命令,则进入修改密码的命令中。
但其实他是不能自动运行的,仍然需要手动输入密码来进行操作。
如果将密码直接写入“.sh”文件中 则可直接修改密码成功。
这样可以避免交互,密码直接修改成功,其中的“ENF”可以用其他的字符代替,但是首尾必须一直。
利用“.sh”脚本输出“hello”并输入到“file”文件中。
2.2.如何管理输出 输出的重定向
> #重定向正确输出
2> #重定向错误输出
&> #重定向所有输出
2>&1 #把错误输出的编号由2转换为1 例:
在student用户中执行命令,在/etc/目录下寻找“passwd”文件,并将其输出的正确结果重新定向到“file.dui”中 命令: find /etc/ -name passwd > file.dui
再将错误的结果重定向到“file.cuo”中 命令: find /etc/ -name passwd 2> file.cuo
再将所有的输出结果重定向到”file.all“中
命令: find /etc/ -name passwd >& file.all
## 重定向是会覆盖掉源文件的!!!##
例:
例如输入一个命令“vim westos”,输入内容。
在输入命令“find /etc/ -name passwd > westos” 将“passwd”里的正确内容重定向到“westos”中原文件就被覆盖了。
###追加
#保持原文件内容不变的情况下把输出追加到文件之后
>> ##追加正确输出
2>> ##追加错误输出
&>> ##追加所有输出
追加 /etc/下的passwd文件中正确内容的输出到“westos”文件中
创建一个一个westos 文件,将/etc/下的passwd中的全部内容输出到westos中,并没有改变原文件内容
管道:
1.把输出变成下一个程序的输入 2.管道是用来组合多条命令来使用的 例: 输入命令ls /bin | tee westos | wc -l ls/bin 将/bin/目录下的文件查看后经过管道 保存到westos中,在经过管道显示出westos的行数。 ##经过管道输出变成输入是无法保存到文件中的。
##使用tee,可将复制输出到指定位置。
将/etc/下的passwd文件经过管道保存到file中 并显示行数
将/etc/下的passwd文件中错误的转化为正确的,并和正确的经过管道保存到file中 并显示行数
##练习
1.显示当前时间 , 显示格式为 hh:mm:ss, 并保存到文件 time.txt文件中
2.显示 /etc/passwd 文件的第 15-18 行内容
3.显示 /bin 中文件包含大写字母的文件 , 保存到bin_westos_file.txt 文件中,并统计个数显示到屏幕
4.在 student 用户下查找 /etc 下 passwd 文件,屏蔽错误输出
5.在 student 用户下查找 /etc 下 passwd 文件,正确输出保存到 /tmp/westos.out 错误输出保存到 /tmp/westos.err
6.在 student 用户下查找 /etc 下 passwd 文件,显示命令输出并保存输出到 /tmp/westos.all 中
第一个练习题:
第二个:
1.先显示前18
再通过管道将刚刚的输出变为输入,并显示文件最后4行
第三题:
1.显示bin文件中包含大写字母的文件
将其保存到bin_westos_file.txt中,并统计个数显示到屏幕上
第四题 .在 student 用户下查找 /etc 下 passwd 文件,屏蔽错误输出
第五题 . 在 student 用户下查找 /etc 下 passwd 文件,正确输出保存到 /tmp/westos.out 错误输出保存到 /tmp/westos.err
第六题。 在 student 用户下查找 /etc 下 passwd 文件,显示命令输出并保存输出到 /tmp/westos.all 中