0
点赞
收藏
分享

微信扫一扫

【02-03】I/O重定向与管道符

一、重定向

对系统默认的源定输出或输入的方式进行改变的操作被称为重定向

1.输入重定向

  • 输入重定向:把文件或程序重定向到命令或可执行程序当中

<     将后面的的文件输入到箭头左侧的命令或程序中进行执行的操作
<< 将执行中获取到的内容发送到箭头左侧进行执行的操作

 

< 使用案例

[root@localhost ~]# vim bb //创建bb文件并添加三行字符作为案例
line 1
line 2
line 3
[root@localhost ~]# wc -l < bb //将bb定向输入到wc -l中执行 读取文件中字符为3行
3

<< 使用案例

[root@localhost ~]# wc -l << bb //在使用<<时后面可以跟随任意字符,使用什么字符开始就使用什么字符,这里我使用的是bb也可以使用OEF
> 11
> 11
> bb
2

 

2.输出重定向

  • 输出重定向:将>左侧的输入文本通过>传入右侧文件并覆写上去的功能

">"  代表以覆盖的方式将箭头左侧输出内容覆盖到箭头右侧指定的文件或设备当中。

">>" 代表将箭头右侧的输出内容以追加方式输出到箭头右侧中。

 

 

> 使用案例

[root@localhost ~]# ls /etc/ > bb //将ls出的文件及文件夹名覆盖到bb文件中
[root@localhost ~]# cat bb //查看被覆写的bb文件中为etc目录中的文件及文件夹名
abrt
adjtime
aliases
aliases.d

[root@localhost ~]# echo 123 > bb //将123覆写到bb中
[root@localhost ~]# cat bb //查看bb,文件内容仅剩123了
123

 

>> 使用案例

[root@localhost ~]# echo 456 >> bb //使用>>在bb中追加456
[root@localhost ~]# cat bb //查看bb文件中被成功追加456字符
123
456

 

案例:将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

 

 

二、管道符

  • 将|左侧的命令传递到|右侧继续执行的 功能被称为管道符

例子:使用head将前6行输出后使用tr将小写字母转为大写字母

[root@localhost ~]# head -n 3 /etc/passwd //显示passwd文件前三行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@localhost ~]# head -n 3 /etc/passwd | tr 'a-z' 'A-Z' //显示passwd文件前三行后使用管道符将参数传入tr后将小写字符改为大写字符
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN

 

 

 

 练习: 将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

//通过cat读取issue中的文件内容后将文件传递到tr后将字母转为大写字母,再使用>创建并写入大写的字符
[root@localhost ~]# cat /etc/issue|tr 'a-z' 'A-Z' > /tmp/issue.out

 

举报

相关推荐

0 条评论