您的位置:首页 > 运维架构 > Linux

2016-1-31 linux基础学习5

2016-01-31 21:29 591 查看
bash及其特性:
shell:外壳
GUI:Gnome,KDE,Xfce
GLI:sh,csh,ksh,bash,tcsh,zsh

root,student
程序:进程
进程:在每个进程看来,当前主机上只存在内核和当前进程
进程是程序的副本,进程是程序执行示例
用户工作环境:bash
#:管理员
$:用户

shell, 子shell(shell不知道其他shell的存在)
pstree:查看当前登录了几个shell
exit退出当前shell

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

命令行编辑
命令光标跳转
ctrl+a:跳到命令行首
ctrl+e:跳到命令行尾
ctrl+u:删除光标至命令行首的内容
ctrl+k:删除光标至命令行尾的内容
ctrl+左右箭头,跳到上一个单词
ctrl+l:清屏
命令历史
history:查看命令历史
-c:清空命令历史
-d count:删除第n行命令
-d count1 count2:删除自第n1行至(n1+n2)行命令
-w:保存命令历史至历史文件中(ls -a 中会显示的隐藏文件.bash_history)

环境变量
PATH:命令搜索路径
HISTSIZE:命令历史缓冲区大小

命令历史使用技巧:
!n:执行命令历史中的第n条命令
!-n:执行命令历史中的倒数第n条命令
!!:执行上一条命令
!string:执行命令历史中最近一个以指定字符串开头的命令
!$:引用上一个命令的最后一个参数
Esc后放开按".":引用上一个命令的最后一个参数
Alt+".":引用上一个命令的最后一个参数

***命令补全:(路径补全)搜索PATH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件,如果多于一个,两次Tab,可以给出列表;否则将直接补全

路径补全:按两次Tab键,搜索我们给出的起始路径下的每个文件名,并试图补全

命令别名
alias A='COMMAND [OPTION] [arguments]'
在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围仅为当前shell进程
使用别名自身的意义:\COMMAND




命令替换:$(COMMAND),反引号:‘COMMAND‘
把命令中的某个子命令替换为其执行结果的过程

***bash支持的引号:

反引号' ' :命令替换
双引号“ ”:弱引用,可以实现变量替换
单引号' ' :强引用,不完成变量替换









文件名通配,globbing
*:任意长度的字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc] [a-m] [a-z] [A-Z] [a-zA-Z] [0-9a-zA-Z]
[[:space:]]:空白字符
[[:punct:]]:标点符号
[[:lower:]]:小写字母
[[:upper:]]:大写字母
[[:alpha:]]:大小写字母
[[:digit:]]:数字
[[:alnum:]]:数字和大小写字母

[^]:匹配指定范围外的任意单个字符











练习:
1、创建a123, cd6, c78m, c1, my, m.z, k 67, 8yu, 789等文件
以上文件是以逗号隔开,其他符号都是文件名的组成部分
2、显示所有以a开头或m开头的文件
3、显示所有文件名中包含了数字的文件
?4、显示所有数字结尾且文件名中不包含空白的文件
5、显示文件名中包含了非字母或数字的特殊符号的文件


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  命令 bash 历史命令