shell:外壳
GUI:Gnome,KDE,Xface
CLI:sh,csh,ksh,bash,tcsh,zsh
root,student
程序,进程
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序执行的实例
用户工作环境:
#:普通用户
$:管理员
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]:删除指定位置的命令
-w:保存命令历史至历史文件中
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史缓冲区大小
命令历史的使用技巧:
!n:执行命令历史中的第n条命令
!-n:执行命令历史的倒数第n条命令
!!:执行上一条命令
!string:执行命令历史中最近一个以指定字符串开头的命令
!$:引用前一个命令的最后一个参数 Esc松开 . Alt .
命令补全:
路径补全:
命令别名:
在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围为当前shell进程
alias CMDALIAS=‘COMMAND [options] [arguments]’
alias:显示所有定义的别名
unalias CMDALIAS 撤销别名
命令替换:
(date +%F-%H-%M-%S).txt
bash支持的引号:
``:命令替换
“”:弱引用,可以实现变量替换
‘’:不完成变量替换
文件名通配:globbing
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc],[a-m],[a-z],[A-Z],[0-9],[a-zA-Z]
[:space:]:所有空白字符
[:punct:]:所有标点符号
[:lower:]:所有小写字母
[:upper::]:所有大写字母
[:alpha:]:所有字母
[:digit:]:所有数字
[:alnum:]:所有字母及数字
[[:alpha:]][[:space:]][^[:alpha:]]
[^]:匹配指定范围外的单个字符