一、输入输出定义
1.标准输入
简言之,标准输入就是通过字符设备(在1/0传输过程中以字符为前进单位进入传输的设备,例如键盘、鼠标、打印机等)将信息传递到计算机,其标准输入文件为stdin,描述符为“0”。
2.标准输出
标准输出分为标准正确输出和标准错误输出,两者均由终端显示(显示器),标准正确输出和标准错误输出的文件为(stdout和stderr),文件描述符为“1”和“2”。
二、如何管理输入
1、输入重定向 “<”
tr 'a-z' 'A-Z' < westos,把twestos文件的内容定向到tr程序中(tr:转换命令,可俗称“整容"),运用cat westos | tr 'a-z' 'A-Z' 的速度比较慢(命令执行顺序)
2、多行录入“<<"
注: (1)tr 'a-z' 'A-Z' <<EOF(字符任意)
(2)test
(3)test(注:test仅表示字符,不表示文件名称)
(4)test1
(5) EOF(当其再次出现代表录入结束)
举例实验:编写tesh.sh交互脚本,增加交互内容,运行tesh.sh脚本
三、如何管理输出
1.输出重定向“>"
举例实验:找/etc/passwd,输入命令:find /etc-name passwd (该实验用户必须为普通用户,只有普通用户会被禁止浏览),在将正确输出结果重定向到lee文件(Desktop目录下),并查看此lee文件;将错误输出结果重定向到lee1(Desktop目录下)文件中,最后将所有结果重定向到lee2(Desktop目录下)文件中。
主要输入命令:find /etc -name passwd > lee
find /etc -name passwd 2> lee1
find /etc -name passwd &> lee2
2.追加输出
追加和重定向类似,也是将输出重定向的结果定向到新的文件,但是不会覆盖原文件的内容
举例实验:承接上述实验,将正确输出结果追加定向到lee文件(Desktop目录下),主要输入命令:
find /etc -name passwd 2>>lee
3.管道“|”
简而言之,就是将通过类似工程上桥梁构建将桥岸两地连接一样,将前一条命令的输出变成输入传递到下一条命令进行操作。注:管道只能传递正确的输出结果,而且可在一条命令中使用多次
举例实验:找/etc/passwd,在将输出结果重定向到lee4文件,并用wc-l统计行数。
主要命令:find /etc -name passwd 2>&1 lee4 |tee lee4 |wc -l
注:tee :将输出结果复制到指定文件;2>&1 :把编号为2的输出结果转换到编号为1的输出中(因为管道只能传递正确的输出结果)