Linux云计算 |【第一阶段】ADMIN-DAY6

主要内容:

bashrc配置文件、用户组管理、组账户管理、cron计划任务

一、用户管理描述

1、基于账号的访问控制

在Linux系统中,基于账号的访问控制(Account-Based Access Control, ABAC)是通过用户和组的管理来实现的。Linux使用用户ID(UID)和组ID(GID)来标识和管理用户及其权限。以下是Linux中基于账号的访问控制的关键概念和实现方式:

  • 账户类别:用户账户、组账户
  • 识别方式:UID、GID

1)用户账户

唯一标识:UID(默认编号顺序:0~60000)

作用:可以登录操作系统对资源进行访问控制,不同的用户具备不同的权限

用户账户类型:超级用户root、系统用户、普通用户

UID默认范围:

  • 管理员root的UID:0  
  • 系统用户的UID:1~999
  • 普通用户的UID:默认1000开始

补充:/etc/login.defs 可修改默认UID MAX

2)组账户

组账户标识:GID

作用:方便管理众多的用户

组账户类型:

① 基本组(私有组):系统创建与用户同名;

② 附加组(从属组):由管理员创建,由管理员进行加入;

注意:Linux一个用户必须至少属于一个组

2、账户的存放类别

1)账户数据的存放

存储在本地磁盘中(本地账户)

2)本地账户的数据文件

  • /etc/passwd 保存用户账户的基本信息
  • /etc/shadow 保存密码字串/有效期等信息
  • /etc/group 保存组账号的基本信息
  • /etc/gshadow 保存组账号的管理信息

3、解析用户账户文件

/etc/passwd,保存用户账户的基本信息(每个用户记录一行,已:分割为7个字段)

head -1 /etc/passwd
Root : x : 0 : 0 : root : /root : /bin/bash
# 用户名:密码占位符:UID:基本组GID:用户描述信息:用户家目录:解释器(内核翻译)

4、解析用户密码文件

/etc/shadow,保存密码字串/有效期等信息(每一个用户记录一行,以:分割为9个字段)

head -1 /etc/shadow
Root : $6$C.j1wjwOSdgoGJnB$UrmNlxKYezuRMnIcrUopqrB46fpWsmvPj0IW82p/CHoETyWnG65lfzhoxikWS0UFIa5pgAK36a5GIpu8R0nbm0 : : 0 : 99999 : 7 : : :

5、用户初始配置文件

1)配置文件来源

新建用户时,系统将根据/ etc/skel 模板目录复制到新建用户家目录;

2)主要的初始配置文件

  • ~/.bash_profile  每次登录系统时执行,定义初始化变量值(每次开机登录执行)
  • ~/.bashrc  每次进入新的bash环境时执行(开启新的终端)注意:影响当前~的用户
  • /etc/bashrc  全局配置文件(开启新的终端)注意:影响全体用户

二、用户账号的创建

1、useradd添加用户

格式:useradd [选项]... 用户名

常用命令选项:

  • [-u]  指定UID标记号
  • [-d]  指定宿主目录(家目录),缺省为/home/用户名
  • [-G]  指定所属的附加组
  • [-s]  指定用户的登录解释器(shell解释器)

例如1:添加一个名为nsd01的用户账号

[root@localhost etc]# useradd nsd01   //添加用户
[root@localhost etc]# id nsd01
uid=1004(nsd01) gid=1004(nsd01) 组=1004(nsd01)

例如2:添加用户并指定用户的UID为1500

[root@localhost etc]# useradd -u 1500 nsd03    //指定用户的UID
[root@localhost etc]# id nsd03
uid=1500(nsd03) gid=1500(nsd03) 组=1500(nsd03)
[root@localhost etc]# grep nsd /etc/passwd
nsd01:x:1004:1004::/home/nsd01:/bin/bash
nsd02:x:1005:1005::/home/nsd02:/bin/bash
nsd03:x:1500:1500::/home/nsd03:/bin/bash
[root@localhost etc]# useradd nsd04     //不指定UID,默认在最大UID下递增
[root@localhost etc]# grep nsd /etc/passwd
nsd01:x:1004:1004::/home/nsd01:/bin/bash
nsd02:x:1005:1005::/home/nsd02:/bin/bash
nsd03:x:1500:1500::/home/nsd03:/bin/bash
nsd04:x:1501:1501::/home/nsd04:/bin/bash

例如3:添加用户并指的用户家目录为/opt/anj

[root@localhost /]# useradd -d /opt/anj anj01     //指定用户家目录
[root@localhost /]# grep anj /etc/passwd
anj01:x:1502:1502::/opt/anj:/bin/bash
[root@localhost /]# ls /opt/
Anj

常见报错1:在已指定给其它用户的家目录下添加其它用户

[root@localhost /]# useradd -d /opt/anj anj02
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@localhost /]# grep anj02 /etc/passwd
anj02:x:1503:1503::/opt/anj:/bin/bash

注意:Linux系统能添加,但不建议两个用户共用一个组

常见报错2:在创建的目录下指定家目录

[root@localhost /]# mkdir /opt/anj04
[root@localhost /]# useradd -d /opt/anj04 anj04
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@localhost /]# ls -A /opt/anj/
.bash_logout  .bash_profile  .bashrc  .mozilla

注意:若提前创建用户的家目录,将无法把/etc/sekl的模板文件拷贝到创建的目录中

常见报错3:删除了指定的家目录,对用户登录存在影响

[root@localhost /]# rm -rf /opt/anj
[root@localhost /]# id anj02
uid=1503(anj02) gid=1503(anj02) 组=1503(anj02)
[root@localhost /]# grep anj02 /etc/passwd
anj02:x:1503:1503::/opt/anj:/bin/bash

注意:删除用户指定的家目录后,登录账户会存在问题;

例如4:添加用户并指定附加组为stugrp

[root@localhost /]# groupadd stugrp     //添加组
[root@localhost /]# useradd -G stugrp nsd05    //指定用户的附加组
[root@localhost /]# id nsd05
uid=1504(nsd05) gid=1505(nsd05) 组=1505(nsd05),1504(stugrp)

例如5:添加用户并指定解释器为/sbin/nologin/

[root@localhost /]# useradd -s /sbin/nologin nsd07   //指定用户的解释器
[root@localhost /]# grep nsd07 /etc/passwd
nsd07:x:1506:1507::/home/nsd07:/sbin/nologin

补充:/sbin/nologin/ 禁止用户登录操作系统

例如6:添加用户,选项组合使用

[root@localhost /]# useradd -u 1111 -G stugrp -s /sbin/nologin nsd11
[root@localhost /]# id nsd11
uid=1111(nsd11) gid=1111(nsd11) 组=1111(nsd11),1504(stugrp)
[root@localhost /]# grep nsd11 /etc/passwd
nsd11:x:1111:1111::/home/nsd11:/sbin/nologin

2、usermod修改用户

格式:usermod [选项]... 用户名

常用命令选项:

  • [-l]  更改用户账号的登录名称    //格式:usermod -l New用户名 被改用户名
  • [-u]  用户id
  • [-d]  家目录路径   (修改/etc/passwd内容,不会创建新目录)
  • [-s]  登录解释器
  • [-G]  附加组    //重置附加组(没有附加组时则添加,有或着有许多附加组时则重置)

例如1:

[root@localhost /]# useradd nsd13     //添加用户nsd13
[root@localhost /]# id nsd13
uid=1508(nsd13) gid=1508(nsd13) 组=1508(nsd13)
[root@localhost /]# grep nsd13 /etc/passwd
nsd13:x:1508:1508::/home/nsd13:/bin/bash
[root@localhost /]# usermod -u 1509 nsd13     //修改用户UID为1509
[root@localhost /]# id nsd13
uid=1509(nsd13) gid=1508(nsd13) 组=1508(nsd13)

 例如2:

[root@localhost /]# usermod -l stu13 nsd13   //修改用户名称为stu13
[root@localhost /]# id nsd13
id: nsd13: no such user
[root@localhost /]# id stu13
uid=1509(stu13) gid=1508(nsd13) 组=1508(nsd13)

 例如3:

[root@localhost /]# usermod -s /sbin/nologin stu13   //修改用户解释器
[root@localhost /]# grep stu13 /etc/passwd   
stu13:x:1509:1508::/home/nsd13:/sbin/nologin

 例如4:

[root@localhost /]# usermod -d /etc/stu13 stu13   //修改用户家目录
[root@localhost /]# grep stu13 /etc/passwd
stu13:x:1508:1508::/etc/stu13:/sbin/nologin
[root@localhost /]# ls /etc/stu13
ls: 无法访问/etc/stu13: 没有那个文件或目录
[root@localhost /]# ls /home/
nsd13    wangwu

注意:usermod只能修改/etc/passwd内容,不会创建新用户家目录

例如5:

[root@localhost /]# useradd nsd15
[root@localhost /]# id nsd15
uid=1509(nsd15) gid=1510(nsd15) 组=1510(nsd15)
[root@localhost /]# usermod -G stugrp nsd15  //第一次修改附加组为从没有到添加
[root@localhost /]# id nsd15
uid=1509(nsd15) gid=1510(nsd15) 组=1510(nsd15),1504(stugrp)
[root@localhost /]# groupadd tarena
[root@localhost /]# usermod -G tarena nsd15   //第二次修改附加组为重置
[root@localhost /]# id nsd15
uid=1509(nsd15) gid=1510(nsd15) 组=1510(nsd15),1511(tarena)

注意:第一次修改用户的附加组,若该用户没有附加组则修改时自动创建,第二次进行附加组修改时,则将先前的附加组重置;

3、passwd设置口令

格式:passwd [选项]... 用户名

常用命令选项:

[--stdin]  从标准输入(比如管道)取密码,免除交互过程(只有root才能使用)

命令su临时切换用户

格式:su - 用户

注意:root用户切换为普通用户不用密码,普通用户切换普通用户需要使用密码;

例如1:

[root@localhost student]# passwd nsd01    # 交互式设置密码
更改用户 nsd01 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符       # root用户下设置密码,无需复杂密码
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost student]# su nsd01     # 临时切换用户身份
[nsd01@localhost student]$     # 切换用户成功

例如2:非交互式设置密码

[root@localhost student]# echo 123456 | passwd --stdin nsd01
更改用户 nsd01 的密码 。
passwd:所有的身份验证令牌已经成功更新。

常见错误:新建用户时,默认没有密码,需要在root下通过echo方式给新用户密码

[root@localhost student]# useradd AnJ
[root@localhost student]# su AnJ
[AnJ@localhost student]$ passwd
更改用户 AnJ 的密码 。
为 AnJ 更改 STRESS 密码。
(当前)UNIX 密码:
passwd: 鉴定令牌操作错误
 
[root@localhost student]# tail -1 /etc/shadow
AnJ:!!:18691:0:99999:7:::        //!!为空密码

4、用户初始化配置文件

1)配置文件来源:

新建用户时,系统将根据/etc/skel模板目录复制到新建用户家目录;

例如:新建用户时,系统将根据/etc/skel模板目录复制

[root@localhost student]# ls -A /etc/skel/
.bash_logout  .bash_profile  .bashrc  .mozilla
[root@localhost student]# touch /etc/skel/anj.txt    //创建文件
[root@localhost student]# mkdir /etc/skel/AnJ     //创建目录
[root@localhost student]# ls -A /etc/skel/
AnJ  anj.txt  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@localhost student]# useradd ANJ
[root@localhost student]# ls -A /home/ANJ
AnJ  anj.txt  .bash_logout  .bash_profile  .bashrc  .mozilla

2)主要的初始配置文件:

  • ~/.bash_profile  每次登录系统时执行,定义初始化变量值(每次开机登录执行)
  • ~/.bashrc  每次进入新的bash环境时执行(开启新的终端)

案例1:定义永久别名(指定用户)

[root@localhost /]# vim /root/.bashrc
[root@localhost /]# cat /root/.bashrc
# .bashrc
# User specific aliases and functions
alias hn='hostname'

--重新打开终端--

[root@localhost ~]# hn     //打开新终端验证,alias别名生效
Localhost.localdomain
[nsd01@localhost root]$ xixi    //切换用户验证,alias别名无法生效
bash: xixi: 未找到命令...

案例2:定义永久别名(全局用户)

[root@localhost ~]# vim /etc/bashrc
[root@localhost ~]# head -5 /etc/bashrc
# /etc/bashrc
alias xixi="echo hehelele"

--重新打开终端--

[root@localhost ~]# xixi
hehelele
[root@localhost ~]# su nsd01   //切换用户验证,alias别名生效
[nsd01@localhost root]$ xixi
hehelele

三、用户账号的删除与查询

