在 这篇文章我将要叙述的是系统中输入和输出的管理,并举了相关实例以作参考。
输入输出管理
1.理解系统的输入输出
输入输出系统是计算机系统中的主机与外部进行通信的系统。它由外围设备和输入输出控制系统两部分组成,是计算机系统的重要组成部分。外围设备包括输入设备、输出设备和磁盘存储器、磁带存储器、光盘存储器等。从某种意义上也可以把磁盘、磁带和光盘等设备看成一种输入输出设备,所以输入输出设备与外围设备这两个名词经常是通用的。在计算机系统中,通常把处理机和主存储器之外的部分总称为输入输出系统。
输入:用鼠标、键盘等硬件在系统中录入的字符
输出:系统接受到功能字符,经过进程处理产生的字符
2.管理输入输出的符号
a.输出重定向:
> ##重定向正确输出
2> ##重定向错误输出
&> ##重定向所有输出
注意:
重定向会覆盖原文件内容
示例:
注意:以下实验必须在student用户下完成
find /etc/ -name passwd > file ##定向正确输出到file
find /etc/ -name passwd 2> file.err ##定向错误输出到file
find /etc/ -name passwd &> file.all ##定向所有输出到file
> file ##清空file
重定向正确输出,显示错误输出
重定向误输出显示了正确输出
重定向所有输出
b.输出追加
>> ##追加正确输出到文件最后
2>> ##追加错误输出到文件最后
&>> ##追加所有输出到文件最后
注意:
追加不会覆盖源文件内容,是直接在原文件后面追加的。
示例:
find /etc/ -name passwd >> file ##追加正确输出到file
find /etc/ -name passwd 2>> file.err ##追加错误输出到file
find /etc/ -name passwd &>> file.all ##追加所有输出到file
追加正确输出到file
3.管道的应用
a.管道的作用
“|” 管道的作用是把前一条命令的输出变成后一条命令的输入
注意:
管道只允许正确输出通过
通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”
此实验在普通用户下操作:
find /etc/ -name passwd | wc -l ##会看到的结果为2,因为错误输出不能通过管道
find /etc -name passwd 2>&1|wc -l ##会看到19,因为编号为2的输出被“2>&1”转换为编号1
find /etc -name passwd 2>&1|tee file |wc -l ##保存一份输出到file再统计行数
4.输入重定向
cat >file <<EOF
hello
WORLD
EOF
此处EOF并非特定字符
练习
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 中
操作如下: