bash特性
shell:外壳
GUI:Gnome,kde,xfce
CLI:sh,csh,ksh,bash,tcsh,zsh
程序:进程
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序的执行实例
shell 子shell
bash:
1、命令历史、命令补全
2、管道、重定向
3、命令别名
4、命令编辑
5、命令行展开
6、文件名统配
7、变量
8、编程
命令行编辑:
命令光标跳转:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u:删除光标至命令行首的内容
Ctrl+k:删除光标至命令行尾的内容
Ctrl+l:清屏
命令历史:
查看命令历史:history
-c:清空命令历史
-d: OFFSET [N]:删除指定位置的命令
history -d 500 10
-w:保存命令历史至历史文件中
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史缓冲区大小
命令历史的使用技巧:
!n: 执行命令历史中的第n条命令
!-n :执行命令历史中的倒数第n条命令
!!:执行上一条命令
!string:执行命令历史中最近一个以指定字符串开头的命令
!$引用上一条命令的最后一个参数(ESC放开,按点)
ESC,.
命令补全:
命令别名:alias
alias CMDALIAS=COMMAND [options] [arguments]
在shell中定义的别名仅在当前shell生命周期中有效;
unalias 取消别名
unalias CMDALIAS
命令替换:
$(COMMAND), 反引号`COMMAND`
把命令中某个子命令替换为命令执行结果
touch ./file-$(date +%F-%H-%M-%S).txt
bash支持的引号:
``:命令替换
"":弱引用,可以实现变量替换
'':强引用,不完成变量替换
文件名通配:globbing
* :任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc] [a-m] [a-z] [0-9] [a-zA-Z]
^:取反
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
# man 7 glob 查看
转载于:https://my.oschina.net/u/270202/blog/533705