一、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中的内容如下:

其演示如下: