6)Bash常用快捷键
快捷键 | 作用 |
ctr1+ a | 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移| 动到命令行开头时使用。 |
ctr1+e | 把光标移动到命令行结尾。 |
ctr1+c | 强制终止当前的命令。 |
ctr1+ l | 清屏,相当于clear命令。 |
ctrl+u | 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便 |
ctrl+k | 删除或剪切光标之后的内容。 |
ctrl+y | 粘贴ctrl+U或ctrl+k剪切的内容。 |
ctrl+r | 在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入| 搜索内容,就会从历史命令中搜索。 |
ctrl+d | 退出当前终端。 |
ctrl+z | 暂停,并放入后台。这个快捷键牵扯工作管理的内容,我们在系统管 理章节详细介绍。 |
ctrl+s | 暂停屏幕输出。 |
ctrl+q | 恢复屏幕输出。 |
7)标准输入输出
设备 | 设备文件名 | 文件描述符 | 类型 |
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/sdtout | 1 | 标准输出 |
显示器 | /dev/sdterr | 2 | 标准错误输出 |
8)输出重定向
类型 | 符号 | 作用 |
标准输出重定向 | 命令>文件 | 以覆盖的方式,把命令的正确输出到指定的文件或设备当中。 |
命令>>文件 | 以追加的方式,把命令的正确输出到指定的文件或设备当中。 | |
标准错误输出重定向 | 错误命令2>文件 | 以覆盖的方式,把命令的错误输出到指定的文件或设备当中。 |
错误命令2>>文件 | 错误输出到指定的文件或设备当中。 | |
正确输出和错误输出同时保存 | 命令>文件 2>&1 | 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中。 |
命令>>文件 2>&1 | 以追加的方式,把正确输出和错误输出都保存到同一个文件当中。 | |
命令&>文件 | 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中。 | |
命令&>>文件 | 以追加的方式,把正确输出和错误输出都保存到同一个文件当中。 | |
命令>>文件1 2>>文件2 | 把正确的输出追加到文件中,把错误的输出追加到文件2中。 |
9)输入重定向
命令 < 文件 把文件作为命令的输入
10)多命令顺序执行
多命令执行 | 格式 | 作用 |
; | 命令1;命令2 | 多个命令顺序执行,命令之间没有任何逻辑联 |
逻辑与&& | 命令1&&命令2 | 当命令1正确执行,则命令2才会执行 |
逻辑或|| | 命令1ll命令2 | 当命令1执行不正确,则命令2才会执行;当命令1正确执行,则命令2不会执行 |
11)管道符 |
格式: 命令1|命令2 #命令1的正确输出作为命令2的操作对象
12)grep 在文件中搜索符合条件的内容
格式: grep [选项] “搜索内容"
选项:
-i:忽略大小写
-n:输出行号
-v:反向查找
-color=auto搜索出的关键字用颜色显示
13)通配符
通配符 | 作用 |
? | 匹配一个任意字符 |
* | 匹配0个或任意多个任意字符,也就是可以匹配任何内容 |
[ ] | 匹配中括号中任意一个字符 |
[-] | 匹配中括号中任意一个字符,-代表一个范围 |
[~] | 逻辑非,表示匹配不是中括号内的一个字符 |
14)Bash中其他特殊符号
符号 | 作用 |
‘ ’ | 单引号。在单引号中所有的特殊符号,如“$”和“`”(反引号)都没有特殊含义。 |
” ” | 双引号。在双引号中特殊符号都没有特殊含义,但是“$”、”`“和“\\”是例外,拥有“调用变量的值”、“引用命令”和“转义符”的特殊含义。 |
` ` | 反引号。反引号括起来的内容是系统命令,在Bash中会先执行它和$()作用一样,不过推荐使用$(),因为反引号非常容易看错。 |
$() | 和反引号作用一样,用来引用系统命令。 |
# | 在Shell脚本中,#开头的行代表注释。 |
$ | 用于调用变量的值,如需要调用变量name的值时,需要用Sname的方式得到变量的值。 |
\ | 转义符,跟在\\之后的特殊符号将失去特殊含义,变为普通字符。如\$将输出“$”符号,而不当做是变量引用。 |
5、Bash变量
1)用户自定义变量:本地变量
◆在Bash中,变量的默认类型都是字符串型。如果要进行数值运算,则必修指定变量类型为数值型。
◆变量用等号连接值,等号左右两侧不能有空格。
◆变量的值如果有空格,需要使用单引号或双引号包括。
◆在变量的值中,可以使用“\”转义符。
◆如果需要增加变量的值,那么可以进行变量值的叠加。不过变量需要用双引号包含“$变量名”或用${变量名}包含。
◆如果是把命令的结果作为变量值赋予变量,则需要使用反引号或$()包含命令。
◆环境变量名建议大写,便于区分。
变量定义: name=“value”
变量叠加: name=“$name”value
变量调用: echo Sname
变量查看: set
变量删除: unset name
2)环境变量:这种变量中主要保存的是和系统操作环境相关的数据。
3)位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
4)预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。