一、文件通配符介绍
*匹配零个或多个字符
? ##表示任意的单个字符
~- ##表示前一个工作目录
[0-9] ##中表示0-9的字符,只取一个
[^0-9] ## ^匹配列表中的所有数字以外的数字
{a..z}或{A..Z} ##表示所有小写或所有大写的字符
预定义的字符类:通过man 7 glob可查看
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
案例1:显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
实现命令:ls /etc/[^[:alpha:]][:alpha:]*
执行结果:/etc/1a_ /etc/1aa_
案例2:复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中
实现命令:mkdir /tmp/mytest1;cp -r /etc/p*[^[:digit:]] /tmp/mytest1
验证结果:ls -l /tmp/mytest1/
total 28
drwxr-xr-x. 2 root root 6 Apr 11 21:22 p123a
-rw-r--r--. 1 root root 0 Apr 11 21:22 p12a
drwxr-xr-x. 2 root root 4096 Apr 11 21:22 pam.d
-rw-r--r--. 1 root root 1030 Apr 11 21:22 passwd
-rw-r--r--. 1 root root 985 Apr 11 21:22 passwd-
drwxr-xr-x. 10 root root 116 Apr 11 21:22 pki
drwxr-xr-x. 2 root root 28 Apr 11 21:22 plymouth
drwxr-xr-x. 5 root root 52 Apr 11 21:22 pm
drwxr-xr-x. 2 root root 6 Apr 11 21:22 popt.d
drwxr-xr-x. 2 root root 154 Apr 11 21:22 postfix
drwxr-xr-x. 3 root root 123 Apr 11 21:22 ppp
drwxr-xr-x. 2 root root 78 Apr 11 21:22 prelink.conf.d
-rw-r--r--. 1 root root 233 Apr 11 21:22 printcap
-rw-r--r--. 1 root root 1819 Apr 11 21:22 profile
drwxr-xr-x. 2 root root 251 Apr 11 21:22 profile.d
-rw-r--r--. 1 root root 6545 Apr 11 21:22 protocols
drwxr-xr-x. 2 root root 35 Apr 11 21:22 python
案例3:将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
实现命令:cat /etc/issue|tr '[:lower:]' [:upper:] >> /tmp/issue.out
验证结果:cat /tmp/issue.out
\S
KERNEL \R ON AN \M
二、用户管理
系统用户:UID 1-499(CentOS 7)
对守护进程获取资源进行权限分配
登录用户:UID 500+,1000+(CentOS 7)
交互式登录
系统组:GID 1-499,1-999(CentOS 7)
对守护进程获取资源进行权限分配
普通组:GID 500+,1000+(CentOS 7)
交互式登录
Linux中组和用户可以同名
常用命令:
1.groupadd
命令所在路径:/bin/sbin
执行权限:超级管理员
功能描述:添加用户组
语法:groupadd [-u] groupname
选项:
-g 指定GID
范例1:
创建组peguin
命令:groupadd peguin
范例2:
创建组distro,其GID为2019;
命令:groupadd -g 2019 distro
2.useradd
命令所在路径:/bin/sbin
执行权限:超级管理员
功能描述:添加用户
语法:useradd [-dmu] username
选项:
-u 指定UID
-m 强制创建家目录,用于系统用户
-d 指定额外的家目录,默认自动创建
-g 指定用户的默认组
-G 指定用户的附属组
范例1:
创建用户mageia,其ID号为1100,家目录为/home/linux
命令:useradd -u 1100 -d /home/linux mageia
验证结果:getent passwd mageia
mageia:x:1100:1100::/home/linux:/bin/bash
范例2:
给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
命令:echo mageedu |passwd --stdin mageia;chage -M 7 mageia
验证结果:chage -l mageia
最近一次密码修改时间 :4月 11, 2020
密码过期时间 :4月 18, 2020
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :7
在密码过期之前警告的天数 :7
范例3:
创建用户slackware,其ID号为2002,基本组为distro,附加组peguin
命令:useradd -u 2002 -g distro -G peguin slackware
验证结果:groups slackware
slackware : distro peguin
范例4:
创建用户mandriva,其ID号为1005;基本组为distro;
命令:useradd -u 1005 -g distro mandriva
验证结果:groups mandriva
mandriva : distro
3.userdel
命令所在路径:/bin/sbin
执行权限:超级管理员
功能描述:删除用户
语法:userdel [-rf] username
选项:
-r 删除指定用户家目录及邮件目录
-f 强制删除指定用户
范例1:
删除mandriva用户,但保留其家目录
命令:userdel mandriva
验证结果:ll /home
总用量 0
drwx------. 2 gentoo gentoo 62 4月 7 21:43 gentoo
drwx------. 2 mageia mageia 62 4月 11 21:42 linux
drwx------. 2 1005 distro 62 4月 11 21:53 mandriva
drwx------. 2 mysql mysql 62 4月 7 21:44 mysql
drwx------. 2 nginx nginx 62 4月 7 21:44 nginx
drwx------. 2 slackware distro 62 4月 11 21:50 slackware
drwx------. 2 varnish varnish 62 4月 7 21:44 varnish
drwx------. 2 zxh zxh 83 4月 6 13:01 zxh
id mandriva
id: mandriva: no such user
4.usermod
命令所在路径:/bin/sbin
执行权限:超级管理员
功能描述:修改用户的属性
语法:usermod [-aG] [-LU] 参数 or 参数1 and 参数2
选项:
-a 追加,配合-G
-L 锁定用户,在/etc/shadow文件密码栏增加!
-U 解锁用户,在/etc/shadow文件密码栏减少!
-e 设定用户的有效期
-f 设定账号到期的宽限时间
-s 设定用户帐号登录 shell
范例1:
修改slackware用户的默认shell为/bin/tcsh
命令:usermod -s /bin/tcsh slackware
验证结果:getent passwd slackware
slackware:x:2002:2019::/home/slackware:/bin/tcsh
范例2:
为用户slackware新增附加组admins
命令:groupadd admins;usermod -aG admins slackware
验证结果:groups slackware
slackware : distro peguin admins