输出重定向
标准输入输出
设备 | 设备文件名 | 文件描述符 | 类型
键盘 | /dev/stdin | 0 | 标准输入
显示器 | /dev/sdtout | 1 | 标准输出
显示器 | /dev/sdterr | 2 | 标准错误输出
输出重定向到文件
类型 | 符号 | 作用
------------------------------------------------------------------------------------
| 命令>文件 | 以覆盖的方式把正确输出,输出到文件或设备中
标准输出重定向 |--------------------------------------------------------------
| 命令>>文件 | 以追加的方式把正确输出,输出到文件或设备中
------------------------------------------------------------------------------------
| 错误命令 2> 文件 | 以覆盖的方式把错误输出,输出到文件或设备中
标准错误输出重定向 |---------------------------------------------------------------
| 错误命令 2>> 文件 | 以追加的方式把错误输出,输出到文件或设备中
同时保存正确和错误输出
命令>文件 2>&1 | 以覆盖的方式,把正确和错误输出保存在同一个文件中
命令>>文件 2>&1 | 以追加的方式,把正确和错误输出保存在同一个文件中
命令&>文件 | 以覆盖的方式,把正确和错误输出保存在同一个文件中
命令&>>文件 | 以追加的方式,把正确和错误输出保存在同一个文件中
命令>>文件1 2>>文件2 | 把正确输出追加到文件1,把错误输出追加到文件2中
输入重定向
wc [选项] 文件名
-c //统计字节数
-w //统计单词数
-l //统计行数
特殊符号
多命令顺序执行
多命令执行符 | 格式 | 作用
; | 命令1;命令2 | 多个命令顺序执行,没有任何逻辑关系
&& | 命令1&&命令2 | 逻辑与,1正确执行则2才执行,1不能执行则2也不执行
|| | 命令1||命令2 | 逻辑或,1不能执行则执行2,1执行2不会执行
管道符
命令1 | 命令2 //管道符,命令1的正确输出作为命令2的操作对象
例如:netstat -an | grep ESTABLISHED | wc -l //统计服务器在线人数
通配符
通配符 | 作用
? | 匹配一个任意字符
* | 匹配任意字符
[] | 匹配括号中的任意一个字符,例如:[ab]匹配可以是a,可以是b
[-] | 匹配括号中的任意一个字符,- 代表一个范围,例如:[a-z]
[^] | 逻辑非,不匹配括号内的一个字符,例如:[^0-9]
其它特殊符号
特殊符号 | 作用
'' | 单引号中的所以字符都没有特殊含义
"" | 双引号中的特殊符号都没有特殊含义,但是"$","`","\"是例外,拥有"调用变量的值","引用命令","转义符"含义
`` | 反引号,反引号括起来的是系统命令,在bash中会执行它,它$()作用一样,推荐使用$()
$() | 和反引号一样
# | shell脚本中,#开头的行代表注释
$ | 用于调用变量的值,如需要调用变量name的值是,需要用$name的方式得到变量的值
\ | 转义符,跟在\后的特殊符号将失去特殊含义,变为普通字符