4、bash

shell:外壳

用户登录时将会打开shell。每个用户都是独立的进程,互不干扰,进程是程序的副本,进程是程序执行实例。
广义上shell有两类:GUI[gnome、kde、xface] CLI[sh、bash、ksh、csh]

bash

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

命令行编辑光标跳转:

ctrl+A[行首]         ctrl+E[行尾]        ctrl+U[删除光标之前到行首]
 ctrl+K[删除光标之后到行尾]                ctrl+L[清屏]
ctrl+左右箭头[一次跳一个单词]    

命令历史: history

 -c[:清空命令历史 ]
 -d[:删除指定位置的命令 ]
 -w:[保存命令历史到历史文件]
命令历史使用技巧:
!n:执行命令历史中的第N条命令
!-n:执行命令历史中的倒数第N条命令
!!:执行上一条命令
!string:执行命令历史中最近一个指定字符串开头的命令
!$或者esc+"."或者alt+". ":引用前一个命令的参数

命令别名 alias

alias   [自定义别名 ]= [bash命令 +选项 +  参数 ]
alias 不加参数直接显示系统所有别名命令
只在shell的进程生命周期中有效。ualias:撤销别名。
通过修改bash配置文件可以使得别名永久有效。

命令补全

tab:自动搜索环境变量补全命令;两次tab显示全部有可能出现的情况

路径补全

tab: 从给定的目录路径下补全;两次tab显示全部有可能出现的情况

命令替换 $()或反引号

把命令中某个子命令替换为其执行结果的过程。
    ``:反引号
     双引号:弱引用,可以实现变量替换
     单引号:强引用,不完成变量替换。
    使用命令替换创建以时间作为文件名:touch  ./$(date+%F+%H+%M+%S).txt

文件名通配:globbing

*  :匹配任意长度的任意字符
?:匹配任意单个字符
[]  :指定范围类任意单个字符
[^]:匹配指定范围之外的任意单个字符
内置常用特殊字符表示法
[:space:]:空白字符
[:pinct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母

你可能感兴趣的:(4、bash)