Linux基础-03-IO重定向+管道
重定向
- 输入输出
- 标准输入
- 标准输出 1
- 标准错误输出 2
- 输出重定向
- >覆盖重定向
- >>追加重定向
- 2>覆盖重定向错误输出流
- 2>>追加重定向错误输出流
1 | [root@test tmp]# echo "hello kinmfer" |
- 标准输出和错误输出到各自不同的位置
1 | [root@test tmp]# ll 1> file.out 2> file_error.out |
垃圾桶: /dev/null 被重定向到此的会被清空
合并标准输出和错误输出为同一数据流进行重定向
- &> 覆盖重定向
- &>> 追加重定向
- 2>&1 将错误流重定向到标准输出文件中 (>>)
- 1>&2 将正确流重定向到错误输出文件中 (>>)
1 | [root@test tmp]# lld &> all.out |
标准输入
覆盖:
1
2
3
4cat > /path/somefile <<EOF
....
EOF追加:
1
2
3cat >> /path/somefile <<EOF
....
EOF
tee命令
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件 。
- -a 追加
- -i 无视中断
管道
command1 | command2 | command3 ...
最后一个命令会在当前shell进程的子shell进程中执行;前一个命令的执行结果会由当前命令继续使用。
tr命令,用于转换或删除文件中的字符
Usage: tr [OPTION]… SET1 [SET2]
- 常用选项:
- -c, –complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
- -d, –delete:删除指令字符
- -s, –squeeze-repeats:缩减连续重复的字符成指定的单个字符
- -t, –truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
- 常用选项:
案例1:将/etc/passwd文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中[root@node1 ~]# head ‐n 5 /etc/passwd | tr 'a‐z' 'A‐Z' > /tmp/passwd.output
案例2:将登陆至当前系统上用户信息中的最后1行的信息转换为大写后保存至/tmp/who.out文件中[root@node1 ~]# who | tail ‐n 1 | tr 'a‐z' 'A‐Z' >/tmp/who.out
案例3:将文件中的:删除之后重定向到新文件中[root@test tmp]# cat output_error | tr -d ":" > output_error_new
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kinmfer's Blogs!
评论
ValineLivere