Bash中的基本功能
别名与快捷键
alias
#可以查看系统中命令的别名
alias 别名='原命令'
#设定命令别名
别名永久生效与删除别名
vim ~/.bashrc
#写入环境变量配置文件
unalias 别名
#删除别名
由于添加到环境变量之后并不是即时生效的,需要做下面的操作
source .bashrc
#加载一下环境变量文件
命令生效顺序
第一顺位:执行命令用绝对路径或者相对路径执行的命令
第二顺位:执行别名命令
第三顺位:执行Bash内部命令
第四顺位:按照$PATH环境变量定义的目录查找的顺序第一的命令
快捷键
Ctrl c 强制终止
Ctrl l 清屏
Ctrl u 删除到行首
Ctrl a 光标移动到行首
Ctrl e 移动到行尾
Ctrl z 把命令放到后台 (没有终止,仅仅是放入后台执行)
Ctrl r 在历史记录中搜索
历史命令
history [选项] [历史命令保存文件]
选项:
-c : 清空历史命令
-w : 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
没事不要清空
历史命令默认保存的是1000条,可以在环境变量配置文件 /etc/profile 中进行修改
历史命令的基本用法:
使用上、下箭头调用以前的历史命令
使用“ !n ”重复执行第n条历史命令
使用“ !! ”重复执行上一条命令
使用“ !字串 ” 重复执行最后一条以该字串开头的命令
命令与文件补全
在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按 “ Tab ” 键就会自动进行补全
输出重定向
命令 > 文件名 覆盖
命令 >> 文件名 追加
加个2 记录的是报错信息(注意空格)
命令 2>文件名 覆盖
命令 2>>文件名 追加
上面的并不实用
命令 > 文件名 2>&1
命令 >> 文件名 2>&1
命令 &> 文件名
命令 &>> 文件名
命令 >> 文件1 2>>文件2
输入重定向
wc [选项] [文件名]
选项:
-c 统计字节数
-w 统计单词数
-l 统计行数
单独 wc ,写完字符直接按 ctrl + d 能够统计出行数、字数等信息
命令<文件 把文件作为命令的输入
命令<< 标识符
< adkfhksadhfkashd
<......
<标识符 把标识符之间内容作为命令输入
管道符
多命令顺序执行
; 命令1 ; 命令2 命令之间没有任何逻辑
&& 命令1 && 命令2 逻辑与
|| 命令1 || 命令2 逻辑或
| 命令1 | 命令2 命令1的正确输出作为命令2的操作对象
netstat -an | grep ESTABLISHED | wc -l
通配符
? 匹配任意字符。
* 匹配0个或任意多个任意字符,也就是可以匹配任何内容。
[] 匹配中括号中任意一个字符,例如 [abc] 代表一定匹配一个字符,或者是a,或者是b,或者是c。
[-] 匹配中括号中任意字符,-代表一个范围。例如:[a-z] 代表匹配一个小写字母。
[^] 逻辑非,表示匹配不是中括号内的一个字符。例如:[^0-9] 代表匹配一个不是数字的字符。
Bash中其他特殊符号
' ' 单引号。在单引号中所有的特殊符号,如 “$” 和 “`”(反引号) 都没有特殊含义。
" " 双引号。在双引号中特殊符号都没有特殊含义,但是 “$” 、 “`” 和 “\” 是例外,拥有“调用变量的值”、“引用命令”和“转义符”的特殊含义。
` ` 反引号。反引号括起来的内容是系统命令,在Bash中会先执行它。和 $() 作用一样,不过推荐使用 $() ,因为反引号非常容易看错。
$() 和反引号作用一样,用来引用系统命令。
# 在 Shell 脚本中,#开头的行代表注释
$ 用于调用变量的值,如需要调用变量name的值时,需要用 $name 的方式得到变量的值。
\ 转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如 \$ 将输出 “$”符号,而不当做是变量引用。