通配符
符号 | 意义 |
---|---|
* | 0个到多个任意字符 |
? | 一个任意字符 |
[] | 括号中的任意一个字符 |
[-] | 括号中编码范围内的任意字符,例如[0-9]表示所有数字 |
[^] | 若中括号中的第一个字符为 ^ ,则表示不在中括号中的任一字符,例如[^0-9]表示非数字的任一字符 |
特殊字符
符号 | 意义 |
---|---|
# | 注释符号 |
\ | 转义符 |
| | 管线,分隔两个管线命令的符号 |
; | 连续下达命令的分隔符 |
~ | 当前用户的主文件夹 |
$ | 取变量的符号,例如取变量 PATH 的值使用$PATH |
& | 后台执行 |
! | 逻辑非 |
/ | 目录符 |
> | 数据重定向:取代 |
>> | 数据重定向:追加 |
< | 数据重定向:导入 |
<< | 数据重定向:导入 |
'(单引号) | 原生字符串 |
"(双引号) | 可以替换变量 |
&& | 与,如果前一个指令执行成功,则执行后边的指令 |
|| | 或,如果前一个指令执行失败,则执行后边的指令 |
数据流重定向
输出重定向
执行一个指令的时候,会有两个输出:
- 标准输出(standard output)
- 标准错误输出(standard error output)
标准输出重定向使用:>
或者 >>
标准错误输出重定向使用:2>
或者 2>>
如果不想看到输出,也不想存储到文件的话,可以将输出写入到 /dev/null
。不会占用空间
例子:
# 将标准输出 与 标准错误输出 写到不同文件
cat test.txt > std_out.txt 2> std_err.txt
# 将标准输出 与 标准错误输出 写入相同文件
cat test.txt > std.txt 2>&1
# 或者
cat test.txt &> std.txt
输入重定向
<
输出重定向:简单来说就是:将原本需要由键盘输入的数据,改由文件内容来取代
例如:
# 创建catfile,catfile的内容从 test.txt 获取
cat > catfile < test.txt
<<
<<
这个符号,可以指定结束符,只要在输入了“结束符”的时候,才会结束输入
例如:
# 指定eof为结束符,也就是只有输入了eof的时候才会结束输入
cat > catfile << "eof"
> csdn
> 色即是空,空即是色
> eof
# 查看刚输入的内容,结束符号不会被写入到文件当中
cat catfile
csdn
色即是空,空即是色