管道符、重定向

管道符与重定向

管道命令符

管道命令符|”的作用是将前一个命令的标准输出当作后后一个命令的标准输入,格式为命令A|命令B”。

 

向zhusaiwei-hbza用户发送一封邮件:

[root@zhusaiwei-hbza ~]# echo "Content" | mail -s "Subject" zhusaiwei-hbza

输入输出重定向

对于输出重定向符有这些情况:

符号

作用

命令 > 文件

将标准输出重定向到一个文件中(清空原有文件的数据)

命令 2> 文件

将错误输出重定向到一个文件中(清空原有文件的数据)

命令 >> 文件

将标准输出重定向到一个文件中(追加到原有内容的后面)

命令 2>> 文件

将错误准输出重定向到一个文件中(追加到原有内容的后面)

命令 >> 文件 2>$1

将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

 

对于输入重定向有这些情况:

符号

作用

命令 < 文件

将文件作为命令的标准输入

命令 << 分界符

从标准输入中读入,直到遇见“分界符”才停止

命令 < 文件1 > 文件2

将文件1作为命令的标准输入并将标准输出到文件2

man命令的帮助文档写入到/root/man.txt中:

[root@zhusaiwei-hbza ~]# man bash > /root/man.txt

readme.txt文件中写入一行文字:

[root@zhusaiwei-hbza ~]# echo "Welcome to LinuxProbe.Com" > readme.txt

readme.txt中追加一行文字:

[root@zhusaiwei-hbza ~]# echo "Quality linux learning materials" >> readme.txt

查看readme.txt中的内容:

[root@zhusaiwei-hbza ~]# cat readme.txt

Welcome to LinuxProbe.Com

命令行通配符

Bash解释器的支持多种文本通配符包括:

通配符

含义

*

匹配零个或多个字符。

?

匹配任意单个字符。

[0-9]

匹配范围内的数字。

[abc]

匹配已出的任意字符。

 

查看sda开头的所有设备文件:

[root@zhusaiwei-hbza ~]# ls /dev/sda*

/dev/sda /dev/sda1 /dev/sda2

查看sda后面有一个字符的设备文件:

[root@zhusaiwei-hbza ~]# ls /dev/sda?

/dev/sda1 /dev/sda2

查看sda后面包含0-9数字的设备文件:

[root@linuxprobe ~]# ls /dev/sda[0-9]

/dev/sda1 /dev/sda2

查看sda后面是1或3或5的设备文件:

[root@zhusaiwei-hbza ~]# ls /dev/sda[135]

/dev/sda1

 

另外bash解释器还支持很多的特殊字符扩展:

字符

作用

\(反斜杠)

转义后面单个字符

''(单引号)

转义所有的字符

""(双引号)

变量依然生效

``(反引号)

执行命令语句

定义名称为PRICE的变量值为5:

[root@zhusaiwei-hbza ~]# PRICE=5

想要输出”价格是5″:

[root@zhusaiwei-hbza ~]# echo "Price is $PRICE"

Price is 5

想要输出”价格是$5″,但因为美元符号与代表变量取值的$符号冲突了,所以报错了:

[root@zhusaiwei-hbza ~]# echo "Price is $$PRICE"

Price is 3767PRICE

添加一个反斜杠,将第一个$符号转义:

[root@zhusaiwei-hbza ~]# echo "Price is \$$PRICE"

Price is $5

使用单引号,变量将不再被取值:

[root@zhusaiwei-hbza ~]# echo 'Price is \$$PRICE'

Price is \$$PRICE

执行uname -a后可以查看到本机内核的版本与架构信息(反引号里面的命令会被执行):

[root@zhusaiwei-hbza ~]# echo `uname -a`

Linux zhusaiwei-hbza.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

posted @ 2019-11-18 16:57  -朱赛微-  阅读(434)  评论(0编辑  收藏  举报