1、总结cp、mv命令的用法(要求列出源及目标各种情况的表格)
2、总结IO重定向的类别和区别。
3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组distro,其GID为2019;
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
(5)、删除mandriva,但保留其家目录;
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
(7)、修改slackware的默认shell为/bin/tcsh;
(8)、为用户slackware新增附加组admins,并设置不可登陆。创建用户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权限
cp:复制文件或目录
命令参数:
-a --(archive)此参数的效果和同时指定"-dpR"参数相同
-b --(backup)删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录
-f --(force)强行复制文件或目录, 不论目的文件或目录是否已经存在 -i --(interactive)覆盖文件之前先询问用户
-l --(link)对源文件建立硬链接,而非复制文件
-p --(preserve)保留源文件或目录的属性,包括所有者、所属组、权限与时间
-P --(parents)保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在
-r -- 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 -R --(recursive)递归处理,将指定目录下的文件及子目录一并处理
-s --(symbolic-link)对源文件建立符号链接,而非复制文件
-S --(suffix)备份字尾字符串,用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"
-u --(update)使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
-v --(verbose)显示执行过程
-V -- <备份方式>指定当备份文件时,备份文件名的命名方式,有以下3种: 1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增 2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定 3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份
-x -- 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件
- help **重点内容**-- 显示在线帮助
- sparse -- 设置保存希疏文件的时机
- version -- 显示版本
源文件和目标文件的各种情况:
mv:移动文件或者将文件改名
语法格式:
mv (选项) 源 目标
mv (选项) 源(可以为多个)... 目录(多个源时,目录必须是文件夹)
mv (选项) -t 目录 源...
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t :指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
IO重定向的类别:
1):标准输入的重定向:描述符代码0
2):标准输出的重定向:描述符代码1
3):标准错误的重定向:描述符代码2
区别:
1):标准输入的重定向
0< 或 < 把标准输入重定向到文件
2):标准输出的重定向
1> 或 > 把标准输出重定向到文件
&> 把所有输出重定向到文件
>> 追加标准输出重定向到文件
3):标准错误的重定向
2> 把标准错误重定向到文件
2>> 追加标准错误重定向到文件
[root@centos7 ~]# cat /etc/issue
S
Kernel
on an m
[root@centos7 ~]# cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out
[root@centos7 ~]# cat /tmp/issue.out
S
KERNEL R ON AN M
用户管理命令
1):useradd 用户创建
选项:
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS 7以后: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
2):usermod 用户属性修改
选项:
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m
-l login_name: 新的名字
-L lock指定用户,在/etc/shadow 密码栏的增加 !
-U unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限,即宽限期
3):userdel 删除用户
选项:
-f, --force 强制
-r, --remove 删除用户家目录和邮箱
组管理命令:
4):groupadd 创建组
选项:
-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000
5):groupmod 修改组
选项:
-n group_name: 新名字
-g GID: 新的GID
6):groupdel 删除组
选项:
-f, --force 强制删除,即使是用户的主组也强制删除组
[root@centos7 ~]# groupadd -g 2019 distro
[root@centos7 ~]# cat etc/group
cat: etc/group: No such file or directory
[root@centos7 ~]# cat /etc/group
root:x:0:
......
yyf:x:1000:yyf
distro:x:2019:
[root@centos7 ~]# useradd -u 1005 mandrive -g distro
[root@centos7 ~]# id mandrive
uid=1005(mandrive) gid=2019(distro) groups=2019(distro)
[root@centos7 ~]# useradd -u 1100 mageia -d /home/linux
[root@centos7 ~]# id mageia
uid=1100(mageia) gid=1100(mageia) groups=1100(mageia)
[root@centos7 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
......
yyf:x:1000:1000:yyf:/home/yyf:/bin/bash
mandrive:x:1005:2019::/home/mandrive:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
[root@centos7 ~]# psswd mageia
bash: psswd: command not found...
[root@centos7 ~]# passwd mageia
Changing password for user mageia.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@centos7 ~]# usermod -e 2021/6/24 mageia
[root@centos7 ~]# cat /etc/shadow
root:$6$0Zp3zc7K/odJE0s2$RNsrgwey6ndkP2R6LgWuxnjufhYJPHo1IC21ZgZ.Q5.OeusMQrUKRdM0dnJ4fUc2YLRSDmoAfQABw087IPPEF0::0:99999:7:::
......
mageia:$6$7WZAjiJA$6Mz.6vfl8/NGGUdHQ1JXc0KzwDZtBwb/.DEhb9uWtRE6K6esDy5RQ/mjttbavcrwswx6.40xhkkOZZulurKvn.:18795:0:99999:7::18802:
[root@centos7 ~]# userdel mandrive
[root@centos7 ~]# ls -a /home/mandrive
. .bash_logout .bashrc
.. .bash_profile .mozilla
[root@centos7 ~]# groupadd peguin
[root@centos7 ~]# useradd slackware -u 2002 -g distro -G peguin
[root@centos7 ~]# id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)
[root@centos7 ~]# usermod -s /bin/tcsh slackware
[root@centos7 ~]# cat /etc/passwd
(内容省略...)
mageia:x:1100:1100::/home/liunx:/bin/bash
slackware:x:2002:2019::/home/slackware:/bin/tcsh
[root@centos7 ~]# groupadd admins
[root@centos7 ~]# usermod -G admins -L slackware
[root@centos7 ~]# cat /etc/shadow
(内容省略...)
mageia:$6$2RkTRTij$kFAxY05EEihriYq4MZbIS3A3zcAn7xUsQaLTF051DpFin3QNcbek2w3j1kXStKI23KNcQ.pCa3Wo.A6n/L10
b.:18744:0:99999:7::18752:slackware:!!:18744:0:99999:7:::
[root@centos7 ~]# useradd user1
[root@centos7 ~]# useradd user2
[root@centos7 ~]# useradd user3
[root@centos7 ~]# cd /data/
[root@centos7 data]# mkdir test
[root@centos7 data]# ls
test
[root@centos7 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr 28 21:25 test
[root@centos7 data]# chown user1.user1 test
[root@centos7 data]# ll
total 0
drwxr-xr-x. 2 user1 user1 6 Apr 28 21:25 test
[root@centos7 data]# ll
total 0
drwxr-xr-x. 2 user1 user1 6 Apr 28 21:25 test
[root@centos7 data]# setfacl -Rm g:user2:rw test/
[root@centos7 data]# ll
total 0
drwxrwx---+ 2 user1 user1 58 Apr 28 22:03 test
[root@centos7 data]# getfacl test/
# file: test/
# owner: user1
# group: user1
user::rwx
group::r-x
group:user2:rw-
mask::rwx
other::---