1、总结cp、move命令的用法(要求列出源及目标各种情况的表格)
源\目标 | 不存在 | 存在且为目录 | 存在且为文件 |
---|---|---|---|
文件 | 在目标位置创建一个同名的文件 | 将源文件复制到这里 | 覆盖该文件 |
目录 | 在该位置创建一个目录,且同名 | 将源目录作为子目录复制到这里 | 报错 |
一次多个文件 | 报错 | 将文件复制到该目录 | 报错 |
2、总结IO重定向的类别和区别。
> 标准覆盖重定向
>> 标准追加重定向
2> 错误覆盖重定向
2>> 错误追加重定向
&> 错误和正确的都覆盖重定向
&>> 错误和正确的都追加重定向
COMMAND >FILENAME 2>&1 错误和正确的都覆盖到FILENAME里面
COMMAND >>FILENAME 2>&1 错误和正确的都追加到FILENAME里面
COMMAND >F1 2>F2 一个命令输出的结果如果正确就覆盖在F1中,如果错误就覆盖到F2中
COMMAND >>F1 2>>F2 一个命令输出的结果如果正确就追加在F1中,如果错误就追加到F2中
COMMAND <F1 命令将F1的内容作为标准输入给COMMAND
COMMAND <<标识符 命令把标准输入中读入内容,直到遇到标识符为止
COMMAND <F1 >F2 命令F1的内容作为标准输入,F2的内容作为标准输出
set -C 若原文件有内容,则将设置成为不准许覆盖输出若非要在设置了-C的同时还有覆盖输出,则需要 >| 即可。
set +C 取消
3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
[root05:03 PMcentos7 /scripts]#tr 'a-z' 'A-Z' < /etc/issue |tee /tmp/issus.out
\S
KERNEL \R ON AN \M
4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组distro,其GID为2019;
[root05:12 PMcentos7 /scripts]#groupadd -g 2019 distro
[root05:13 PMcentos7 /scripts]#getent group distro
distro:x:2019:
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
[root05:15 PMcentos7 /scripts]#useradd -u 1005 -g distro mandriva
[root05:16 PMcentos7 /scripts]#id mandriva
uid=1005(mandriva) gid=2019(distro) groups=2019(distro)
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
[root05:18 PMcentos7 /scripts]#useradd -u 1100 -d /home/linux mageia
[root05:18 PMcentos7 /scripts]#getent passwd mageia
mageia:x:1100:1100::/home/linux:/bin/bash
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
[root05:54 PMcentos7 /scripts]#echo mageedu |passwd -x 7 --stdin mageia
Adjusting aging data for user mageia.
passwd: Success
[root05:56 PMcentos7 /scripts]#chage -l mageia
Last password change : Jun 07, 2021
Password expires : Jun 14, 2021
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 7
Number of days of warning before password expires : 7
[root05:56 PMcentos7 /scripts]#getent shadow mageia
mageia:!!:18785:0:7:7:::
(5)、删除mandriva,但保留其家目录;
[root05:19 PMcentos7 /scripts]#userdel mandriva
[root05:20 PMcentos7 /scripts]#ll /home/linux/
total 0
[root05:20 PMcentos7 /scripts]#ll /home/linux -a
total 20
drwx------. 2 mageia mageia 4096 Jun 7 17:18 .
drwxr-xr-x. 10 root root 4096 Jun 7 17:18 ..
-rw-r--r--. 1 mageia mageia 18 Apr 1 2020 .bash_logout
-rw-r--r--. 1 mageia mageia 193 Apr 1 2020 .bash_profile
-rw-r--r--. 1 mageia mageia 231 Apr 1 2020 .bashrc
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
[root05:23 PMcentos7 /scripts]#useradd -u 2002 -g distro -G peguin slackware
[root05:23 PMcentos7 /scripts]#id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)
(7)、修改slackware的默认shell为/bin/tcsh;
[root05:24 PMcentos7 /scripts]#usermod -s /bin/tcsh slackware
(8)、为用户slackware新增附加组admins,并设置不可登陆。
[root05:27 PMcentos7 /scripts]#groupadd admins
[root05:27 PMcentos7 /scripts]#usermod -aG admins slackware
[root05:40 PMcentos7 /scripts]# chsh slackware -s /sbin/nologin
[root05:44 PMcentos7 /scripts]#sed -r '/slackware/!d' /etc/passwd
slackware:x:2002:2019::/home/slackware:/sbin/nologin
创建用户user1、user2、user3。在/data/下创建目录test
(1)、设置目录/data/test属主、属组为user1
(2)、在目录属主、属组不变的情况下,user2对test及其子目录有读写权限
(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件。
(4)、清理/data/test目录及其下所有文件的acl权限
[root05:28 PMcentos7 /scripts]#echo user{1..3} |xargs -n1 useradd
[root05:33 PMcentos7 /scripts]#mkdir /data/test -p
[root05:35 PMcentos7 /scripts]#chown user1.user1 /data/test/
==============================================================================
[root05:36 PMcentos7 /scripts]#setfacl -m u:user2:wr /data/test/
============================================================================
[root06:12 PMcentos7 /data/test]#su - user1 -c "touch /data/test/a{1..4}.sh"
[root06:13 PMcentos7 /data/test]#ll
total 0
-rw-rw-r--. 1 user1 user1 0 Jun 7 18:13 a1.sh
-rw-rw-r--. 1 user1 user1 0 Jun 7 18:13 a2.sh
-rw-rw-r--. 1 user1 user1 0 Jun 7 18:13 a3.sh
-rw-rw-r--. 1 user1 user1 0 Jun 7 18:13 a4.sh
[root06:13 PMcentos7 /data/test]#chattr +i a{1..2}.sh
[root06:14 PMcentos7 /data/test]#lsattr a1.sh a2.sh
----i--------e-- a1.sh
----i--------e-- a2.sh
[root06:14 PMcentos7 /data/test]#rm -rf a1.sh
rm: cannot remove ‘a1.sh’: Operation not permitted
[root06:15 PMcentos7 /data/test]#rm -rf a2.sh
rm: cannot remove ‘a2.sh’: Operation not permitted
====================================================================================
[root06:15 PMcentos7 /data/test]#setfacl -b /data/test
[root06:19 PMcentos7 /data/test]#getfacl /data/test/
getfacl: Removing leading '/' from absolute path names
# file: data/test/
# owner: user1
# group: user1
user::rwx
group::r-x
other::r-x