一、Shell:命令行编辑的功能(快捷键技巧)
Ctrl+a光标移到行首
按ctrl+a后其结果如下:
Ctrl+e光标移到行尾
Ctrl+u删除光标处到行首的内容
Ctrl+k删除光标处到行尾的内容
Ctrl+arrow(左右箭头)
二、globbing:文件名通配
通配符有:
*:任意长度的任意字符
如:a*b:表示以a开头并以b结尾中间含有N个字符的求解,aab,abc,ab
?:任意单个字符
a?b,表示以a开头并以b结尾中间有且仅含有一个任意字符的求解,aab,ayb,abc,ab
[]:指定范围内的任意字符:[abc],[0-9],[a-z],[A-Z]
[:lower:]所有小写字母
[:upper:]所有大写字母
[:digit:]所有数字
如:a[a-z]b,aab,ayb,abc,ab
求解/etc文件目录下所有以pass开头并以数字或字母结尾的字符
求解所有以字母开头并以数字结尾的字符:
ls [a-zA-Z]*[0-9]
如在:ab、ab~、ab4、4ab、a4b、ayb、abc、x4y、xy3、3xy、aab中求解上述的值:
[^a-z]表示除了a到z的其他字符,既表示取反:
[[:alpha:]]代表所有以字符开头的字符
[[:punt:]]代表标点符号的集合
三、命令行展开的功能
1、~
cd ~rehat
2、{}
用一个命令实现它:
mkdir -p {x/{y/a1,z/b1},m/n}
实现上述功能mkdir -v{x,m}_{y,z}
3、$()或``(`波浪形的那反引号):命令引用
从上面的代码可以看出:
(1)echo是输出命令
(2)date获取系统日期及时将
(3)date +%T获取系统时间
(4)$()与``的作用是等同的,可以替换
四、如何避免字符展开:
a*b
如何创建a*b的文件
touch a*b是修改a*b的解的时间属性
要创建a*b的文件命令用:touch "a*b"即可
五、转义字符:\
避免一个字符表示通配的意义
六、如何使用命令别名
ll=ls -l
它是由alias定义的,alias是定义别名的命令
定义别名:alias cls=clear其意义是将clear定义别名cls,此定义只对当前用户有效,而且重启机器后就失效
撤销别名:
使用原来的意义而非别名的意义可以采用\字符
七、脚本语言
bat,批处理
shell
bash
创建user1,user2,user3用户
.sh代表脚本,自然Linux并不以后缀名来识别文件
其中myuseradd.sh中的内容如下:
其演示如下: