bash特性
1.命令行编辑
2.命令补全
3.路径补全
4.命令历史
5.命令别名
6.命令替换
7.文件名通配
bash 打开新bash
pstree 查看当前进程
1.命令行编辑
光标跳转
Ctrl+a 跳到命令行首
Ctrl+e 跳到命令行首
Ctrl+左右箭头 以单词为单位跳转
Ctrl+u 删除光标至命令行首的内容
Ctrl+k 删除光标至命令行尾的内容
Ctrl+l 清屏
2. 命令补全
搜索PATH环境变量所指定的每个路径下以给出的字符串开头的可执行文件
Tab单击 补全唯一标识的命令
Tab双击 显示所有开头的命令
3.路径补全
从给出的起始路径下搜索每个文件名
Tab单击 补全唯一标识的路径
Tab双击 显示所有开头的路径
4. 命令历史
登录后,此次操作对命令历史一般被保存在内存中,退出时,会被转存在家目录下的. bash_history这个隐藏文件中。
history
查看命令历史
选项 -c ,清空命令历史
选项 -d OFFSET 【n】,删除指定位置的命令,从offset开始的n个命令,默认n=1
选项 -w ,保存命令历史至历史文件中
环境变量PATH,表示命令搜索路径
环境变量HISTSIZE,表示命令历史缓冲区大小,默认1000条,使用echo $HISTSIZE查看
命令历史的使用技巧
! n,执行历史命令的第n条命令
! -n,执行历史命令的倒数第n条命令
!! ,执行上一条命令
! STRING ,执行命令历史中最近一个以STRING为开头的命令
! $,引用上一个命令的最后一个参数(可用Esc而后. 来实现) (也可用Alt+. 来实现)
5. 命令别名
alias CMDALIAS='COMMAND OPTION ARGUMENTS'
在shell 中定义的别名仅在当前shell生命周期中有效,别名的有效范围仅为当前shell进程(若想在全局环境中随时有效,在配置文件中添加此代码)
alias
显示当前系统的所有别名
unalias CMDALIAS
取消命令别名
\COMMAND
运行原命令,可加选项 参数
6. 命令替换
把命令中的某位置,用另一命令的执行结果代替
$(COMMAND)
反引号COMMAND反引号,'COMMAND'
举例
touch ./file-$(date +%F+%H+%M+%S).txt
bash支持的引号
反引号,命令替换
双引号,弱引用,可以实现变量替换
单引号,强引用,不完成变量替换
7. 文件名通配
globbing
man 7 glob,查看说明
* 任意长度的任意字符,包括空字符
? 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[0-9a-zA-Z] 所有数字字母
[:space:] 所有空白格
[:punct:] 所有标点符号
[:lower:] 所有小写字母
[:upper:] 所有大写字母
[:alpha:] 所有字母
[^[:alpha:] ]所有非字母
[:digit:] 所有数字
[:alnum:] 所有数字字母
[[:alpha:]]* [[:space:]]* [[:alpha:]] 字母开头字母结尾中间有空白字符