linux学习笔记(三)

正则表达式

 ^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:]*
非字母开头文件.png

复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

cp -r /etc/[p]*[^0-9] /tmp/mytest1/

复制p开头非数字结尾的文件.png

将/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

转换大小写.png

请总结描述用户和组管理类命令的使用方法并完成以下练习:

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
    groupadd_distro.png
  • 创建用户mandriva, 其ID号为1005;基本组为distro;useradd -u 1005 -g distro mandriva
    mandriva.png
  • 创建用户mageia,其ID号为1100,家目录为/home/linux; useradd -u 1100 -d /home/linux mageia
    mageia.png
  • 给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
passwd mageia
passwd -x 7 mageia
chage -l mageia
passwd.png
  • 删除mandriva,但保留其家目录;userdel mandriva
  • 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    useradd -u 2002 -g distro -G peguin slackware
    useradd_slackware.png
  • 修改slackware的默认shell为/bin/tcsh;
    usermod -s /bin/tcsh slackware
    usermod.png
  • 为用户slackware新增附加组admins;
    usermod -G peguin,admins slackware
    添加用组.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@local...
    家有猪宝_阅读 3,942评论 1 0
  • 1、文件链接命令:ln 命令名称:ln 命令英文原意:link 命令所在路径:/bin/ln 执行权限:所有用户 ...
    海阔天空yqh阅读 2,920评论 0 0
  • 习题练习 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。w命令用于显示...
    Arteezy_Xie阅读 4,404评论 0 0
  • 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@serve...
    charleslv阅读 3,613评论 0 0
  • 战略是大的,宏观的。战术是小的,具体的。战略正确,加上勤奋,就会整体的成功。战术正确,加上勤奋,只是局部的成功,有...
    乌龟的慢生活阅读 1,810评论 0 0

友情链接更多精彩内容