#################################################
复制时出现重名,强制覆盖
在本次复制,临时取消别名
[root@A ~]# cp -r /boot/ /opt/
[root@A ~]# cp -r /boot/ /opt/
[root@A ~]# \cp -r /boot/ /opt/
#################################################
命令输出重定向
:覆盖重定向
:追加重定向
[root@A ~]# ls --help
[root@A ~]# ls --help > /opt/ls.txt
[root@A ~]# ls /opt/
[root@A ~]# less /opt/ls.txt
[root@A ~]# hostname
[root@A ~]# hostname > /opt/ls.txt
[root@A ~]# cat /opt/ls.txt
[root@A ~]# hostname >> /opt/ls.txt
[root@A ~]# cat /opt/ls.txt
[root@A ~]# echo haha
[root@A ~]# cat /opt/ls.txt
[root@A ~]# echo 123456 >> /opt/ls.txt
[root@A ~]# cat /opt/ls.txt
[root@A ~]# echo hello > /opt/ls.txt
[root@A ~]# cat /opt/ls.txt
##################################################
| 管道操作: 将前面命令的输出,交由后面命令处理
显示文件内容/etc/passwd的8~12行
[root@A ~]# head -12 /etc/passwd | tail -5
[root@A ~]# head -12 /etc/passwd | tail -5 | cat -n
[root@A ~]# cat -n /etc/passwd | head -12 | tail -5
[root@A ~]# ifconfig | less
[root@A ~]# ifconfig | head -2
##################################################
管理用户和组
用户:登录操作系统,不同的用户具备不同的权限
组:方便管理用户
用户唯一标识: UID
组唯一标识: GID
管理员root的UID为0
组的分类: 基本组(私有组) 附加组(从属组)
原则:一个用户必须至少属于一个组
基本组(私有组) :由系统创建与用户同名的组
附加组(从属组):由管理员root创建的组
[root@A ~]# useradd nsd01
[root@A ~]# 组:nsd01
附加组(从属组): caiwu meinv haha jishu
###################################################
添加用户
用户基本信息存放在 /etc/passwd 文件
[root@A ~]# head -1 /etc/passwd
root❌0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序
• 使用 useradd 命令
– useradd [选项]… 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录解释器、-G 附加组
[root@A ~]# useradd nsd02 #创建nsd02用户
[root@A ~]# id nsd02 #查看nsd02用户基本信息
[root@A ~]# useradd nsd03
[root@A ~]# id nsd03
[root@A ~]# useradd -u 1500 nsd04 #指定用UID值创建
[root@A ~]# id nsd04
[root@A ~]# useradd -d /opt/abc nsd05 #指定用户家目录创建
[root@A ~]# ls /opt/
[root@A ~]# grep nsd05 /etc/passwd
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器程序
[root@A ~]# useradd -d /opt/nsd06 nsd06
[root@A ~]# ls /opt/
[root@A ~]# grep nsd06 /etc/passwd
###################################################
-s 登录解释器
/sbin/nologin:禁止登录操作系统
[root@A ~]# useradd -s /sbin/nologin nsd06
[root@A ~]# grep nsd06 /etc/passwd
-G 附加组
[root@A ~]# groupadd stugrp #创建stugrp组
[root@A ~]# useradd -G stugrp nsd07
[root@A ~]# id nsd07
[root@A ~]# useradd -G stugrp nsd08
[root@A ~]# id nsd08
##################################################
设置登录密码
用户密码信息存放在 /etc/shadow 文件
[root@A ~]# tail -1 /etc/shadow
nsd08:
6
6
6VjFxZ9GD$XaYwBkrcR0eVnFNZrO/om1bQKFYzlsXW.aHMCx.nOGguVde19zLyyl1jBekeU6r49UfFcvWy4sUDw8iG2OSv2.:18022:0:99999:7:::
用户名:密码加密字符串:上一次修改密码的时间
1970-1-1~2019-5-6 18022
[root@A ~]# useradd nsd10
[root@A ~]# tail -1 /etc/shadow
nsd10:!!:18022:0:99999:7:::
第二个字段为!!,代表用户为锁定状态
• 使用 passwd 命令
– passwd [用户名]
[root@A ~]# useradd nsd08
[root@A ~]# passwd nsd08 #交互方式设置密码
更改用户 nsd08 的密码 。
新的 密码: #输入新的密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #重新输入新的密码
passwd:所有的身份验证令牌已经成功更新。
[root@A ~]# su - nsd08 #命令行临时切换身份
[nsd08@A ~]$ passwd
更改用户 nsd08 的密码 。
为 nsd08 更改 STRESS 密码。
(当前)UNIX 密码: #输入旧密码
新的 密码: #输入新的密码
重新输入新的 密码: #重新输入新的密码
passwd:所有的身份验证令牌已经成功更新。
[nsd08@A ~]$ exit #退出回到root
非交互式设置密码
echo ‘密码’ | passwd --stdin 用户名
[root@A ~]# echo 123 | passwd --stdin nsd08
[root@A ~]# echo redhat | passwd --stdin nsd08
[root@A ~]# echo 654321 | passwd --stdin nsd08
#################################################
修改用户属性
• 使用 usermod 命令
– usermod [选项]… 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录解释器、-G 附加组
[root@A ~]# useradd nsd11
[root@A ~]# id nsd11
[root@A ~]# grep nsd11 /etc/passwd
[root@A ~]# usermod -u 1800 -d /opt/test -s /sbin/nologin -G stugrp nsd11
[root@A ~]# id nsd11
[root@A ~]# grep nsd11 /etc/passwd
[root@A ~]# useradd nsd13
[root@A ~]# grep nsd13 /etc/passwd
[root@A ~]# ls /home/
[root@A ~]# usermod -d /opt/n13 nsd13
[root@A ~]# grep nsd13 /etc/passwd
[root@A ~]# ls /opt/n13
ls: 无法访问/opt/n13: 没有那个文件或目录
################################################
检查用户ID信息
• 使用 id 命令
– id 用户名
##################################################
删除用户
• 使用 userdel 命令
– userdel [-r] 用户名
-r:连同用户家目录一并删除
[root@A ~]# ls /home/
[root@A ~]# userdel nsd01
[root@A ~]# ls /home/
[root@A ~]# id nsd01
id: nsd01: no such user
[root@A ~]# rm -rf /home/nsd01/
[root@A ~]# ls /home/
[root@A ~]# ls /home/
[root@A ~]# userdel -r nsd02
[root@A ~]# ls /home/
####################################################
管理组账号
添加组
组基本信息存放在 /etc/group 文件
[root@A ~]# grep linux /etc/group
linux❌1802:
组名:组的密码占位符:组的编号:组成员列表
• 使用 groupadd 命令
– groupadd [-g 组ID] 组名
[root@A ~]# groupadd linux
[root@A ~]# grep linux /etc/group
[root@A ~]# useradd natasha
[root@A ~]# useradd kaka
[root@A ~]# useradd jack
[root@A ~]# useradd xiha
管理组成员
组成员信息存放在 /etc/gshadow 文件
• 使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名
[root@A ~]# grep linux /etc/group
[root@A ~]# gpasswd -a natasha linux #将用户加入组
[root@A ~]# grep linux /etc/group
[root@A ~]# id natasha
[root@A ~]# gpasswd -a kaka linux
[root@A ~]# grep linux /etc/group
[root@A ~]# gpasswd -a jack linux
[root@A ~]# grep linux /etc/group
[root@A ~]# gpasswd -d kaka linux #将用户从组中删除
[root@A ~]# grep linux /etc/group
案例1:配置用户和组账号
• 新建用户 alex,其用户ID为3456,密码是flectrag
[root@A ~]# useradd -u 3456 alex
[root@A ~]# id alex
[root@A ~]# echo flectrag | passwd --stdin alex
• 创建下列用户、组以及组的成员关系:创建一个名为 adminuser 的组
[root@A ~]# groupadd adminuser
[root@A ~]# grep adminuser /etc/group
• 创建natasha 的用户,其属于 adminuser 组,这个组是该用户的从属组
[root@A ~]# gpasswd -a natasha adminuser
[root@A ~]# grep adminuser /etc/group
• 创建harry 的用户,其属于 adminuser 组,这个组是该用户的从属组
[root@A ~]# gpasswd -a harry adminuser
[root@A ~]# grep adminuser /etc/group
• 创建 sarah 的用户,其在系统中没有可交互的Shell(解释器),不是 adminuser 组的成员
[root@A ~]# useradd -s /sbin/nologin sarah
[root@A ~]# grep sarah /etc/passwd
• natasha 、harry、sarah 的密码都要设置为 flectrag
[root@A ~]# echo flectrag | passwd --stdin natasha
[root@A ~]# echo flectrag | passwd --stdin harry
[root@A ~]# echo flectrag | passwd --stdin sarah
###################################################
删除组
• 使用 groupdel 命令
– groupdel 组名
[root@A ~]# groupdel linux
[root@A ~]# grep linux /etc/group
###############################################
tar备份与恢复
作用:减少占用的空间,零散的文件整理到一个压缩包
压缩格式:
gzip-----> .gz
bzip2-----> .bz2
xz -----> .xz
制作tar包:打包
格式: tar 选项 /路径/压缩包的名字 /路径/源文档 …
解包
格式: tar 选项 /路径/压缩包的名字 /释放位置
• tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称
– -z、-j、-J:调用 .gz、.bz2、.xz格式的工具进行处理
– -t:显示归档中的文件清单
– -C:指定释放路径
f选项必须放在,所有选项的最后
制作tar包:打包
]# tar -zcf /opt/file.tar.gz /home/ /etc/passwd
]# ls /opt/
]# tar -jcf /opt/nsd.tar.bz2 /home/ /etc/passwd
]# ls /opt/
]# tar -Jcf /opt/abc.tar.xz /home/ /etc/passwd
]# ls /opt/
-z:gzip压缩格式
-j:bzip2压缩格式
-J:xz压缩格式
[root@A ~]# mkdir /nsd02
[root@A ~]# tar -xf /opt/file.tar.gz -C /nsd02
[root@A ~]# ls /nsd02/
[root@A ~]# ls /nsd02/etc/
[root@A ~]# ls /nsd02/home/
[root@A ~]# mkdir /nsd03
[root@A ~]# tar -xf /opt/nsd.tar.bz2 -C /nsd03
[root@A ~]# ls /nsd03
[root@A ~]# tar -tf /opt/abc.tar.xz #查看包里内容
案例2:创建一个备份包
使用 tar 工具完成以下备份任务:
– 创建一个名为 /root/backup.tar.bz2 的归档文件
– 其中包含 /usr/local 目录中的内容
– tar 归档必须使用 bzip2 进行压缩
[root@A ~]# tar -jcf /root/backup.tar.bz2 /usr/local/
[root@A ~]# ls /root/
[root@A ~]# tar -tf /root/backup.tar.bz2 #查看包里内容
#####################################################
周期性任务
cron任务概述
• 用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务
• 日志文件:/var/log/crond
执行周期 配置说明
分钟 从0到59之间的整数
小时 从0到23之间的整数
日期 从1到31之间的整数
月份 从1到12之间的整数
星期 0~7之间的整数,0或7代表星期日
• 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]
– 查看:crontab -l [-u 用户名]
– 清除:crontab -r [-u 用户名]
如何编写crontab任务记录
– 分 时 日 月 周 任务命令行(绝对路径)
30 8 * * * #每天早晨的8:30
30 23 * * 5 #每周的周五晚上11:30
30 8 1 * * #每月的1号早晨的8:30
30 23 * * 1-5 #周一至周五晚上11:30
30 23 * * 1,3,5 #周一或周三或周五晚上11:30
*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n ...
1 */2 * * * #每隔2个小时执行一次
*/5 * * * * #每隔5分钟执行一次
30 23 1 * 1 #周一或每月一号 晚上11:30
##################################################
每分钟记录当前系统时间,将系统时间每分钟写入文件/opt/time.txt
[root@A ~]# date
[root@A ~]# date >> /opt/time.txt
[root@A ~]# cat /opt/time.txt
[root@A ~]# crontab -e -u root
-
-
-
-
- date >> /opt/time.txt
-
-
-
[root@A ~]# crontab -l -u root
[root@A ~]# cat /opt/time.txt
###################################################
[root@A ~]# crontab -e -u root
*/2 * * * * date >> /opt/time.txt
[root@A ~]# crontab -l -u root
[root@A ~]# cat /opt/time.txt
###################################################