通配符与特殊符号
通配符:
.代表特殊含义的一些符号。
作用于文件名的通配符:
*匹配任意(0个或多个)字符或字符串,包括空字符串※
? 匹配任意1个字符,有且只有一个字符
字符集合(匹配一堆字符/文本)
[abcd] 匹配abcd中任何一个字符[1-9][a-z] [!abcd][^abcd] 取反
与路径和位置有关的特殊符号
符号 作用
~ 用户的家目录,超级用户为/root,普通用户为/home
- 代表上一次(相对于当前路径)用户所在的路径
. 代表当前目录(点号还有很多其它含义,暂且不表)
.. 代表上一级目录
- 上一次所在目录 cd-==cd $OLDPWD
单引号
('')所见即所得,即输出单引号内容时会将单引号内的所有内容都原样输出,或者描述为单引号里面看到的是什么就会输出什么,被称之为强引用
希望看到啥就输出啥就用单引号。
双引号(常用)
("") 输出双引号内的所有内容时,如果内容中有命令(要反引下)、变量、特殊转义符等,会先把变量、命令、转义字符解析出结果,然后再输出最
终内容,被称为弱引用。推荐使用
不知道用什么引号就用双引号。
反引号(相当于$())
(``) 一般用于引用命令,执行的时候命令会被执行,相当于$(),赋值和输出都要将命令用``引起来里面是可执行的命令。
其他特殊符号:
名称 解释
;
表示一个命令的结束
也是命令间的分隔符
#
1)root用户的命令提示符
2)表示是注释内容,是用来给管理员看的,系统不会执行#号开头的内容
3)命令替换用的分隔符 比如VIM里的替换 :%s#129#921#g
| 表示管道,将一个命令处理后的中间内容输出给下一个命令继续处理
1)管道传输的是数据流(文件内容),不是文件(文件名)。
2)不需要管道直接可以用命令处理。
3)分组功能,同时过滤多个字符串
grep -E ==egrep
$
1)代表普通用户的命令提示符
2)字符串前加$符号,代表字符串变量内容
\ 逃脱符或转义字符,即将有特殊含义的字符(通配符或正则表达式)还原成字符本意
\? 只表示问号本身
{}
1)生成序列
echo {1..10} {a..z} {z..a} {10..1}
seq 数字序列
打奇偶数
seq 1 2 5
起始 步长 结束
用途:
seq 10 竖向打印序列
seq -w 10 补全位数打印序列。
seq 起始 步长 结束 打印奇数和偶数序列
步长为正数就是从小到大,否则从大到小。起始数字>结束数字
seq -w -s" " 10 -s指定分隔符,横向打印序列
2)引用变量作为变量与普通字符的分隔
bash里特殊符号
名称 解释
&& 前一个命令执行成功,再执行后面一个命令
|| 前一个命令执行失败,再执行后面一个命令
!
1)在Bash中表示取反
2)在vi/vim中表示强制
3)!ls表示找出最近一次以ls开头的命令并运行