1、userdel删除用户

格式:userdel [-r] 用户名

常用命令选项:

[-r]  宿主目录/用户邮件也一并删除

例如:

[root@localhost ~]# ls /home/
AnJ  lisi   nsd02  nsd04  nsd07  nsd15    wangwu
ANJ  nsd01  nsd03  nsd05  nsd13  student  zhangsan
[root@localhost ~]# userdel -r AnJ       //增加[-r]选项,删除用户家目录
[root@localhost ~]# id AnJ
id: AnJ: no such user
[root@localhost ~]# ls /home/
ANJ   nsd01  nsd03  nsd05  nsd13  student  zhangsan
lisi  nsd02  nsd04  nsd07  nsd15  wangwu

 例如:

[root@localhost ~]# userdel nsd04      //未增加[-r]选项删除
[root@localhost ~]# ls /home/      //依旧还有家目录信息,/etc/passwd已删除
ANJ   nsd01  nsd03  nsd05  nsd13  student  zhangsan
lisi  nsd02  nsd04  nsd07  nsd15  wangwu
[root@localhost ~]# rm -rf /home/nsd04
[root@localhost ~]# ls /home/
ANJ   nsd01  nsd03  nsd07  nsd15    wangwu
lisi  nsd02  nsd05  nsd13  student  zhangsan
[root@localhost ~]# id nsd04
id: nsd04: no such user

2)查询账号id

格式:id [选项]... 用户名或UID

id root
uid=0(root) gid=0(root) 组=0(root)
# 用户UID 基本组GID 该用户所在的组

例如:

[root@localhost /]# id root
uid=0(root) gid=0(root) 组=0(root)
 
[root@localhost ~]# id 0
uid=0(root) gid=0(root) 组=0(root)

四、组账号基本描述

1、解析组账号文件

/etc/group,保存组账号的基本信息(每个组记录一行,以:分割为4个字段)

grep stugrp /etc/group
stugrp:x:1504:nsd05
# 组名:组密码占位符:组的GID:组成员列表

/etc/gshadow,保存组账号的管理信息(每个组记录一行,以:分割为4个字段)

五、组账号添加和管理

1、groupadd添加组账号

格式:groupadd [-g GID] 组名

例如:

[root@localhost ~]# groupadd numgrp     //添加组账号
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:

2、gpasswd管理组成员

格式:gpasswd [选项]... 组名

常用命令选项:

  • [-a]  添加组成员,每次只能加一个
  • [-d]  删除组成员,每次只能删一个
  • [-M]  定义组成员用户列表,可设置多个(覆盖)
  • [-A]  定义组管理员列表(覆盖)

注意:[-A][-M]只有root用户下才能使用,即使分配组管理员也无权限

例如1:

[root@localhost ~]# useradd 001    //创建3个用户账号
[root@localhost ~]# useradd 002
[root@localhost ~]# useradd 003
[root@localhost ~]# id 001
uid=1517(001) gid=1519(001) 组=1519(001)
[root@localhost ~]# id 002
uid=1518(002) gid=1520(002) 组=1520(002)
[root@localhost ~]# id 003
uid=1519(003) gid=1521(003) 组=1521(003)
[root@localhost ~]# groupadd numgrp      //创建组账号
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:
 
[root@localhost ~]# gpasswd -a 001 numgrp   //将001用户添加组账号
正在将用户“001”加入到“numgrp”组中
[root@localhost ~]# gpasswd -a 002 numgrp
正在将用户“002”加入到“numgrp”组中
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:001,002

[root@localhost ~]# gpasswd -M '003,002' numgrp  //通过定义添加用户(覆盖)
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:003,002
 
[root@localhost ~]# gpasswd -d 003 numgrp    //将003用户从组账号删除
正在将用户“003”从“numgrp”组中删除
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:002

[root@localhost ~]# gpasswd -M '' numgrp     //通过定义删除用户(覆盖)
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:
[root@localhost ~]# gpasswd -M '001,002' numgrp
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:001,002
[root@localhost ~]# gpasswd -a 003 numgrp    //可追加用户,不覆盖
正在将用户“003”加入到“numgrp”组中
[root@localhost ~]# grep numgrp /etc/group
numgrp:x:1522:001,002,003
 
[root@localhost ~]# id 001
uid=1517(001) gid=1519(001) 组=1519(001),1522(numgrp)

