bash 及其特性:
shell : 外壳
GUI : Gnome KDE Xface
CLI:sh ,csh, ash,bash,tcsh,zsh
root student
程序:进程
开3个窗口就是3个进程
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序执行实例
用户工作环境
bash :
#
$
shell, 子shell
bash:
1.命令历史
2.管道,重定向
3.命令别名
4.命令行编辑
5 。命令行展开
6.文件名通配
7.变量
8.编程
命令行编辑
ctrl+a 跳到命令行首
ctrl+e 跳到命令行尾
ctrl+u 删除光标至命令行首的内容
ctrl+k 删除光标到命令行尾
ctrl+l 清屏
命令历史
history
history -d 500 //删除第500个命令历史
history -d 500 10 //从500个删除到510个
history -c 清空命令历史
history -d offset [n] //删除指定位置的命令
-w 保存命令历史至历史文件中
~/.bash_history
环境变量
PATH :命令搜索路径
HISTSIZE 命令历史缓冲区大小
!! //执行上一条命令
!-n //执行上n条命令
!string 执行命令历史中最近一个已指定string 开始的命令
!man
!m //如果最近一次是m开头的man 也可以这么写
!$ :引用前一个命令的最后一个参数
esc ,.
命令补全,路径补全
命令补全:搜索path 环境变量所最顶的每个路径下以我吗给出的字符串开头的课执行文件,如果多于一个,两次tab,可以给出列表,厚泽讲直接补全;
路径补全:搜索我吗给出的起始路径下的每个文件名,并试图补全
命令别名
alias CMDALIAS=COMMAND [options] [arguments]
alias cls=clear
在shell 中定义的别名仅在当前shell 生命周期中有效
alias cdnet=‘cd /etc/sysconfig/network-scripts/’
unalias cls
命令替换 $()
//把命令中某个子命令 替换为其执行结果的过程
pwd
/user/maozhongyu
echo ‘pwd: $(pwd)’;
//pwd: /user/maozhongyu
date
echo “date: $(date +%F)”;
//date: 2016-07-09
bash 支持的引号
`` 命令替换
echo `pwd`
“” //弱引号,可以实现变量替换
‘’ //强引号,不完成变量替换
文件名通配 glowing
*: 任意长度的任意字符
ls a* //以a开头的任意
ls a*3 //如a123 ab123
? //匹配任意单个字符
[] //匹配指定范围内的任意当个字符
[abc],[a-m], [a-z] [a-zA-Z] [0-9] [0-9A-Za-z]
[:space:]空白字符
[:punch:] 标点符号
[:lower:]小写字母
[:upper:]大些字母
[:alpha:]大小写字母
[:digit:]数字
[:alnum:] 数字和大小写字母
[^] //匹配指定范围之外的任意单个字符
//中间有空格点 字母
[[:alpha:]]*[[:space:]]*[[:alpha:]]
练习:
1.显示所有以a或m 开头的文件
[am]*
2.显示所有文件中包含了数字的文件
ls *[0-9]*
或者
ls *[[:digit:]]*
3.显示所有数字结尾且文件中不包含空白的文件
shell : 外壳
GUI : Gnome KDE Xface
CLI:sh ,csh, ash,bash,tcsh,zsh
root student
程序:进程
开3个窗口就是3个进程
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序执行实例
用户工作环境
bash :
#
$
shell, 子shell
bash:
1.命令历史
2.管道,重定向
3.命令别名
4.命令行编辑
5 。命令行展开
6.文件名通配
7.变量
8.编程
命令行编辑
ctrl+a 跳到命令行首
ctrl+e 跳到命令行尾
ctrl+u 删除光标至命令行首的内容
ctrl+k 删除光标到命令行尾
ctrl+l 清屏
命令历史
history
history -d 500 //删除第500个命令历史
history -d 500 10 //从500个删除到510个
history -c 清空命令历史
history -d offset [n] //删除指定位置的命令
-w 保存命令历史至历史文件中
~/.bash_history
环境变量
PATH :命令搜索路径
HISTSIZE 命令历史缓冲区大小
!! //执行上一条命令
!-n //执行上n条命令
!string 执行命令历史中最近一个已指定string 开始的命令
!man
!m //如果最近一次是m开头的man 也可以这么写
!$ :引用前一个命令的最后一个参数
esc ,.
命令补全,路径补全
命令补全:搜索path 环境变量所最顶的每个路径下以我吗给出的字符串开头的课执行文件,如果多于一个,两次tab,可以给出列表,厚泽讲直接补全;
路径补全:搜索我吗给出的起始路径下的每个文件名,并试图补全
命令别名
alias CMDALIAS=COMMAND [options] [arguments]
alias cls=clear
在shell 中定义的别名仅在当前shell 生命周期中有效
alias cdnet=‘cd /etc/sysconfig/network-scripts/’
unalias cls
命令替换 $()
//把命令中某个子命令 替换为其执行结果的过程
pwd
/user/maozhongyu
echo ‘pwd: $(pwd)’;
//pwd: /user/maozhongyu
date
echo “date: $(date +%F)”;
//date: 2016-07-09
bash 支持的引号
`` 命令替换
echo `pwd`
“” //弱引号,可以实现变量替换
‘’ //强引号,不完成变量替换
文件名通配 glowing
*: 任意长度的任意字符
ls a* //以a开头的任意
ls a*3 //如a123 ab123
? //匹配任意单个字符
[] //匹配指定范围内的任意当个字符
[abc],[a-m], [a-z] [a-zA-Z] [0-9] [0-9A-Za-z]
[:space:]空白字符
[:punch:] 标点符号
[:lower:]小写字母
[:upper:]大些字母
[:alpha:]大小写字母
[:digit:]数字
[:alnum:] 数字和大小写字母
[^] //匹配指定范围之外的任意单个字符
//中间有空格点 字母
[[:alpha:]]*[[:space:]]*[[:alpha:]]
练习:
1.显示所有以a或m 开头的文件
[am]*
2.显示所有文件中包含了数字的文件
ls *[0-9]*
或者
ls *[[:digit:]]*
3.显示所有数字结尾且文件中不包含空白的文件