ma系列之-4-bash基本特点

 

1 bash特点:

bash支持: 
1、命令历史、命令补全
2、管道、重定向
3、命令别名
4、命令行编辑
5、命令行展开
6、文件名通配
7、变量
8、编程

 

 

2 bash的一些快捷键:

bash在命令行编辑时的一些快捷键:
光标跳转:
	Ctrl+a:跳到命令行首
	Ctrl+e:跳到命令行尾
	Ctrl+u: 删除光标至命令行首的内容
	Ctrl+k: 删除光标至命令行尾的内容
	Ctrl+l: 清屏
	linux命令详细说明3(操作文本命令) 

 

 

 

3 bash支持的引号:

bash支持的引号:
``: 命令替换
"": 弱引用,可以实现变量替换
'': 强引用,不完成变量替换

 

 

4 命令别名:

如果命令本身 中间有空格的话  最好用''给括起来。

命令别名, 提高使用效率
在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;
[root@sliver114 ~]# help alias
alias: alias [-p] [name[=value] ... ]
增加别名:
[root@sliver114 ~]# alias cls='clear'
撤销别名:
unalias CMDALIAS自定义命令别名名称
[root@sliver114 ~]# unalias cls
适用范围: 仅仅在当前进程环境下有效,退出后失效

 

查看所有命令别名:

[root@chinadaas109 ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

 

 
5 命令替换:
命令替换: $(COMMAND), 或者使用 反引号:`COMMAND` 
定义:把命令中某个子命令替换为其执行结果的过程就是命令替换
eg:
[root@sliver114 ~]# touch file-$(date +%F-%H-%M-%S).txt
[root@sliver114 ~]# ls
a                file-2014-08-28-00-30-52.txt  install.log 
 
6 文件名通配符(类比于正则表达式):
文件名通配, globbing   类比于正则表达式
*: 任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
	[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]  表示从左侧[]范围匹配任意一个
	如下是表示特殊字符的写法: 如果使用的时候 可以用 [0-9[:space:]]方式来使用,表示范围为 0-9和空白字符中的任意一个字符
	[:space:]:空白字符
	[:punct:]:所有的标点符号
	[:lower:]:所有的小写字母
	[:upper:]: 所有的大写字母
	[:alpha:]: 所有的大小写字母
	[:digit:]: 所有的数字
	[:alnum:]: 所有的数字和大小写字母
	
# man 7 glob
[^]: 匹配指定范围之外的任意单个字符

[[:alpha:]]*[[:space:]]*[^[:alpha:]]  : 表示字母开头,中间有空格符,字母结尾的
[root@sliver114 ~]# touch {a123,abc,ab123,xyz,x12,xyz123}
[root@sliver114 ~]# ls a*
a123  ab123  abc  anaconda-ks.cfg
[root@sliver114 ~]# ls a*3
a123  ab123
[root@sliver114 ~]# touch hello123
[root@sliver114 ~]# touch helloy123
[root@sliver114 ~]# 
[root@sliver114 ~]# ls [a-zA-Z]*[0-9]
a123  ab123  hello123  helloy123  x12  xyz123
[root@sliver114 ~]# ls [^0-9]*
a123   anaconda-ks.cfg  helloy123  
[root@sliver114 ~]# ls [[:alpha:]]*[^[:alpha:]]
a123  ab123  hello123  helloy123  x12  xyz123


练习:
1、创建a123, cd6, c78m, c1 my, m.z, k 67, 8yu, 789等文件;注意,以上文件是以逗号隔开的,其它符号都是文件名的组成部分;
2、显示所有以a或m开头的文件;
ls [am]*
3、显示所有文件名中包含了数字的文件;
ls *[0-9]* 
ls *[[:digit:]]*
4、显示所有以数字结尾且文件名中不包含空白的文件;
ls *[^[:space:]]*[0-9]   ?????????
5、显示文件名中包含了非字母或数字的特殊符号的文件;
ls *[^[:alnum:]]*
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值