例如2:

[root@localhost ~]# su 001
[001@localhost root]$ gpasswd -a 002 numgrp
gpasswd:没有权限。
[001@localhost root]$ exit
exit
[root@localhost ~]# gpasswd -A 001 numgrp   //设置用户,组管理员权限
[root@localhost ~]# grep numgrp /etc/gshadow
numgrp:!:001:
[root@localhost ~]# su 001
[001@localhost root]$ gpasswd -a 002 numgrp
正在将用户“002”加入到“numgrp”组中
[001@localhost root]$ exit
exit
[root@localhost ~]# grep numgrp /etc/gshadow
numgrp:!:001:002

常见报错:普通用户即使添加了组管理员,但依旧无法使用[-M]和[-A]选项

[root@localhost ~]# su 001
[001@localhost root]$ gpasswd -M '003,002' numgrp
gpasswd:没有权限。
[001@localhost root]$ gpasswd -A 002 numgrp
gpasswd:没有权限。

六、组的删除操作

1、groupdel命令

格式:groupdel 组名

注意:删除的目标组不能是用户的基本组

例如:

[root@localhost ~]# groupdel numgrp     //删除附加组
[root@localhost ~]# grep numgrp /etc/group   //已无显示内容,已删除
[root@localhost ~]# id 001
uid=1517(001) gid=1519(001) 组=1519(001)

 常见报错:

[root@localhost ~]# groupdel 1519
groupdel:“1519”组不存在
[root@localhost ~]# groupdel 001
groupdel:不能移除用户“001”的主组

七、cron周期性计划任务

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务;

软件包:cronie、crontabs

系统服务:crond

日志文件:/var/log/cron

1)使用crontab命令

  • 编辑:crontab -e [-u 用户名]
  • 查看:crontab -l [-u 用户名]
  • 清除:crontab -r [-u 用户名]

2)配置格式可参考/etc/crontab文件

分 时 日 月 周   任务命令行(绝对路径)

例如:每分钟记录当前的系统时间,写入/opt/time.txt

[root@localhost ~]# date
2021年 03月 05日 星期五 19:44:53 CST
[root@localhost ~]# date >> /opt/time.txt
[root@localhost ~]# cat /opt/time.txt
2021年 03月 05日 星期五 19:45:01 CST
[root@localhost ~]# crontab -e    //编写计划任务
crontab: installing new crontab
[root@localhost ~]# crontab -l    //查看计划任务内容
* * * * * date >> /opt/time.txt     //每分钟打印date写入time.txt文件

[root@localhost ~]# cat /opt/time.txt
2021年 03月 05日 星期五 19:45:01 CST
2021年 03月 05日 星期五 19:46:01 CST
2021年 03月 05日 星期五 19:47:01 CST
2021年 03月 05日 星期五 19:48:01 CST

扩展:

1)获取命令帮助

命令:--help

[root@localhost ~]# cat --help

命令:man

[root@localhost ~]# man cat      //按q退出
[root@localhost ~]# man passwd    //显示passwd命令帮助
[root@localhost ~]# man  5  passwd

注意:数字5表示帮助的类型,表示配置文件类型

2)历史命令

用途:管理/调用曾经执行过的命令

命令:history      //查看历史命令列表

常用选项:

  • [-c]    //清空历史命令
  • [ !n ]   //执行命令历史中的第n条命令
  • [ !str ]   //执行最近一次以str开头的历史命令

例如:

[root@svr7 ~]# vim  /etc/profile
HISTSIZE=1000      #默认记录1000条
[root@localhost ~]# history       //显示历史命令列表
[root@localhost ~]# history -c    //清空历史命令

例如:

[root@localhost ~]# history                 
[root@localhost ~]# cat /etc/redhat-release
[root@localhost ~]# ls /root
[root@localhost ~]# !cat   //指定最近一条以cat开头的历史命令
[root@localhost ~]# !ls    //指定最近一条以ls开头的历史命令

3)du,统计文件的占用空间

格式:du [选项]... [目录或文件]...

常用选项:

  • [-s]   只统计每个参数所占用的总空间大小
  • [-h]  提供易读容量单位(K、M等)

例如:

[root@www /]# du -sh /root
6.7M /root
[root@www /]# du -sh /etc/passwd
4.0K /etc/passwd

