bash特性详解
bash及其特性:
shell:外壳
GUI:Gnome,KDE,Xface
SLI:sh,csh,ksh,bash,tcsh,zsh
程序 进程
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序执行实例
用户工作环境:
bash:
#
$
shell 子shell
bash--bash
bash:
1、命令历史
2、管道,重定向
3、命令别名
4、命令行编辑
5、命令行展开
6、文件名通配
7、变量
8、编程
命令行编辑:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u:删除光标到命令行首的内容
Ctrl+k:删除光标到命令行尾的内容
Ctrl+l:清屏
命令历史:
查看命令历史:
history:
-c:清空命令历史
-d OFFSET n:删除指定位置的命令
-w:保存历史命令至历史文件中
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史缓冲区大小
命令历史的使用技巧:
!n:执行命令历史中的第n条命令;
!-n:执行命令历史中的倒数第n条命令;
!!:执行上一条命令;
!string:执行命令历史中最近一个以指定字符串开头的命令
!$:引用前一个命令的最后一个参数;(Esc(松开). Alt+.)
命令补全,路径补全:
命令补全:搜索PATH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件,如果多于一个,两次Tab,可以给出列表;否则将直接补全;
Tab[Tab]
路径补全:搜索我们给出的起始路径下的每个文件名,并试图补全
Tab[Tab]
命令别名:
alias CMDALIAS=‘COMMAND [options] [arguments]’
在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;
\CMD:
unalias CMDALIAS:删除别名
命令替换:$(COMMAND), `COMMAND`(反引号)
把命令中某个子命令替换为其执行的结果
file-2016-08-16-19-01-31
bash支持的引号:
` ` :命令替换:
“ ”:弱引用,可以实现变量替换
‘ ':强引用,不完成变量替换
文件名通配:globbing
* :匹配任意长度的任意字符
?:匹配任意单个字符
[ ]:匹配指定范围内的任意单个字符
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
[^ ]:匹配指定范围之外的任意单个字符