正则表达式
^word:待查找的字符串(word)在行首。
word$:带查找的字符串(word)在行尾。
. :一定代表一个任意字符
*:代表0~n个与前一个字符重复的字符
[list]:表示从集合集的RE字符中找到想要选取的字符
[n1-n2]:从集合集的RE字符中找到想要选取的字符范围,但是要明确语系的,不然范围的选择会出现问题
[^list]:表示从集合的RE字符中找到不要的字符串和范围。
\{start,end\}:start或者end可以省略一个,若接该内容的最后一个字符为o,则表示限定o字符出现的次数为start与end之间。
在list的选择中会由于编码语系的影响而造成一定的问题,因为有的编码是a,b,c...z但是有的却是a,A,b,B,c,C....z,Z,因此为了避免编码问题带来的集合的错选,有一些特殊的符号可以使用
[:alnum:]:0-9,A-Z,a-z
[:alpha:]:A-Z,a-z
[:blank:]:空格和键值
[:cntr:]:代表键盘上的控制按键,包括del、contrl等
[:digit:]:代表数字
[:graph:]:除了空格与tab键意外的其他所有按键
[:lower:]:a-z
[:punct:]:代表标点符号
[:upper:]:大写的A-Z
[:xdigit:]:代表16进制的数字类型,包括0-9,a-z,A-Z
[:print:]:任何可以被打印出来的字符
显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
ps:先创建一个数字开头的文件为了演示
touch /etc/123.txt
touch /etc/1abc.txt
ls -l /etc/[^[:alpha:]][:alpha:]*
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r /etc/[p]*[^0-9] /tmp/mytest1/
将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
tr 命令:
用于转换或删除文件中的字符。
tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
tr [-cdst][--help][--version][第一字符集][第二字符集]
tr [OPTION]…SET1[SET2]
-c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
-d, --delete:删除指令字符
-s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
-t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
--help:显示程序用法信息
--version:显示程序本身的版本信息
cat /etc/issue|tr 'a-z' 'A-Z'>>/tmp/issue.out
请总结描述用户和组管理类命令的使用方法并完成以下练习:
useradd 创建用户
命令:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
userdel 删除用户
命令:userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
usermod 修改帐号
命令:usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
groupadd 创建用户组
命令:groupadd 选项 用户组
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
groupdel
命令:groupdel 用户组
groupmod
命令:groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n 新用户组 将用户组的名字改为新名字
- 创建组distro,其GID为2019;
groupadd -g 2019 distro
- 创建用户mandriva, 其ID号为1005;基本组为distro;
useradd -u 1005 -g distro mandriva
- 创建用户mageia,其ID号为1100,家目录为/home/linux;
useradd -u 1100 -d /home/linux mageia
- 给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
passwd mageia
passwd -x 7 mageia
chage -l mageia
- 删除mandriva,但保留其家目录;
userdel mandriva
- 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
useradd -u 2002 -g distro -G peguin slackware
- 修改slackware的默认shell为/bin/tcsh;
usermod -s /bin/tcsh slackware
- 为用户slackware新增附加组admins;
usermod -G peguin,admins slackware