1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
[14:58:16 root@VM-8-16-centos etc][#touch `date +%F`.txt
[14:59:22 root@VM-8-16-centos etc][#ll |grep *.txt
-rw-r--r-- 1 root root 0 Mar 8 14:59 2022-03-08.txt
[15:00:14 root@VM-8-16-centos etc][#ll [^[:alpha:]]*
-rw-r--r-- 1 root root 0 Mar 8 14:59 2022-03-08.txt
[15:01:18 root@VM-8-16-centos etc][#
2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
格式:cp -a 源文件 目标文件
源文件:/etc目录下所有以p开头,以非数字结尾的文件或目录(即:[p]*[^0-9])
目标文件:/tmp/mytest1。(跑到/tmp目录下建立其字母录mytest1)
([21:02:59 root@VM-8-16-centos tmp][#mkdir ./mytest1)
所有步骤如下:
[21:05:09 root@VM-8-16-centos etc][#ll (/etc 目录下的全部,但未列出全部)
......
drwxr-xr-x. 6 root root 4096 Nov 3 2020 X11
-rw-r--r--. 1 root root 642 Dec 10 2016 xattr.conf
drwxr-xr-x. 4 root root 4096 Nov 3 2020 xdg
drwxr-xr-x. 2 root root 4096 Nov 3 2020 xinetd.d
drwxr-xr-x. 2 root root 4096 Jun 18 2021 yum
lrwxrwxrwx 1 root root 12 Mar 12 2021 yum.conf -> dnf/dnf.conf
drwxr-xr-x. 2 root root 4096 Mar 6 10:26 yum.repos.d
[21:02:59 root@VM-8-16-centos tmp][#mkdir ./mytest1 (进入/tmp目录下并建立mytest1文件)
[21:03:11 root@VM-8-16-centos tmp][#ll (tmp 目录下的全部,但未全部列出)
total 28
-rw-r--r-- 1 root root 53 Mar 8 22:35 cpuidle_support.log
drwxr-xr-x 2 root root 4096 Mar 10 21:03 mytest1
[21:03:18 root@VM-8-16-centos etc][#cp -a [p]*[^0-9] /tmp/mytest1
[21:04:13 root@VM-8-16-centos etc][#cd /tmp/mytest1
[21:04:24 root@VM-8-16-centos mytest1][#ll
total 64
drwxr-xr-x. 2 root root 4096 Dec 24 11:01 pam.d
-rw-r--r-- 1 root root 68 May 14 2019 papersize
-rw-r--r-- 1 root root 1820 Mar 9 20:17 passwd
-rw-r--r--. 1 root root 1781 Jan 26 11:05 passwd-
drwxr-xr-x. 8 root root 4096 Dec 11 21:22 pki
drwxr-xr-x. 2 root root 4096 Feb 2 2021 plymouth
drwxr-xr-x. 5 root root 4096 Nov 3 2020 pm
drwxr-xr-x. 2 root root 4096 Jan 19 2021 popt.d
drwxr-xr-x 4 root root 4096 Dec 24 11:01 postfix
drwxr-xr-x. 2 root root 4096 Jun 18 2021 prelink.conf.d
-rw-r--r--. 1 root root 233 Sep 10 2018 printcap
-rw-r--r-- 1 root root 2064 Dec 10 2019 profile
drwxr-xr-x. 2 root root 4096 Mar 5 22:42 profile.d
-rw-r--r-- 1 root root 2123 Apr 7 2020 profile.rpmnew
-rw-r--r--. 1 root root 6568 Sep 10 2018 protocols
3.将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
为防止源文件损坏先备份一个:cp -a /etc/issue /etc/issue.bak
在Vim当中操作(有大小写转换功能):
[21:35:35 root@VM-8-16-centos etc][#vim ./issue
\S
Kernel \r on an \m
在一般模式下,先按gg或者1G到首行 ,然后在输入gU(从第一行开始所有的小写变成大写),最后在输入G(从第一行开始所有的小写到文本的最后一行,全部变成大写),即文本中的小写全部变成大写,最后在按:wq保存退出。
[21:42:08 root@VM-8-16-centos etc][#cp -a ./issue /tmp/issue.out
[21:51:39 root@VM-8-16-centos tmp][#cat ./issue.out
\S
KERNEL \R ON AN \M
4.请总结描述用户和组管理类命令的使用方法并完成以下练习:
一、用户管理命令:useradd、usermod、userdel
二、组管理类命令:groupadd、groupmod、groupdel
一、用户管理类命令:useradd、usermod、userdel
1、useradd(新建用户):
参数如下(常用):
-u (设置新用户的uid)
-g (设置新用户的基本组(主组)gid)
-s (指定用户的shell类型)
-r (创建系统用户)
-d (设置指定的路径为家目录,使用绝对路径)
-G (设置用户的附加组,前提是该附加组必须存在)
-p (设置密码,改密码指的是加密后的密码)
2、usermod(修改用户的属性):
参数如下(常用):
-u、-g、-s、-G、-d(与useradd新建用户的用法一致)
-c (注释信息)
-L (Lock,锁定用户,通常是在/etc/shadow中的密码栏的前面加!)
-u (unlock,用户解锁,通常是在/etc/shadow中的密码栏的前面拿掉!)
-e (指定用户账号过期时间。)
-f (设置用户的宽限期限)
3、userdel(删除用户):
参数如下(常用):
-f(force) (强制删除)
-r(remove) (删除用户的家目录和邮箱)
二、用户组管理类命令 :groupadd、groupmod、groupdel
1、groupadd (创建组)
2、groupmod (修改组)
3、groupdel (删除组)
4、gpasswd (更改组密码)
5、newgrp (历史切换主组)
6、groupmems (更改和查看组成员)
练习如下:
(1)、创建组distro,其GID为2019;
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
(1)(2)答案如下:
groupadd -g 2019 distro
useradd -u 1005 -g 2019 mandriva
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
useradd -u 1100 -d /home/linux mageia
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
设置密码:echo 'mageedu' | passwd --stdin mageia
或者 echo mageia:mageedu | chpasswd
密码7天后过期(即密码最大使用期限):passwd -i 7 mageia
(5)、删除mandriva,但保留其家目录;
userdel mandriva
-r(连同家目录一起删除)
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
(7)、修改slackware的默认shell为/bin/tcsh;
(6)(7):useradd -i 2002 -g distro -G peguin -s /bin/tcsh slackware(创建时默认其shell类型)
修改其shell类型:usermod -s /bin/tcsh slackware
(8)、为用户slackware新增附加组admins,并设置不可登陆。
为用户slackware新增附加组admins:
usermod -G admin -s /sbin/nologin slackware
不可登录:shell类型为(/sbin/nologin)
5、创建用户user1、user2、user3。在/data/下创建目录test
[19:27:06 root@VM-8-16-centos data][#useradd user1
[19:27:21 root@VM-8-16-centos data][#useradd user2
[19:27:24 root@VM-8-16-centos data][#useradd user3
[19:28:09 root@VM-8-16-centos data][#tail -n 3 /etc/passwd
user1:x:1003:1003::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash
user3:x:1005:1005::/home/user3:/bin/bash
[19:27:44 root@VM-8-16-centos data][#mkdir test
[19:28:06 root@VM-8-16-centos data][#ll
drwxr-xr-x 2 root root 4096 Mar 13 19:28 test
(1)、目录/data/test属主、属组为user1
[19:32:26 root@VM-8-16-centos data][#chown user1:user1 /data/test
[19:35:22 root@VM-8-16-centos data][#ll | grep test
drwxr-xr-x 2 user1 user1 4096 Mar 13 19:28 test
(2)、在目录属主、属组不变的情况下,user2对文件有读写权限
改变文件的其他人的权限
chmod 756 /data/test
(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件、除了user1及root之外,所有用户都不可删除a3.sh, a4.sh
(4)、user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件
user3增加附加组user1:
usermod -a -G user1 user3
user1不能访问/data/test目录及其下所有文件:
setfacl -R -m u:user1:0 /data/test
(5)、清理/data/test目录及其下所有文件的acl权限
-b(取消所有acl参数)
setfacl -b /data/test