(一)历史命令<history>
格式: history[选项][历史命令保存文件]
选项:
-c: 清空历史命令
-w: 把缓存中的历史命令写入历史命令保存文件(~/.bash_history)
历史命令的调用
(1)使用 ↑ ↓ 调用以前的历史命令
(2)使用" !n ”重复执行第n条历史命令
(3)使用" !! "重复执行上一条命令
(4)使用“ !字串 "重复执行最后一条以该字串开头的命令
执行结果如下:
(二)命令别名<alias>
设定别名: alias 别名=‘原命令’ (设定命令别名)
查询别名:alias (查询命令别名)
删除别名: unalias 别名
执行顺序:
1 第一顺位执行用绝对路径或相对路径执行 的命令。
2 第二顺位执行别名。
3 第三顺位执行Bash的内部命令。
4 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
说明:如果将别名声明为命令名,则原命令名会失效
(三)输入输出重定向(' > ' ' < ')
设备 | 设备文件名 | 文件描述符 | 类型 |
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/sdtout | 1 | 标准输出 |
显示器 | /dec/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的操作对象
(六)搜索命令
命令: grep[选项]"搜索内容" 文件名
功能:从文件名下的文件中找到与包含 搜索内容的文件 并输出
选项:
① -i :忽略大小写
② -n :输出行号
③ -v :反向查找
④ --color=auto 搜索出的关键字用颜色显示
(七)通配符
通配符 | 作用 |
? | 匹配一个任意字符 |
* | 匹配0个或任意多个字符,也就是可以匹配任何内容 |
[] | 匹配中括号任意一个(or)字符。 |
[-] | 匹配中括号中任意一个字符,-代表一个范围。 |
[^] | 逻辑非,表示匹配不是中括号内的一个字符。 |
操作:
(八)其他符号
符号 | 作用 |
‘ ’ | 单引号。在单引号中所有的特殊字符,如“$”和“·”(反引号)都没有特殊含义 |
“” | 双引号。在双引号中的特殊字符都没有特殊含义,但是“$”、“·”和“\”是例外,拥有“调用变量的值”、“引用命令” 和“转义符”的特殊含义 |
·· | 反引号。反引号括起来的内容是系统命令,在Bash中会先执行它,和$()作用一样,推荐使用$() |
$() | 和反引号作用一样,用来引用系统命令 |
# | 在Shell脚本中,#开头的行代表注释 |
$ | 由于调用变量的值,如需要调用变量name的值时,需要使用$name的方式得到变量的值 |
\ | 转义符,跟在\之后的特殊字符号将失去特殊含义,变为普通字符。 |
实践操作: