bash及其特性:
shell:外壳
GUI:Gnome,KDE,Xfce
CLI:sh,csh,ksh,bash,tcsh,zsh
root,student
程序:进程
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序的执行实例
用户工作环境:
bash:
#
$
tom,jerry
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:执行命令历史中最近一个以指定命令开头的命令
!$:引用前一个命令的最后一个参数
命令补全,路径补全
命令补全:搜索PATH环境变量所制定的每个路径下以我们给出的字符串开头的可执行文件,如果多于一个,两次Tab可以给出列表,否则直接补全。
路径补全:搜索我们给出的起始路径下的每个文件名,并试图补全。
命令别名
alias CMDALIAS=’COMMAND [OPTIONS] [ARQUMENTS]’
撤销别名:unalias 命令别名
在shell中定义的别名仅在当前shell生命周期中有效:别名的有效范围仅为当前shell进程
命令替换:$(COMAND),反引号:COMAND
把命令中某个子命令替换为执行结果的过程
bash支持的引号:
“:命令替换
“”:弱引用,可以实现变量替换
”:强引用,不完成变量替换
文件名通配,globbing
*:可以匹配任意长度的任意字符
?:可以匹配任意单个字符
[ ]:匹配指定范围内的任意单个字符
[abc],[a-m],[A-Z],[0-9],[a-zA-Z]
[:space:]:空白字符
[:punct:]标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
# man 7 glob
[^] :匹配指定范围之外的单个字符