4)date,查看/调整系统日期时间

常用搭配:

  • date +%F
  • date +%R
  • date +"%Y-%m-%d %H:%M:%S"
  • date -s  "yyyy-mm-dd HH:MM:SS"

例如:

[root@localhost ~]# date +%Y     #显示年
2021
[root@localhost ~]# date +%m    #显示月
03
[root@localhost ~]# date +%d    #显示日期
04
[root@localhost ~]# date +%H   #显示时
20
[root@localhost ~]# date +%M   #显示分
15
[root@localhost ~]# date +%S    #显示秒
30
[root@localhost ~]# date +%F   #显示年-月-日
2021-03-04
[root@localhost ~]# date +%R   #显示时:分
20:16
[root@www /]# date -s "2001-09-03 09:03:52"
2001年 09月 03日 星期一 09:03:52 CST

5)制作连接(链接)文件(制作快捷方式)(开机依然保留)

— 软链接

  • 软链接优势:可以针对目录与文件制作快捷方式,支持跨分区
  • 软链接缺点:源数据消失,快捷方式失效

格式:ln  -s  /路径/源数据  /路径/快捷方式的名称    #软连接

例如:

[root@svr7 ~]# ln -s /etc/sysconfig/network-scripts/ /ns    //针对目录
[root@svr7 ~]# ls /
1.txt  boot  etc   lib    media  mydvd  opt   root  sbin  sys  tools  var
bin    dev   home  lib64  mnt    ns     proc  run   srv   tmp  usr
[root@svr7 ~]# ls /ns    //查看快捷方式的信息
ifcfg-eth0   ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo     ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown       ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep  ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth   ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib    ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp  ifup             ifup-post    network-functions-ipv6
ifdown-ipv6  ifup-aliases     ifup-ppp
ifdown-isdn  ifup-bnep        ifup-routes
ifdown-post  ifup-eth         ifup-sit
 
[root@svr7 ~]# ln -s /etc/passwd /opt/ss.txt      //针对文件
[root@svr7 ~]# ls /opt/
rh  ss.txt
[root@svr7 ~]# cat /opt/ss.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

— 硬链接

  • 硬链接优势:源数据消失,快捷方式仍然有效
  • 硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区

格式:ln   /路径/源数据  /路径/快捷方式的名称    #硬链接

例如:

[root@localhost ~]# rm -rf  /opt/*
[root@localhost ~]# echo 123 > /opt/A.txt
[root@localhost ~]# ln -s /opt/A.txt /opt/B.txt   //软连接
[root@localhost ~]# ls /opt/
A.txt B.txt
[root@localhost ~]# ln /opt/A.txt  /opt/C.txt   //硬链接
[root@localhost ~]# ls /opt/
A.txt B.txt C.txt
[root@localhost ~]# cat /opt/B.txt
123
[root@localhost ~]# cat /opt/C.txt
123
 
[root@localhost ~]# rm -rf /opt/A.txt
[root@localhost ~]# ls /opt/
[root@localhost ~]# cat /opt/B.txt     //软连接失效
cat: /opt/B.txt: 没有那个文件或目录
[root@localhost ~]# cat /opt/C.txt   //硬链接仍然有效
123

6)zip归档工具,跨平台

— 归档+压缩操作

格式:zip [-r] 备份文件.zip 被归档的文档...

常用选项:

[-r]  被归档的数据有目录,必须加上此选项

例如:

[root@www /]# zip -r /opt/123.zip /etc/passwd /home/
[root@www /]# ls /opt/
123.zip  vsftpd-3.0.2-22.el7.x86_64.rpm

— 释放归档+解压操作

- 格式:unzip 备份文件.zip [-d 目标文件夹]  

常用选项:

[-d] 释放归档到指定目录

例如:

[root@www /]# mkdir /nsd01
[root@www /]# unzip /opt/123.zip -d /nsd01/
[root@www /]# ls /nsd01/
etc  home
[root@www /]# ls /nsd01/etc/
passwd
[root@www /]# ls /nsd01/home/
lisi  student  wangwu  zhangsan

小结:

本篇章节为 【第一阶段】ADMIN-DAY6 的学习笔记,可以初步了解到 RPM软件包管理、Yum软件包仓库。除此之外推荐参考相关学习网址:


Tip:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小安运维日记

Hey~ 感谢您的充电支持!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值