1.理解输入输出###
1)字符设备
字符设备就是显示字符到屏幕上的设备文件
2)stdin 标准输入,编号为0
3)stdout 标准正确输出 编号为1
4)stderr 标准错误输出 编号为2
2.如何管理输入
外界传递到程序中的信息
1) < #输入重定向
tr 'a-z' 'A-Z' < test ##把文件中的内容定向到tr程序中
例如 [westos@westos_student40 Desktop]$ tr 'h' 'o' < westos
oellow westos
HELLOW WESTOS
2) << #多行录入
tr 'a-z' 'A-Z' <<EOF(字符为分割线,可以任意输入)——————例如:<<@@@@@@
test ##此处的test不能表示为文件名称只表示test字符
EOF ##当首字母再次出现表示录入结束
# tr————转换符号#
tr ‘某一元素’ ‘另外一个元素‘ ## 将文件中的某一元素转换为另外一个元素
tr 不能读取文件,所以前面需要定向一个输入
[westos@westos_student40 Desktop]$ cat westos |tr 'a-z' 'A-Z'
HELLOW WESTOS
HELLOW WESTOS
[westos@westos_student40 Desktop]$ cat westos |tr 'l' 'o'
heooow westos
HELLOW WESTOS
# bash 执行脚本 #
[westos@westos_student40 Desktop]$ cat text
cal
date
[westos@westos_student40 Desktop]$ bash text
July 2021
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Sat Jul 10 11:37:24 CST 2021
3.如何管理系统输出
1)输出重定向 '>' (正确的输出导入文件,shell显示剩余错误输出) '2>' (出错的输出导入文件,shell显示正确输出) '&>' (全部进入文件,shell不显示)
2)追加 >> 2>> &>>
find /etc/ -name passwd >> westos.out——————————追加正确输出
find /etc/ -name passwd 2>> westos.out————————追加错误输出
find /etc/ -name passwd &>> westos.out————————追加所有输出
3)管道 "|"
把前一条命令的 输出 变成 输入 传递到下一条命令进行操作
注意:
*管道只处理正确输出
[westos@localhost Desktop]$ ls westos hellow | wc -l
ls: cannot access 'hellow': No such file or directory
1
*2>&1 把编号为2的输入转移到编号为1的输出中(2为错误,1为正确)
[westos@localhost Desktop]$ ls westos hellow 2>&1 | wc -l
2
*tee 复制输出到指定位置
*管道在一条命令中可以使用多次
[westos@westos_student40 Desktop]$ find /etc/ -name passwd 2>&1 |tee /tmp/westos.all |wc -l
16