一级标题
标准I/o重定向和管道
二级标题
三种I/o设备
1.标准输入和输出
程序:指令+数据
读入数据input
输出数据output
标准输入---0(默认接收来自终端窗口的输入)
标准输出---1(默认输出到终端窗口)
标准错误---2(默认输出到终端窗口)
二级标题
2.把I/o重定向至文件
I/O重定向即改变默认位置
标准输出与标准错误可以重定向到文件
COMMOND 操作符 FILE
1> 或者 > 标准输出如果文件存在覆盖原有的内容不存在新建
2> 标准错误输出
&> 把所有输出重定向到文件
set - C : 禁止对已经存在文件使用覆盖重定向,强制覆盖输出,则使用 >|
set +C :允许覆盖
>> 可以在原有内容上追加内容
2>> 追加标准错误重定向至文件
标准标准输入重定向
< 实现输入重定向。输入重定向不经常使用,因为大多数命令都以参数的形式在命令行上指定输入文件文件名,尽管如此,当使用一个不接受文件名为输入参数的命令,而需要的输入又是在一个已存在的文件里,就可以使用输入重定向解决问题。
tr命令
选项说明:
-c, -C, –complement 取字符集补集。
-d, –delete 删除集合1中的字符而不是转换
-s, –squeeze-repeats 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
-t, –truncate-set1 先删除第一字符集较第二字符集多出的字符
\\NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)
\\\\ 反斜杠
\\a Ctrl-G 铃声
\\b Ctrl-H 退格符
\\f Ctrl-L 走行换页
\\n Ctrl-J 新行
\\r Ctrl-M 回车
\\t Ctrl-I tab键
\\v Ctrl-X 水平制表符
[:alnum:] 所有的字母和数字
[:alpha:] 所有字母
[:blank:] 水平制表符,空白等
[:cntrl:] 所有控制字符
[:digit:] 所有的数字
[:graph:] 所有可打印字符,不包括空格
[:lower:] 所有的小写字符
[:print:] 所有可打印字符,包括空格
[:punct:] 所有的标点字符
[:space:] 所有的横向或纵向的空白
[:upper:] 所有大写字母
标准输入重定向
把多行重定向
cat > f1.log <<EOF(终止词)
> 123
>fff
>dsf
>EOF (结束)
二级标题
使用管道
管道命令操作符是:”|”,它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入.
基本格式: 指令1 | 指令2 | …
【提醒注意】:
1.管道命令只能处理前一条指令的正确输出,不能处理错误输出;
2.管道命令的后一条指令,必须能够接收标准输入流命令才能执行。
管道中的- 符号
tar -cvf - /home | tar -xvf -
tee命令
可以重定向到多个目标