特殊通配符符号

发布时间 2023-11-17 12:23:48作者: 惠恒博

管道符号

基本概述

在Linux中,管道符(|)是一种特殊的字符,用于将一个命令的输出作为另一个命令的输入。这种方式实现了数据流的无缝传递和处理。基本的管道符语法是:command1 | command2。其中,command1表示第一个命令,其输出将成为command2的输入。管道可以连接任意数量的命令,形成长串的命令管道。将前面命令的输出,交由后面命令,作为后面命令的参数

参考示例

1.在/etc/passwd/里找到前十四个的最后一个

]# cat  -n  /etc/passwd  |  head   -14  |  tail   -1

通配符号

基本概述

*:任意多个任意字符,在正则表达式中,代表重复零个到无穷多个的前一个字符。

.:一个点号代表当前目录,两个点号代表上层目录;在代码中代表单个字符,和*的用法差不多。

?:单个字符,在文件名扩展上扮演的角色是匹配一个任意的字元;正则表达式中(扩展的正则表达式,需要grep -E或者是egrep)“?” 代表匹配无和?。

*?:所有字符

/:在路径表示时,代表目录。第一个斜线表示根目录,第二个斜线表示目录。

\:转义字符,放在特殊符号前,则该特殊符号的作用消失;放在指令的最末端,表示指令连接下一行。

[a-z]:多个字符或连续范围中的一个,若无则忽略

{a,min,xy}:多组不同的字符串,全匹配

参考示例

]# ls   /root/a*
]# ls   /dev/tty??
]# ls   /dev/tty[1-9]
]# ls   /dev/tty{1,3,13,18,27} 
]# echo  {1..100}      #显示连续的序列
]# echo  {01..10..2}   #显示1..10 的奇数信息 1 3 5 7 9
01 03 05 07 09
]# echo  {02..10..2}   #显示1..10 的偶数信息
02 04 06 08 10
]# mkdir /oldboy02/{www,bbs,blog}   #不连续无规律的序列

重定向符号

基本概述

重定向:将前面命令的输出,写入到后面文本文件

>:覆盖重定向

>>:追加重定向

2>错误输出重定向符号

2>>:错误输出追加重定向符号

&>file:若希望将正常输出、错误输出重定向同一个文件,正确与错误输出

&>>file:追加所有输出

<:输入重定向

<< :追加输入重定向

参考示例

]# cat   /etc/redhat-release    >    /opt/nsd01.txt
]# echo  123456   >>    /opt/nsd01.txt
]# echo oldboy >/oldboy/ok.txt 2>/oldboy/error.txt #将正确信息和错误信息都输出到文件中:(日志文件)
]# echo oldboy >>/oldboy/info.log 2>>/oldboy/info.log
]# echo oldboy &>/oldboy/info.log 
]# cat /oldboy/info.log
]# echo oldboy >/oldboy/info.log 2>&1  #将正确和错误信息同时保留到一个文件
]# cat /oldboy/info.log
]# echo "oldboy" >>/oldboy/oldboy.txt  #直接在文件中添加单行内容