day27学习笔记(4月11日)
通配符
通配符语法、作用
字符 | 说明 | 示例 |
---|---|---|
* | 匹配任意(0或多个)字符串,包括空字符串 | “wh*”将找到 what、white 和 why,但找不到 awhile 或 watch。 |
? | 在特定位置中匹配单个字母。匹配任意1个字符,且只有一个字符 | “b?ll ”可以找到 ball、bell 和 bill。 |
[ ] | 匹配方括号中的字符。 | “b[ae]ll”将找到 ball 和 bell,但找不到 bill。 |
! | 在方括号中排除字符。 | “b[!ae]ll”将找到 bill 和 bull,但找不到 ball 或 bell。“Like “[!a]*””将找到不以字母 a 开头的所有项目。 |
- | 匹配一个范围内的字符。 记住以升序指定字符(A 到 Z,而不是 Z 到 A)。 | “b[a-c]d”将找到 bad、bbd 和 bcd。 |
# | 匹配任意单个数字字符。 | “1#3”将找到 103、113 和 123。 |
^ | 同感叹号、在方括号中排除字符 | b[^ae]ll ,找不到ball,找不到bell,能找到bcll |
符号集合
字符 | 作用 |
---|---|
[abcd] | 匹配方括号里的abcd任意一个字符,abcd可以是其他不连续的字符如[aqwd] |
[a-z] | 匹配方括号里a到z之间的任意一个字符 |
[0-9] | 匹配方括号里0到9之间的任意一个字符 |
[!abcd] | 不匹配方括号里的任意字符,也可写作[!a-d] |
[^abcd] | 同上,!可以换成^ |
unix风格的通配符表
符号 | 作用 |
---|---|
[[:upper:]] | 所有大写字母 |
[[:lower:]] | 所有小写字母 |
[[:alpha:]] | 所有字母 |
[[:digit:]] | 所有数字 |
[[:alnum:]] | 所有的字母和数字 |
[[:space:]] | 所有的空白字符 |
[[:punct:]] | 所有标点符号 |
特殊符号(路径相关)
符号 | 作用 |
---|---|
~ | 当前登录用户的家目录 |
- | 上一次工作路径 |
. | 当前工作路径,或表示隐藏文件 .yuchao.linux |
.. | 上一级目录 |
其他特殊符号
字符 | 作用 |
---|---|
; | 分号,命令分隔,命令结束 |
# | 1、注释符号,文件中注释行 |
2、root身份提示符号 | |
| | 管道符,传递上一条命令结果给下一个命令加工,常与grep、xarg命令一起使用 |
$ | 1、取值符号,$PATH,$(date '+%F') |
2、普通用户身份提示符号 | |
\ | 转义字符,将特殊含义的字符还原成普通字符 |
{} | 1、生成序列,touch {1..10}.txt,echo A |
2、引用变量作为变量与普通字符的分隔,echo $ | |
3、文件名简写,cp /etc/resolv.conf |
引号
字符 | 作用 |
---|---|
' ' 单引号 | 强引用,所见即所得,单引号内的内容会原样输出 |
" "双引号 | 弱引用,能识别特殊符号、变量、转义字符,解析后输出 |
``反引号 | 可以解析命令,引用命令结果,用法与$()相同 |
无引号 | 严禁角度,建议加上引号,在图书字符、空格、变量等必须写上引号,否则会出现歧义 |
逻辑字符
字符 | 作用 |
---|---|
&& | 前一个命令执行成功后在执行下一个命令 |
|| | 前面命令执行失败,在执行下一个命令 |
重定向符号
字符 | 作用 |
---|---|
> | stdout覆盖重定向 |
ls *.txt > all_txt.file | |
>> | stdout追加重定向 |
ls *.txt >> all_txt.file | |
< | stdin重定向输入 |
<< | 标准输入追加重定向符号 |
2> | 错误输出重定向 |
2>&1 | stderr追加重定向 |
ls /opt/ttttttttt >> /tmp/opt.file 2>&1 |