标签:bash
一、什么是shell?
1、shell:外壳
GUI:Gnome、KDE、Xface
CLI:sh、csh、ksh、bash、tcsh、zsh
2、prompt,命令提示符
#:root用户
$:普通用户
3、子shell?
在shell中直接输出bash,即可进入其子shell,且父shell和子shell互不相
二、Bash特性
(1)命令行编辑
Ctrl+a:命令行光标跳到命令行首
Ctrl+e:命令行光标跳到命令行尾
Ctrl+u: 删除命令行光标至命令行首的内容
Ctrl+k: 删除命令行光标至命令行尾的内容
Ctrl+l: 清屏
Ctrl+d:删除当前命令行光标处的内容
Ctrl+p:显示上一条命令(或上下箭头)
(2)强引用&弱引用&命令替换
‘‘: 强引用,不完成变量替换
echo ‘User shell is ${SHELL}‘,输出结果为:User shell is ${SHELL},未完成变量替换
"": 弱引用,可以实现变量替换(变量替换:将变量名替换为变量值)
echo "User shell is ${SHELL}",输出结果为:User shell is /bin/bash,完成变量替换
``|$():命令替换,在命令中嵌套一个子命令并将其替换成输出结果
echo "Work dir is $(pwd)",输出结果为:Work dir is /root
echo "Work dir is `pwd`",输出结果为:Work dir is /root
touch file$(date +-%Y-%m-%d-%H-%M-%S).txt,输出结果为:file-2016-05-01-09-12-07.txt
(3)文件通配符,globbing(man 7)
*:匹配任意长度的任意字符
?:匹配任意单个字符
[]:匹配指定范围内的任意单个字符,常用范围举例:
大写字母:[A-Z]、[:upper:]
小写字母:[a-z]、[:lower:]
大小写字母:[a-zA-Z]、[:alpha:]
空白字符:[:space:]
数字:[0-9]、[:digit:]
数字和大小写字母:[0-9a-zA-Z]、[:alnum:]
标点符号:[[:punct:]]
[^]:匹配指定范围外的任意单个字符
(4)命令别名
定义别名:alias CMDALIAS=‘COMMAND [options] [arguments]‘
查看别名:alias
取消别名:unalias CMDALIAS
使用命令本身:\Command(在该命令存在命令别名时)
将命令别名写入bash的配置文件中,永久有效,否则只在当前Shell的生命周期中有效
(5)命令补全
补全功能键:TAB
命令补全:搜索PATH环境变量所指定每个路径下
路径补全:搜索起始路径下
本文出自 “Tornado” 博客,谢绝转载!
标签:bash
原文地址:http://tornado0826.blog.51cto.com/11468227/1769289