Linux系统——特殊符号、通配符及正则表达式

特殊符号

| 管道符号,将管道符左边的命令的执行结果以字符串的形式通过 管道符传送到管道符右边命令末尾,作为管道符右边命令的执行 范围

> 输出重定向

>> 追加输出重定向

< 输入重定向

<< 追加输入重定向

~ 当前用户的宿主目录

`` 引用命令优先执行

$() 引用命令优先执行

^... 以...开头

...$ 以...结尾

; 连续不同命令的分隔符号

* 任意

? 任意一个字符

# 注释

. 当前目录

.. 上一级目录

[] 表示一个范围

{} 产生一个序列

&& 当前一个命令执行成功的时候,执行后一个命令

|| 当前一个命令执行失败时候,执行后一个命令

! 逻辑运算中的非;!+字母表示调出最近以此字母开头的命令;!! 表示使用最近一次命令

/ 根;路径分隔符号

\ 转义符号、换行

$ 变量,取变量里面的内容;普通用户的命令提示符

- cd -回到上一次的目录;su – 切换用户

通配符

* 匹配任意字符(0个或多个)

? 匹配任何一个字符

[abcd] 匹配abcd中任意一个字符

[a-z] 匹配a-z范围中任意一个字符

{..} 用逗号分隔用来找文件、创造文件、生成序列

{,.} 利用{}备份

[!abcd] 取反,输出结果为取反后的一个字符

[^abcd] 取反,输出结果为取反后的一个字符

正则表达式

^ 以…开头

$ 以…结尾

^$ 表示空行,不是空格

. 代表任意一个字符,不匹配空行

* 重复*之前的一个字符0次到无限次(贪婪性)

.* 任意多个字符(贪婪性)

[] 匹配[]内的任意一个字符

[^] 取反匹配[]内的任意一个字符

+ 重复+之前的一个字符1次到无限次(贪婪性)

| 表示或者,同时过滤多个字符

? 重复前面一个字符0次或1次

() 分组过滤被括起来的东西表示一个整体(一个字符),后向引用

{n,m} 重复前面一个字符n到m次(贪婪性)

{n,} 重复前面一个字符至少n次

{n} 重复前面一个字符n次

单引号、双引号、不加引号的应用

单引号:引号里面的内容不经过任何解析,直接输出

双引号:引号里的内容不解析通配符,但解析特殊符号

不加引号:特殊符号、通配符全部解析