特殊字符:
- 与路径和位置有关的特殊字符:
- ~ 用户的家目录,超级用户为/root
- _ 用户(-) 代表上一次用户所在路径
- .代表当前目录(. 还有很多其他含义)
- ..代表上一级目录
- 通配符
- *匹配任意(0个或者多个)字符或字符串,包括空字符
- {}生成序列 引用变量作为变量与普通字符分隔
- ?匹配任意1个字符,有且只有一个字符
- [abcd]匹配abcd中任意一个字符,abcd也可以是任意不连续字符
- [a-z]匹配a-z范围的任意字符,字符前后要连续,-范围的意思,也可以用连续数字
- [!abcd]表示不匹配包含[]中任意一个字符(abcd中任意一个)
- 引号特殊符号知识:
- ‘’ 单引号,所见即所得,原样输出‘’中内容,‘’中有什么就原样输出什么,被称为强引用
- “” 双引号,输出“”中内容时;如果内容中有命令(要反引下),变量,特殊转译字符等;会先解析命令(要反引下),变量,特殊转译字符等 ,然后再输出最终结果,推荐使用,被称之为ruoyinyong
- ``反引号,一般用于引用命令,执行的时候命令会被执行,相当于$(),赋值和输出都要讲命令用 反引号 引起来
- 空 赋值时,如果变量内容有空格会赋值不完整。而在输出内容时,会将含有空格的字符串视为一个整体输出,如果内容中有命令(要反引下),变量等。会先把变量,命令解析出结果,然后输出最终内容,如果字符串中带有空格等特殊字符,则有可能无法完整的输出,因此需要改加双引号,一般连续的字符串,数字,路径等可以不加任何引号赋值和输出,不过无引号的情况最好用双引号代替之。特别是变量赋值时。
- 重定向特殊符号:
- 0 表示标准输入(stdin),配合<或<<使用,数据流从右向左。
- 1 表示标准输出(stdout),配合>或>>使用,数据流从左向右。
- 2 标准错误(stderr),配合>或>>使用,数据流从左向右。
- 0<或< 标准输入重定向,清空已有内容,数据从文件流向处理的命令
- 0<<或<< 追加输入重定向,追加内容到底部,数据从文件流向处理命令
- 1>或> 标准输出重定向,正常输出重定向到文件,会清空已有内容
- 1>>或>> 标准输出重定向,追加内容到文件底部,不清空原有内容
- 2> 错误输出重定向,将标准错误内容重定向到文件,如文件存在内容则清空
- 2>> 错误输出追加重定向,将标准错误内容追加到文件底部,不会清空已有内容。
- 其他特殊符号:
- ;表示一个命令的结束,也是命令间的分隔符
- #(1)表示是注释内容,给管理员看的注释部分,系统不会执行#开头的内容;(2)root用户的命令提示符
- | 表示管道,将一个命令处理后的内容输出给下一个命令继续处理
- $(1)字符串加$字符,代表字符串变量内容;(2)普通用户命令提示符
- \ 逃脱符,即将有特殊含义的字符还原成字符本意,例如$仅仅代表美元符
- & 将程序放入后台运行符
- bash 中逻辑操作符:
- && 与 ,and
- || 或, or
- ! 非,oppsite
- 其他:
- +号 一般与[ ] 进行配合使用,取连续字符
- | 或
- () 一个整体 后向引用-sed
- { } yy{n,m} 前一个字符至少连续出现n次,最多连续出现m次
- ? 前一个字符连续出现0次或1次