Linux基础04

#################################################
复制时出现重名,强制覆盖
在本次复制,临时取消别名
[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
###################################################

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值