云计算笔记(Linux入门)

云计算的介绍

什么是服务器
  • 能够为其他计算机提供服务的更高级的电脑,分别有以下几种

    机架式

    塔式

    机柜式

    刀片式

典型服务模式
  • C/S,Client/Server架构

    由服务器提供资源或某种功能
    客户机使用资源或功能
    在这里插入图片描述

  • B/S,Browser/Server架构

    B/S架构即浏览器和服务器架构模式,是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构。
    在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
    B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
    在这里插入图片描述

TCP/IP协议及配置

  • TCP/IP是最广泛支持的通信协议集合

    包括大量Internet应用中的标准协议

    支持跨网络架构、跨操作系统平台的通信

    相当于人类交流的语言

  • 主机与主机之间通信的三个要素

    -IP地址(IP address)

    子网掩码(subnet mask)

    -IP路由(IP router)网络设备 路由器

IP地址(IP address)

  • 作用:用来标识一个节点(连网设备)的网络地址
  • 地址组成(点分十进制):

    一共32个二进制数

    表示为4个十进制数,以 . 隔开

    32个二进制数:11001100.01010101.11110000.10101010

    4个十进制数:192.168.1.1 1.2.3.4 18.17.16.15

    二进制的11111111=十进制的255

    人的标识:身份证号

    网络的标识:IP地址

  • IP地址的分类

    判断的依据,只需要查看IP地址的第一个十进制数192.168.1.1 18.19.20.21

  • 用于一般计算机网络

    A类:1~127 网络位+主机位+主机位+主机位

    B类:128~191 网络位+网络位+主机位+主机位

    C类:192~223 网络位+网络位+网络位+主机位

  • 组播及科研专用(了解内容)

    D类:224~239 组播

    E类:240~254 科研

  • IP地址的组成:网络位与主机位

    网络位=类似身份证开头的6个数字,起到作用为标识一个地理区域

    主机位=编号

    举个例子:人的标识:身份证号:

    北京朝阳区:110105 19901001 1000 = 来自北京朝阳区 ,编号为19901001 1000的人

    乌鲁木齐天山区:650102 19910906 5000 = 来自乌鲁木齐天山区,编号为19910906 5000的人

    表示网络名称:网络位不变,主机全为0

    192.168.1.1 → C类地址 → 网络位+网络位+网络位+主机位 →192.168.1.0 网络编号为1

    192.168.3.1 → C类地址 → 网络位+网络位+网络位+主机位 → 192/168.3.1 网络编号为1

子网掩码

  • 子网掩码的概念

    为计算机标识IP地址的网络位与主机位,利用二进制的1标识网络位,利用二进制的0标识主机位

    192.168.1.1=11000000.10101000.00000001.00000001

网关概念与DNS服务器的概念

  • 网关的概念

    解决不用网络通信,一个网络到另一个网络的关口地址,涉及到网络设备路由器

    一个网络的出口地址

    一个网络的入口地址

    配置IP地址的方式:

    1. 手工配置
    2. DHCP自动获取(前提是网络中有DHCP服务器)
  • DNS服务器(导航员)的概念

    域名解析系统,提供域名解析的机器

    域名解析:能够将域名解析为IP地址

    用户输入www.baidu.com → DNS服务器 → IP地址 → 百度的服务器

Linux系统的简介

  • Linux是一种操作系统!!

    操作系统:一堆软件的集合,可以让计算机硬件正常工作

    客户端常用操作系统:Windows

    服务端常用操作系统:Linux

  • Unix/Linux发展史

    UNIX诞生时间:1970年1月1日

  • Linux之父,Linus Torwalds

    1991年10月,发布0.02版(第一个公开版)内核

    1994年03月,发布1.0内核

    Linux的标准读音:哩呐科斯

    内核:底层软件,调配计算机硬件资源

    用户 → 内核 → 硬件资源

    版本号:主版本 . 次版本 . 修订号

  • 发行版的名称/版本由发行方决定

    Red Hat Enterprise Linux 5/6/7/8

    Suse Linux Enterprise 12

    Debian Linux 7.8

    Ubuntu Linux 14.10/15.04

  • CentOS,社区企业操作系统(和RedHat几乎没区别)

    Community Enterprise Operating System

    http://www.centos.org/

  • 银河麒麟操作系统(国产化操作系统,使用过程中发现命令Ubuntu类似)

    银河麒麟(KylinOS)原是在“863计划”和国家核高基科技重大专项支持下,国防科技大学研发的操作系统,后由国防科技大学将品牌授权给天津麒麟 ,后者在2019年与中标软件合并为麒麟软件有限公司 ,继续研制的以Linux为内核的操作系统 。银河麒麟已经发展为银河麒麟服务器操作系统、桌面操作系统、嵌入式操作系统、麒麟云、操作系统增值产品为代表的产品线。为攻克中国软件核心技术“卡脖子”的短板,银河麒麟建设自主的开源供应链,发起中国首个开源桌面操作系统根社区openKylin, 银河麒麟操作系统以openKylin等自主根社区为依托,发布最新版本。

    www.kylinos.cn
    在这里插入图片描述

Linux的预备知识

  • Linux系统的目录结构

    树形结构
    在Linux系统中一个路径只有开头的 / 才表示根目录,其他的 / 表示分隔符
    Linux哲学思想:一切皆文件
    Linux系统是多用户操作系统,只有一个根目录/,没有盘符概念

    / 根目录:Linux系统的起点(所有数据都在此目录下。在终端里输入cd /opt,其实是在告诉电脑,先从/(即根目录)开始,再进入到opt目录)

    /bin:可执行的二进制文件的目录,如常用的命令:ls,tar,mv,cat,vim等

    /boot:放置Linux系统启动时用到的一些文件,如Linux内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub

    /dev:存放Linux系统下的设备文件、存放设备(硬盘、键盘、鼠标、显示器......)相关的数据,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱:mount /dev/cdrom /mnt(意即将根目录下的dev目录中的cdrom设备中的内容,挂载到根目录下的mnt目录中)

    /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有:/etc/hosts、/etc/rc.local、/etc/fstab、/etc/init.d、/etc/sysconfig

    /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下。(直接输入cd ~表示当前目录的家目录,cd ~ceshi表示用于用户名为ceshi的家目录)

    /lib、/user/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助

    /lost+fount:系统异常产生错误时,会将一些遗失的碎片放置于此目录下

    /mnt:/media:光盘默认挂载点,也可以选择任意位置进行挂载,但挂载之后原目录下的文件就会被遮盖住,卸载之后复原

    /opt:给额外安装的软件所放置的目录,一般用户部署服务所在目录

    /proc:此目录的数据都在内存中,如系统核心外部设备、网络状态,由于数据的都存放于内存中,所以不占用磁盘空间,比较重要的文件,有:/proc/cpuinfo,/proc/interrupts,/proc/dma,/proc/ioports,/proc/net/*等

    /root:系统管理员root的家目录

    路径解析:/home/abc/1.txt
    #在根目录下有子目录home,在home目录下有子目录abc,在abc目录下有文件1.txt。

  • Linux系统中的硬盘表示方法(Linux中一切皆文件)

    常见的接口类型:IDE与SCSI

    /dev/sda:SCSI接口的硬盘,第一块

    /dev/sdb:SCSI接口的硬盘,第二块

    /dev/sdc:SCSI接口的硬盘,第三块

    /dev/hda:IDE接口的硬盘,第一块

    /dev/hdb:IDE接口的硬盘,第二块

    /dev/hdc:IDE接口的硬盘,第三块

Linux的基本操作

  • 获取Linux系统的命令行界面
    方式一:命令字符界面

    ​ 虚拟控制台切换(Ctrl+Alt+F1~6组合键)

    ​ tty1:图形桌面

    ​ tty2~tty6:字符控制台

    方式二:图形界面获取命令行终端
  • 命令行提示符

    命令行提示标识的含义

    [root@BD ~]#

    [当前用户名@主机名 当前所在的目录]#

    ​ 若当前用户是root,则最后一个字符为#

    ​ 否则,最后一个字符为$

路径书写

  • 绝对路径:以根开始的路径
  • 相对路径:以当前所在的位置作为参照
[root@localhost boot]# cd  /home/zhangsan   #进入根目录下的home目录下的zhangsan目录
[root@localhost zhangsan]# pwd              #查看当前所在位置
/home/zhangsan

[root@localhost zhangsan]# cd   /home       #进入根目录下的home目录
[root@localhost home]# pwd                  #查看当前所在位置
[root@localhost home]# ls                   #查看当前所在位置下的所有文件
[root@localhost home]# cd  zhangsan         #相对路径,与当前位置有关,进入当前位置下的zhangsan目录
[root@localhost zhangsan]# pwd              #查看当前所在位置

[root@localhost zhangsan]# cd   /opt/
[root@localhost opt]# ls
[root@localhost opt]# cd   /opt/rh/    #绝对路径,与当前位置无关
[root@localhost rh]# pwd

[root@localhost rh]# cd  /opt/
[root@localhost opt]# ls

[root@localhost opt]# cd   rh    #相对路径,进入当前位置下的rh目录
[root@localhost rh]# pwd

Linux中颜色代表的意义

  • 蓝色:目录
  • 黑色:文本文件
  • 青色:快捷方式
  • 红色:压缩包/软件包

查看cpu处理器信息

  • lscpu

查看内存大小、空闲情况

  • cat /proc/meminfo

容量单位

1KB (Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
1PB(Petabyte 千万亿字节 拍字节)=1024TB,
1EB(Exabyte 百亿亿字节 艾字节)=1024PB,

快捷键

  • Tab键:自动补全
  • Ctrl+L:清空整个屏幕
  • Ctrl+C:废弃当前编辑的命令行(结束正在运行的命令)
  • ESC+. Alt+. :粘贴上一个命令的参数
  • Ctrl+u:清空至行首
  • Ctrl+w:往回删除一个单词(以空格界定)

命令行的基础

  • 什么是命令

    用来实现某一类功能的指令或程序

    在Linux中指定大多数命令,都要找到相应的程序

    命令的执行依赖于解释器(Linux默认的解释器/bin/bash)

    用户----->解释器----->内核----->硬件

  • 命令行的一般格式

    命令字 [选项] [参数1] [参数2]…

exit命令

  • exit命令:关闭当前的终端
  • 如果此时终端远程连接到另一个用户,输入exit则是登出

reboot命令

  • reboot命令:重启

poweroff命令

  • poweroff命令:关机

hostname命令

  • hostname命令:列出当前系统的主机名称
  • 临时设置主机名:(关机就没)
    [root@localhost /]# hostname hahaxixihehelele   #设置主机名
    [root@localhost /]# hostname
    hahaxixihehelele
    [root@localhost /]# exit      #关闭当前的终端
    
    [root@hahaxixihehelele ~]# 
    

nmtui命令

  • nmtui命令:永久设置主机名

pwd命令

  • pwd——Print Working Directory
    • 用途查看当前工作目录

cd命令

  • cd——Change Directory

    用途:切换工作目录

    格式:cd [目标文件位置]

    … 上一级目录
    用户家目录

    . 当前目录

    /root:管理员root用户的家目录

    /home:存放所有普通用户家目录的地方

    ]# cd  ~lisi        #去往lisi用户的家目录
    

ls命令

  • ls——List显示目录内容
  • 格式:ls [选项] [目录或文件名]
  • 常用命令选项

    -l 以长格式显示,显示详细信息

    -A 显示所有内容,包含隐藏数据

    -d 显示目录本身(而不是内容)的属性

    -h 提供易读的容量单位(K、M等)

    -R 递归显示内容

    ]# ls -lh /boot   #显示目录内容的详细属性,加上易读的单位
    
    ]# ls -l /etc/passwd   #显示文件的详细属性
    ]# ls -lh /etc/passwd  #显示文件的详细属性,加上易读的单位
    
    ]# ls -ld  /boot/    #显示目录本身的详细属性
    
    ]# ls  -A  /root  #显示所有内容,包括隐藏数据
    ]# ls  -R  /opt/        #递归显示目录下内容
    ]# ls  -R  /
    
  • 常见的通配符号
    • 针对不确定的文档名称,以特殊字符表示

      *:代表任意多个任意字符

      ?:代表单个字符

      [ ]:[a-z]:多个字符或连续范围中的一个,若无则忽略
      { }:{a,min,xy}:多组不同的字符串,全匹配

      ]# ls  /boot/vm*		#查看boot目录下文件名以vm开头的所有文件
      ]# ls  /root/a*		#查看root目录下文件名以a开头的所有文件
      ]# ls  /dev/tty*		#查看dev目录下文件名以tty开头的所有文件
      ]# ls  /etc/*tab		#查看etc目录下文件名以tab结尾的所有文件
      ]# ls  /etc/*.conf	#查看etc目录下文件名以.conf结尾的所有文件
      
      ]# ls  /etc/f*tab		#查看etc目录下文件名以f开头tab结尾的所有文件
      ]# ls  /etc/r*.conf	#查看etc目录下文件名以r开头.conf结尾的所有文件
      
      ]# ls  /etc/??tab		#查看etc下文件名以tab结尾的五个字符的所有文件
      ]# ls  /dev/tty??		#查看etc下文件名以tty开头的五个字符的所有文件
      
      
      ]# ls  /dev/tty[1-6]	#查看dev目录下文件名以tty1到tty6的文件
      ]# ls  /dev/tty[3-8]	#查看dev目录下文件名以tty3到tty8的文件
      
      ]# ls  /dev/tty{1,3,7,18,27}
      ]# ls  /dev/tty{30,33}
      

cat命令

  • cat命令:查看小文件

less命令

  • 查看大文件(文件内容较多)
  • 可以按上键下键进行滚动
  • q键可以退出

head命令

  • head命令:查看文件头部信息
    ]# head  -2  /etc/passwd  #输出/etc/passwd文件的头两行
    ]# head  -1  /etc/passwd  #输出/etc/passwd文件的头一行
    ]# head      /etc/passwd  #输出/etc/passwd文件的头十行
    

tail命令

  • tail命令:查看文件尾部信息
]# tail  -2  /etc/passwd   #输出/etc/passwd文件的末尾两行
]# tail  -1  /etc/passwd   #输出/etc/passwd文件的末尾一行
]# tail      /etc/passwd  	#输出/etc/passwd文件的末尾十行

grep命令

  • grep命令:在文本文件内容中输出包含指定字符串的行
  • 针对文本文件内容的操作
  • 格式:grep [选项] ‘匹配模式’ 文本文件…
  • 常用命令选项:

    -v,取反匹配

    -i,忽略大小写

    ^$:表示空行

    ^#:表示注释行

    ]# grep dog  /etc/passwd	#输出/etc/passwd文件中包含dog的所有行
    ]# grep root /etc/passwd	#输出/etc/passwd文件中包含root的所有行
    ]# grep   a  /etc/passwd	#输出/etc/passwd文件中包含a的所有行
    
    ]# grep  -v  root   /etc/passwd		#输出/etc/passwd文件中不包含root的行
    ]# grep  -i  man  /etc/man_db.conf	#输出/etc/passwd文件中中包含man(不区分大小写)的行
    ]# cat  /etc/default/useradd 
    
    ]# grep  -v  ^$  /etc/default/useradd  #过滤不要空行
    在Linux大多数配置文件中,以#开头的行表示为注释行
    ]# grep  -v  ^#  /etc/default/useradd					#去除注释行
    ]# grep  -v  ^#  /etc/default/useradd  |  grep  -v ^$	#显示配置文件的有效信息(去除空行,并且去除注释行)
    
    ]# grep -v ^#  /etc/default/useradd | grep -v ^$  >     /opt/a.txt
    ]# cat   /opt/a.txt
    
    ]# cat  /etc/login.defs
    ]# grep -v ^# /etc/login.defs
    ]# grep -v ^# /etc/login.defs  |  grep  -v  ^$
    ]# grep -v ^# /etc/login.defs  |  grep  -v  ^$  > /opt/b.txt
    ]# cat  /opt/b.txt
    
  • 常用的匹配模式

    word 包含字符串word

    ^word 以字符串word开头

    word$ 以字符串word结尾

    ]# grep ^root /etc/passwd    #以root开头
    ]# grep root$ /etc/passwd    #以root结尾
    ]# grep bash$ /etc/passwd    #以bash结尾
    

ifconfig命令

  • ifconfig命令:列出已激活的网卡连接信息(查看网卡IP地址)
  • 127.0.0.1:专用IP地址(用于表示自己本机)

mkdir命令

  • mkdir命令:创建目录
  • 常用命令选项

    -p:连同父目录一起创建,可以创建多层目录

    ]# mkdir  nsd01        #当前路径下创建
    ]# ls 
    
    ]# mkdir  /opt/nsd02
    ]# ls  /opt/
    
    ]# mkdir  /opt/nsd03   /mnt/nsd04
    
    ]# mkdir -p  /opt/aa/bb/cc/dd
    ]# ls -R  /opt/aa
    
    ]# mkdir -p  /opt/vod/haha
    ]# ls -R  /opt/vod
    

touch命令

  • touch命令:创建一个空白文本文件
    ]# touch  /mnt/1.txt
    ]# ls  /mnt/
    

vim文本编辑器

  • vim文本编辑器:修改文本文件的内容
  • 三个模式:命令模式 插入模式 末行模式
  • vim不能新建目录
    [root@A ~]# vim  /opt/haxi.txt   #当文件不存在时候,会自动创建
    

命----------i键 或者o键------>插入模式(按ESC回到命令模式)

式----------英文冒号:-------->末行模式(按ESC回到命令模式)

vim编辑技巧

命令模式操作
  • 光标跳转
    操作类型按键指令用途
    光标行内跳转Home 键 或 ^数字 0跳转到行首
    光标行内跳转End键或$跳转到行尾
    全文翻页PgUp键、PgDn向上翻页、向下翻页
    光标行间跳转直接输入1Ggg跳转到文件的首行
    光标行间跳转G跳转到文件的末尾行
  • 复制/粘贴/删除
    操作类型按键指令用途
    复制yy2yy复制光标所在处的一行、2行
    粘贴pP粘贴到光标处之后、之前
    删除xDelete删除光标所在处的单个字符
    删除dd4dd删除光标所在处的一行、4行
    删除d^从光标所在处删除至行首
    删除d$ D从光标所在处删除到行位
  • 查找/撤销/保存
    操作类型按键指令用途
    文本查找/word向后查找字符串“word”
    文本查找nN跳转至后、前一个结果
    撤销编辑u撤销最近的一次操作
    撤销编辑U撤销对当前行的所有修改
    撤销编辑Ctrl + r取消前一次撤销操作
    保存退出ZZ(大写)保存修改并退出

末行模式操作
  • 保存/退出/文件操作
    操作类型设置指令用途
    存盘及退出:w保存当前文件
    存盘及退出:q!放弃已有更改后强制退出
    存盘及退出:wq 或 :x保存已有修改后退出
    文件操作:w /root/newfile另存为其他文件
    文件操作:r /etc/filesystem读入其他文件内容
    ]# echo  123  >  /opt/3.txt
    ]# echo  abc  >  /opt/4.txt
    ]# vim  /opt/4.txt
    末行模式下 :r  /opt/3.txt    #读入/opt/3.txt文件内容
    末行模式下 :r  /etc/passwd  #读入/etc/passwd文件内容
    
  • 字符串替换
    操作类型设置指令用途
    行内替换😒/root/admin替换当前行的第一个"root"
    行内替换😒/root/admin/g替换当前行所有的"root"
    区域内替换:1,10 s/root/admin/g替换1-10行所有的“root”
    区域内替换:% s/root/admin/g替换文件内所有的“root”
    ]# cp /etc/passwd  /opt/pass.txt
    ]# vim /opt/pass.txt
    
  • 开关参数的控制
    操作类型设置指令用途
    编辑器设置:set nu 或 :set nonu显示 或 不显示行号
    编辑器设置:set ai 或 :set noai启用 或 关闭自动缩进

mount挂载命令

  • mount挂载:让目录成为设备的访问点
  • 从光盘获得软件包
  • Windows访问光盘内容:光盘文件----->光驱设备----->[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyp1hj23-1596617450442)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200704002906142.png)]
  • Linux系统访问光盘内容:光盘文件----->光驱设备----->访问点(目录)
  • 查看Linux中光驱设备
    ]# ls /dev/sr0    #实际光驱设备的名称
    /dev/sr0
    ]# ls /dev/cdrom   #光驱设备的快捷方式
    /dev/cdrom
    ]# ls -l /dev/cdrom
    lrwxrwxrwx. 1 root root 3 7月   3 09:00 /dev/cdrom -> sr0
    
  • 创建目录作为访问点(挂载点)
    ]# mkdir  /dvd
    ]# ls  /dvd/ 
    
  • 将/dev/cdrom挂载到/dvd目录下(格式:mount 设备路径 挂载点目录)
    ]# mount  /dev/cdrom   /dvd/
    mount: /dev/sr0 写保护,将以只读方式挂载
    ]# ls  /dvd/
    ]# ls  /dvd/Packages/   #软件包所在的目录
    
  • 卸载:umount
    ]# umount  /dvd/
    ]# ls  /dvd/
    
  • 挂载与卸载注意事项
    1. 卸载时当前路径不要是挂载点目录

      [root@nb dvd]# umount  /dvd/
      umount: /dvd:目标忙。
              (有些情况下通过 lsof(8) 或 fuser(1) 可以
               找到有关使用该设备的进程的有用信息)
      
    2. 挂载时最好选择自己创建的目录,不要使用根目录下,已存在的目录

    3. 挂载允许挂载到多个挂载点(访问点)

    4. 不允许一个挂载点有多个设备

alias别名定义命令

  • alias命令:别名的定义,简化复杂的命令
  • 查看已设置的别名:alias
  • 定义新的别名:alias 别名名称=‘实际执行的命令行’
  • 取消已设置的别名:unalias 别名名称
    ]# hostname
    ]# alias   hn='hostname'   	 #定义别名hn
    ]# hn
    
    ]# alias   mycat='cat  -n'  	 #定义别名mycat
    ]# mycat  /etc/hosts
    
    ]# alias           #显示系统所有有效的别名
    

rm删除命令

  • 常用命令选项

    -r 加上它可以删除目录

    -f 加上它在删除的时候不提示,强制删除

    -rf是黄金搭档,最危险的命令

mv移动&重命名命令

  • mv移动数据,原数据会消失
  • 格式:mv 原文件(把什么) 目标路径(移到哪)
    ]# mv  /opt/1.txt   /opt/nsd
    ]# ls /opt/nsd
    1.txt
    
  • mv的重命名
    ]# mv  /opt/nsd/   /opt/abc   #路径不变的移动
    ]# ls  /opt/
    
    ]# mv  /opt/abc/   /opt/haha
    ]# ls  /opt/
    
    ]# mv  /opt/haha/    /opt/xixi
    ]# ls /opt/
    
  • mv的重命名,重新命名目录数据的名字
    ]# touch  /mnt/2.txt
    ]# ls  /mnt/
    ]# mv  /mnt/2.txt  /opt/xiha.txt  #在移动中,修改目标数据的名字
    ]# ls  /opt/
    
    ]# mkdir  /mnt/test
    ]# ls  /mnt/
    ]# ls  /opt/
    ]# mv  /mnt/test/   /opt/student  #将test目录移动到/opt并且改名为student
    ]# ls /opt/
    
    ]# mkdir   /mnt/nsd10
    ]# ls  /mnt/
    ]# mv  /mnt/nsd10/   /opt/student     #将nsd10目录移动到student目录下
    ]# ls  /mnt/
    ]# ls  /opt/student/
    
  • mv支持多个参数,永远会把最后一个参数作为目标,其他参数作为原数据
    ]# touch /mnt/10.txt
    ]# mkdir /mnt/nsd11
    ]# ls /mnt/
    
    ]# mv  /mnt/10.txt  /mnt/nsd11/  /opt/
    ]# ls  /opt/
    

cp复制命令

  • cp复制数据,原数据不会消失
  • 格式:cp 原文件(把什么) 目标路径(复制到哪)
  • 常用命令选项:

    -r选项:复制目录必须加上此选项,递归复制

    ]# cp  /etc/redhat-release   /opt/
    ]# ls  /opt/
    
    ]# cp  /etc/redhat-release   /opt/r.txt
    ]# ls  /opt/
    
    ]# cp  -r  /home/  /opt/
    ]# ls  /opt/
    ]# cp  -r  /home/   /opt/myhome
    ]# ls  /opt/
    
  • cp时出现重名覆盖
    ]# cp -r /boot/  /opt/
    
    ]# \cp -r /boot/  /opt/  #在本次操作,临时取消别名
    
  • cp与一个点的连用,将数据复制到当前路径下

    . 表示当前的目录

    ]# cd /etc/sysconfig/network-scripts/
    ]# pwd
    ]# cp  /etc/fstab   .
    ]# ls
    
    ]# cp /etc/passwd   .
    ]# ls
    
  • cp支持多个参数,永远会把最后一个参数作为目标,其他参数作为原数据
    [root@nb /]# cp /etc/passwd  /etc/hosts  /mnt/
    [root@nb /]# ls /mnt/
    

tar归档及压缩命令

  • 归档的含义

    将许多零散的文件整理为一个文件

    文件总的大小基本不变

  • 压缩的含义

    按某种算法减小文件所占用空间的大小

    恢复时按对应的逆向算法解压

  • 常见的压缩格式及命令工具
    .gz → gizp
    .bz2 → bzip2
    .xz → xz
  • tar集成备份工具
    -c:创建归档
    -x:释放归档
    -f:指定归档文件名称,必须要有的选项,放在所有选项最后
    -z -j -J、:调用.gz .bz .xz格式的工具进行处理
    -t:显示归档中的文件清单
    -C:指定释放路径
  • tar制作压缩包
    格式:tar 选项 /路径/压缩包名字 /路径/源数据…
    -z:gzip压缩格式 -j:bzip2压缩格式 -J:xz压缩格式
    ]# tar -zcf /opt/file.tar.gz /home /etcpasswd
    ]# tar -jcf  /opt/abc.tar.bz2  /home  /etc/passwd
    ]# ls /opt/
    
    ]# tar -Jcf  /opt/nsd.tar.xz  /home  /etc/passwd
    ]# ls  /opt/
    
  • tar释放压缩包(解包)
    格式:tar 选项 /路径/压缩包名字 -C /释放的路径
    ]# mkdir  /nsd11
    ]# mkdir  /nsd12
    ]# mkdir  /nsd13
    ]# tar  -xf   /opt/file.tar.gz  -C  /nsd11
    ]# ls /nsd11
    ]# ls /nsd11/etc/
    ]# ls /nsd11/home/
    ]# tar  -xf   /opt/abc.tar.bz2  -C  /nsd12
    ]# tar  -xf   /opt/nsd.tar.xz  -C  /nsd13
    
  • tar不解压的情况下查看包中内容

    利用-tf命令

    格式:tar -tf 要查看的压缩包目录

  • 案例一:创建一个备份包

    使用tar工具完成以下备份任务

    1. 创建一个名为/root/backup.tar.bz2的归档文件

    2. 其中包含/usr/local目录中的内容

    3. tar归档必须使用bzip2进行压缩

      ]# tar  -jcf  /root/backup.tar.bz2  /usr/local/
      ]# ls  /root/
      ]# tar  -tf  /root/backup.tar.bz2   #查看tar包的内容
      

>>重定向与|管道命令

  • 重定向>:将前面命令的输出,写入到文本文件中

    >:覆盖重定向

    >>:追加重定向

    ]# cat --help  >  /opt/cat.txt  #会自动生成文件
    ]# cat  /opt/cat.txt
    ]# hostname
    ]# hostname  >  /opt/cat.txt 
    ]# cat  /opt/cat.txt
    
    ]# head -1 /etc/passwd
    ]# head -1 /etc/passwd  >>  /opt/cat.txt 
    ]# cat /opt/cat.txt
    
    [root@nb ~]# echo haha
    [root@nb ~]# echo 123456
    
    [root@nb ~]# echo 123456  >>  /opt/cat.txt 
    [root@nb ~]# cat  /opt/cat.txt
    
    [root@nb ~]# echo  A.tedu.cn  >  /etc/hostname 
    [root@nb ~]# cat  /etc/hostname
    
  • 管道 | :将前面命令的输出传递给后面命令,作为后面命令的参数继续处理

    显示/etc/passwd文件内容的8-12行

    ]# head  -12  /etc/passwd   |   tail  -5
    ]# head  -12  /etc/passwd  |  tail  -5   |  cat  -n
    ]# cat  -n  /etc/passwd  |  head -12 
    ]# cat  -n  /etc/passwd  |  head -12  |   tail -5
    ]# ifconfig  |  head  -2
    ]# ifconfig  |  less
    

find基本命令

  • 根据预设的条件递归查找对应的文件
  • 命令格式:find 目录 条件
    -type 类型(f,d,l)
    常用条件:-type 类型 (f文本文件、d目录、l快捷方式)
    ]# find /root -type f	#查找/root下的文本文件
    ]# find /boot -type d	#查找/boot下的目录
    ]# find /boot -type l	#查找/etc下的快捷方式
    
    -name “要查询的文档名称,支持通配符”
    常用条件:-name "名字"(支持通配符)
    请查找/etc/目录下以tab结尾;以.conf结尾;文件名passwd的文件(包含子目录)
    ]# find /etc/ -name "*tab"
    ]# find /etc/ -name "*.conf"
    ]# find /etc/ -name "passwd"
    
    请查找/root目录下以nsd开头的文件(包含子目录)
    ]# find /root/ -name "nsd*"
    
    请查找/root目录下以nsd开头的文本文件
    ]# find /root/ -name "nsd*" -type f
    
    请查找/root目录下以nsd开头的目录
    ]# find /root/ -name "nsd*" -type d  
    
    -size +或-(k、M、G)
    常用条件:-size +或-文件大小(k、M、G)
    请查找boot目录下大于300k的文件
    ]# find /boot/ -size +300k
    
    请查找boot目录下大于10M的文件
    ]# find /boot/ -size  +10M
    
    请查找boot目录下小于1024k的文件
    ]# find /boot/ -size -1024k
    
    请查找boot目录下小于1024M的文件
    ]# find /boot/ -size  -1024M
    
    请查找boot目录下小于10M的文件
    ]# find /boot/ -size -10M
    
    -user 用户名
    常用条件:-user 用户名 (意思是按照数据的所有者进行查找)
    ]# useradd student			    #创建用户student
    ]# ls /home					    #查看存放普通用户家目录的home目录
    ]# find /home/ -user student	 #查找用户student在home目录下的文件
    ]# find / -user student 		 #查找用户student在根目录下的文件
    /proc:数据来源于内存,不占用磁盘空间
    
    -mtime 修改时间
    常用条件:-mtime 修改时间(一切时间都是过去时间)
    -mtime +10(10天之前的数据)
    -mtime -10(最近十天的数据)
    ]# find /root/ -mtime +1000	#查找root目录下1000天之前的数据
    ]# find /root/ -mtime -2	#查找root目录下最近两天的数据
    ]# find /root/ -mtime  +90	#查找root目录下三个月之前的数据
    

find高级命令

  • 操作方法:根据条件查找并处理结果
  • find高级命令选项:-exec {} ;
  • 格式:find 范围 条件 -exec 处理命令 {} ;
    -exec 额外操作的开始
    {} 表示前面find命令的查询结果
    ; 表示额外操作的结束
    ]# find /boot/ -size  +10M						#查找boot目录下大于10M的文件
    
    ]# find /boot/ -size +10M -exec cp {} /opt/ \;	#查找boot目录下大于10M的文件,把他们复制到opt目录下
    
  • 案例:查找并处理文件

    利用find查找所有,用户student拥有的必须是文件,把他们拷贝到/root/findfiles文件夹中

    ]# find / -user student -type f -exec cp {} /root/findfiles/ \;
    

rpm软件包简介

  • 先挂载
    ]# mkdir  /mydvd
    ]# mount  /dev/cdrom  /mydvd
    mount: /dev/sr0 写保护,将以只读方式挂载
    
  • 常见的软件封包类型
    封包类型说明
    rpm软件包扩展名为 .rpm,适用于RedHat系列
    deb软件包扩展名为 .deb,适用于Debian系列
    源代码软件包通常以 .tar.gz 或 .tar.bz2 格式的压缩包提供包含程序的原始代码文件
    其他提供install.sh、setup、* .bin 、*. pl等安装文件
    其他绿色免安装、提供已编译好的程序及相关文件
  • RPM Package Manager

    由红帽公司提出,RedHat、SUSE等系列采用

    建立集中数据库,记录软件包安装/卸载等变化信息,分析软件包依赖关系

  • RPM包文件名特性

    软件名 - 版本信息 . 操作系统 . 硬件架构 . rpm

    firefox - 52.7.0-1 . el7.centos . x86_64 . rpm

  • RPM包安装位置
    文件类别默认安装位置
    普通执行程序/usr/bin/ 、 /bin/
    服务器程序、管理工具/usr/sbin/ 、 /sbin/
    配置文件/etc/ 、 /etc/软件名/
    日志文件/var/log/ 、 /var/log/软件名/
    程序文档、man手册页/usr/share/doc/ 、 /usr/share/man

rpm软件包查询命令

  • 查询已安装的RPM软件包的信息

    格式:rpm -q[子选项] 软件名称

    常用的子选项

    • -a:列出已安装的所有软件包

    • -i:查看指定软件的详细信息

    • -l:查看指定软件的文件安装清单

      ]# rpm -qa firefox	#查询当前系统是否安装Firefox
      ]# rpm -q bash		#查询当前系统是否安装bash
      ]# rpm -q zip		#查询当前系统是否安装zip
      ]# rpm -q haha		#查询当前系统是否安装haha
      ]# rpm -qa			#查询当前系统安装的所有rpm包
      ]# rpm -qa | grep firefo	#利用通道查询当前系统下包含firefo的rpm包
      ]# rpm -qa | grep vim		#利用通道查询当前系统下包含vim的rpm包
      ]# rpm -qi firefox 	#查询已安装软件firefox的信息
      ]# rpm -ql firefox	#查询已安装软件firefox的安装清单
      ]# rpm -ql zip		#查询已安装软件zip的安装清单
      
  • 查询某个目录/文件是哪个RPM包带来的

    格式:rpm -qf 文件路径

    即使目标文件被删除,也可以查询

    ]# rpm -qf /etc/redhat-release	#查询redhat-release文件是哪个rpm包带来的
    ]# rpm -qf /etc/passwd			#查询passwd文件是哪个rpm包带来的
    ]# rpm -qf /usr/bin/firefox		#查询firefox文件是哪个rpm包带来的
    ]# rpm -qf /bin/bash			#查询bash文件是哪个rpm包带来的
    
  • 查询未安装的RPM安装文件

    格式:rpm -q[子选项] [RPM包文件]

    常用的子选项

    • -pi查看指定软件的详细信息

    • pl查看指定软件的安装文件清单

      ]# rpm  -qpi  /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
      ]# rpm  -qpl  /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
      
  • 导入红帽签名信息(了解)

    ]# rpm --import /mydvd/RPM-GPG-KEY-CentOS-7
    ]# rpm -qpl /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
    

RPM安装命令(最好用yum)

  • 安装RPM软件

    格式:rpm -i /路径/RPM包文件…

  • 辅助选项

    -v:显示细节信息

    -h:以#号显示安装进度

    –force:强制安装、覆盖安装

    –test:测试安装,不做真实安装

    ]# rpm -q vsftpd   #查询软件是否安装
    ]# rpm -i  /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm 
    ]# rpm -q vsftpd   #查询软件是否安装成功
    ]# rpm -ql vsftpd   #查询软件安装清单
    ]# rpm -e vsftpd     #卸载软件
    ]# rpm -q vsftpd    #查询软件是否卸载成功
    ]# rpm -ivh /mydvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
    ]# rpm -q vsftpd   #查询软件是否安装成功
    
    [root@A ~]# rm -rf  /usr/bin/hostname  
    [root@A ~]# ls  /usr/bin/hostname
    ls: 无法访问/usr/bin/hostname: 没有那个文件或目录
    
    [root@A ~]# rpm  -qf  /usr/bin/hostname
    [root@A ~]# rpm -ivh  --force  /mydvd/Packages/hostname-3.13-3.el7.x86_64.rpm
    
    [root@A ~]# ls /usr/bin/hostname 
    /usr/bin/hostname
    
  • 忽略依赖关系(不推荐)

    • 可能会导致软件运行异常
    • 辅助选项 --nodeps

yum软件包仓库

  • 作用:安装软件包,自动解决依赖关系
  • 服务:自动解决依赖关系,安装软件包
  • 软件仓库的提供方式

    本地目录:file://…

    FTP或HTTP服务:ftp://… 、 http://…

  • repo基本配置项

    [源名称] :自定义名称,具有唯一性

    name :本软件的描述字串

    baseurl :指定yum服务端的URL地址

    enabled :是否启用此频道

    gpgcheck :是否验证待安装的rpm包

    gpgkey :用于rpm软件包验证的密钥文件

  • repo基本配置项(完整实例)

    [haha]

    name=xixi hehe

    baseurl=file:///mydvd

    enabled=1

    gpgcheck=1 (如果写的是0,那么下一行不用写)

    gpgkey=file:///mydvd/RPM-GPG-KEY-CentOS-7

  • 服务端(本机):
    1. 众多的软件包

    2. 仓库数据文件(repodata)

      将光盘进行挂载

构建本地yum仓库
  • 客户端(本机):

    书写一个配置文件,指定服务端位置

    仓库配置:/etc/yum.repos.d/*.repo

    ​ 错误的文件会影响正确的文件

    ]# ls /etc/yum.repos.d
    ]# mkdir /etc/yum.repos.d/bak
    ]# mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak
    ]# ls /etc/yum.repos.d/
    ]# ls /etc/yum.repos.d/bak
    
    ]# vim /etc/yum.repos.d/nsd.repo
    [haha]					#仓库名称
    name=xixi hehe			#仓库的描述信息
    baseurl=file:///mydvd	#指定服务端位置,file表示本机
    enabled=1				#是否启动本文件
    gpgcheck=0				#是否检测红帽签名
    
    ]# yum repolist			#列出识别的仓库信息
    
  • 思路:yum命令---->/etc/yum.repos.d/---->以.repo结尾的文件---->baseurl=file:///mydvd
yum安装操作

安装命令:yum -y install 要安装的软件名

]# yum -y install sssd
]# yum -y install httpd
]# yum -y install bind-chroot
]# yum -y install gcc
]# yum -y install mariadb-server
yum卸载操作

卸载命令:yum remove 要卸载的软件名

]# yum remove httpd
]# yum remove gcc
yum查询操作

精确查询:yum list 要查询的软件名

模糊查询:yum search 要查询的软件名的关键字

​ yum provides /目录/文件名(查询 仓库中哪个软件包,产生的改文件)

]# yum list ftp		#查询是否有ftp软件包
]# yum list firefox	#查询是否有firefox软件包
]# yum search ftp	#包含ftp的软件,一一列举出来
]# yum provides /etc/passwd #查询仓库中哪个软件包产生的passwd文件
yum清除缓存操作

改了yum服务的repo文件时,才需要清除缓存

]# yum clean all
]# yum repolist		#列出识别的仓库信息

man命令help命令获取帮助

  • 获取命令帮助

  • 方式一:利用 --help选项
    [root@BD]# cat  --help
    
  • 方式二:利用 man 命令
    ]# man  cat
    ]# man  useradd
    –按 q 键退出
    –按 / 键向后查找关键词(n、N切换)
    ]# man  5  passwd   #数字5表示的是关于配置文件帮助信息
    

history历史命令

  • 管理/调用曾经执行过的命令(历史命令)

    history :查看历史命令列表

    history -c :清空历史命令

    !n :执行命令历史中的第n条命令

    !str :执行最近一次以str开头的历史命令

]# vim  /etc/profile
HISTSIZE=1000  	   #默认记录1000条,可以修改上限

]# history         #查看历史命令
]# history  -c     #清除历史命令
]# !cat       	   #执行最近一条cat开头的历史命令
]# !5			   #执行历史命令中的第5条命令

du统计文件的占用空间命令

  • 统计文件的占用空间
  • 格式:du 选项 要统计的目录

    选项:-s:只统计每个参数所占用的总空间大小

    ​ -h:提供易读的容量单位(K、M等)

    ​ 通常-sh不分家,黄金组合

    [root@A ~]# du  -sh  /root
    [root@A ~]# du  -sh  /boot
    [root@A ~]# du  -sh  /
    

date查看调整系统日期时间

  • 格式
  • 显示当前年月日+星期+时间:date
  • 显示当前系统时间 时:分 :date +%R
  • 显示当前年份 :date +%Y
  • 显示当前月份 :date +%m
  • 显示当前日期 :date +%d
  • 显示当前小时 :date +%H
  • 显示当前分钟 :date +%M
  • 修改当前时间 :date -s “年-月-日 时:分:秒”
    [root@A ~]# date           #显示时间
    [root@A ~]# date  +%Y     #年
    [root@A ~]# date  +%m     #月
    [root@A ~]# date  +%d     #日
    [root@A ~]# date  +%F      #年-月-日
    [root@A ~]# date  +%R       #时:分
    [root@A ~]# date  +%H       #时
    [root@A ~]# date  +%M       #分
    
    [root@A ~]# date  -s  "2008-10-1  12:11:10"
    [root@A ~]# date
    
    [root@A ~]# date  -s  "2020-7-6  16:26"
    [root@A ~]# date
    

ln制作连接文件(快捷方式)

  • 方式一:软连接

    格式:ln -s /路径/源数据 /路径/快捷方式的名字

    软连接特点:

    1. 可以针对目录,制作快捷方式
    2. 软连接可以跨越分区
    3. 缺点:源数据消失,软连接失效
    ]# ln -s  /etc/sysconfig/network-scripts    /mnt/ns
    ]# ls /mnt/
    ]# ls  -l  /mnt/ns
    ]# ls  /mnt/ns
    ]# ls  /etc/sysconfig/network-scripts
    
    ]# ln -s  /etc/passwd    /mnt/p.txt
    ]# ls  -l  /mnt/p.txt
    ]# cat  /mnt/p.txt
    
  • 方式二:硬链接(硬连接)

    格式:ln /路径/源数据 /路径/快捷方式的名字

    硬链接特点:

    1. 不可以针对目录,制作快捷方式
    2. 硬链接不可以跨越分区
    3. 优点:源数据消失,硬链接仍然有效
    ]# rm -rf /opt/*
    ]# echo 123456 > /opt/A.txt
    ]# cat /opt/A.txt
    ]# ln -s /opt/A.txt /opt/B.txt   #软连接
    ]# ls /opt/
    ]# ln /opt/A.txt  /opt/C.txt    #硬链接
    ]# ls /opt/
    ]# cat /opt/B.txt 
    ]# cat /opt/C.txt
    

zip归档+压缩命令(跨平台)

  • 归档+压缩操作

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

    ]# zip -r /opt/abc.zip /home/ /etc/passwd
    ]# ls /opt/
    
  • 释放归档+解压操作

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

    ]# mkdir  /nsd14
    ]# unzip  /opt/abc.zip  -d   /nsd14
    ]# ls  /nsd14
    

用户和组的简介

  • 基于账户身份对资源访问进行控制(不同的用户具备不同的权限)

    账户类别:用户账号、组账号

    识别方式:UID、GID

    Linux判别用户账号通过UID

  • 用户账号

    超级用户root的UID为0

    供系统程序运行的用户,不做登录系统UID:1-999

    普通用户的UID:1000-60000

    UID和GID默认最大值为60000,但是可以更改,

    在/etc/login.defs文件下

  • 组账号

    组账号:方便对用户的管理

    在Linux中,一个用户至少属于一个组

    • 基本组(私有组):由系统创建,与用户同名
    • 附加组(从属组):由管理员创建,由管理员将用户加入

与用户相关的配置文件

  • 本地账户的数据文件

    用户的基本信息存放在:/etc/passwd

    用户的密码信息存放在:/etc/shadow

    组的基本信息存放在:/etc/group

    组的密码信息存放在:/etc/gshadow

/etc/passwd
  • /etc/passwd,保护用户账号的基本信息。
  • 每个用户记录一行,以:分割为7个字段

    输入:head -1 /etc/passwd

    输出:root : x : 0 : 0 : root : /root : /bin/bash

    解释:用户名:密码占位符:用户的UID:基本组的GID:用户描述信息:用户家目录:默认解释器

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

    输入:grep root /etc/shadow

    输出:root: 6 6 6tb82pqz5somhP74m$Bo1emJZu6vlaiio7Nh7aU0fo6gVB5Ve8h42k13yBijmjw6eYLcfT7Ma6yKcqrKWabN02N9bGj8Ozwg4kMeJXm/::0:99999:7:::

    解释:用户名:密码加密之后的字符串:从1970年1月1日到达上一次修改密码的时间经历的天数:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

    字段1:用户帐号的名称

    字段2:加密后的密码字符串

    字段3:上次修改密码的时间

    字段4:密码的最短有效天数,默认0

    字段5:密码的最长有效天数,默认99999

    字段6:密码过期前的警告天数,默认7

    字段7:密码过期后多少天禁用此用户账号

    字段8:帐号失效时间,默认值为空

    字段9:保留字段(未使用)

/etc/group
  • /etc/group,保存组账号的基本信息。
  • 每个组记录一行,以:分割为4个字段
    输入:groupadd  stugrp
    输入:grep  stugrp  /etc/group
    输出:stugrp:x:1507:
    解析:组名:组密码占位符:GID:组的成员列表
    
    
/etc/gshadow
  • /etc/gshadow,保存组账号的管理信息
  • 每个组记录一行,以:分割为4个字段
    输入:grep stugrp /etc/gshadow
    输出:stugrp:!:harry:
    解释:组名:组的密码加密字符串:组的管理员列表:组的成员列表
    

用户初始设置

  • 配置文件来源

    新建用户时,用户家目录数据,根据**/etc/skel模板目录复制。也就是说把某个文件或目录放在/etc/skel目录下,那么新建用户的家目录下,就会出现该文件或目录**

    [root@A ~]# ls -A /etc/skel/
    [root@A ~]# mkdir /etc/skel/haxi
    [root@A ~]# echo hehelele > /etc/skel/nb.txt
    [root@A ~]# ls -A /etc/skel/
    [root@A ~]# useradd  nsd17
    [root@A ~]# ls -A  /home/nsd17/
    
  • 主要的初始配置文件

    ~/.bash_profile:每次登陆时执行,定义初始化变量

    ~/.bashrc:每次开启新的终端时执行,永久定义别名

    ]# vim  /root/.bashrc   #root用户家目录配置文件
    进入之后在开头# /etc/bashrc下面输入以下命令
    alias  haha='echo  hahaxixi'
    保存并退出
    ]# exit
    重新打开一个终端
    ]# haha
    hahaxixi
    
  • 全局配置文件

    /etc/bashrc

    /etc/profile

]# vim /etc/bashrc	#影响所有用户
#/etc/bashrc
alias xixi='echo hehelele'

验证:开启一个新的终端验证
[root@A ~]# xixi
[root@A ~]# su - zhangsan
[zhangsan@A ~]$ xixi
[zhangsan@A ~]$ exit
登出
[root@A ~]#

useradd创建用户命令

  • useradd命令

    格式:useradd 选项… 用户名

  • 常用命令选项

    -u:指定UID标记号

    -d:指定家目录,缺省(默认)为/home/用户名

    -G:指定所属的附加组

    -s:指定用户的登录解释器

    ]# useradd nsd01       
    ]# ls /home/
    
    ]# grep nsd01 /etc/passwd  #查看用户基本信息
    nsd01:x:1002:1002::/home/nsd01:/bin/bash
    
    ]# id nsd01  #查看用户基本信息
    uid=1002(nsd01) gid=1002(nsd01) 组=1002(nsd01)
    
    ]# useradd nsd02
    ]# id nsd02
    
    ]# useradd nsd03
    ]# id nsd03
    
    ]# useradd -u 1400 nsd04   #指定UID创建用户
    ]# id nsd04
    
    ]# useradd  -d  /opt/abc   nsd06
    ]# grep  nsd06  /etc/passwd
    ]# ls  /opt/
    
    ]# useradd  -d  /opt/test   nsd07
    ]# grep  nsd07  /etc/passwd
    ]# ls  /opt/
    
    -s:指定用户的登录解释器
    /sbin/nologin:禁止用户登录操作系统
    ]# useradd -s /sbin/nologin nsd08
    ]# grep nsd08 /etc/passwd
    
    ]# useradd -s /sbin/nologin nsd09
    ]# grep nsd09 /etc/passwd
    
    -G:指定所属的附加组
    ]# groupadd  tarena        #创建tarena组
    ]# useradd  -G  tarena  nsd10
    ]# id nsd10
    
    ]# useradd  -G  tarena  nsd11
    ]# id nsd11
    

usermod修改用户属性命令

  • usermod命令

    格式:usermod 选项… 用户名

  • 常用命令选项

    -l:更改用户账号的登录名称

    -u:更改用户UID

    -s:更改登录解释器

    -d:更改家目录路径,但是不会创建目录

    -G:用户没有附加组的时候,是添加附加组

    -G:用户有两个或两个以上附加组时,时重置附加组

    -G:用户只有一个附加组时,时替换附加组

    ]# useradd nsd12
    ]# id nsd12
    ]# grep nsd12 /etc/passwd
    
    ]# usermod -l stu12  nsd12  #修改用户的名字
    ]# id stu12
    ]# grep stu12 /etc/passwd
    
    ]# id stu12
    ]# grep stu12  /etc/passwd
    ]# usermod -u 1500  -s  /sbin/nologin  stu12
    
    ]# id  stu12
    ]# grep  stu12  /etc/passwd
    
    -d:家目录路径,不会新建用户家目录
    ]# useradd nsd13
    ]# grep nsd13  /etc/passwd
    ]# ls /home/
    ]# usermod  -d  /opt/stu13  nsd13
    ]# grep  nsd13  /etc/passwd
    ]# ls  /opt/stu13
    ls: 无法访问/opt/stu13: 没有那个文件或目录
    
    -G:附加组     #重置附加组
    ]# useradd nsd14
    ]# groupadd js      #创建js组
    ]# id nsd14
    ]# usermod -G  js  nsd14  #修改用户的附加组
    ]# id nsd14
    ]# usermod -G  tarena nsd14  #修改用户的附加组
    ]# id nsd14
    

userdel删除用户命令

  • userdel命令

    格式:userdel -r 用户名

    添加-r选项,宿主目标(家目录)和用户邮件也一并删除

passwd为用户设置密码命令

  • passwd命令

    格式:passwd 选项… 用户名

    管理员用户使用passwd命令可以重置其他用户密码

    [root@A ~]# userdel  nsd01
    [root@A ~]# grep  nsd01  /etc/passwd
    [root@A ~]# id nsd01
    id: nsd01: no such user
    [root@A ~]# ls /home/
    
  • 交互式设置密码
    [root@A ~]# passwd  nsd01   		#交互式设置密码
    更改用户 nsd01 的密码 。
    新的 密码:                   		 #输入新的密码
    无效的密码: 密码少于 8 个字符
    重新输入新的 密码:					  #从新输入新的密码
    passwd:所有的身份验证令牌已经成功更新。
    [root@A ~]# su  -  nsd01			#临时切换用户的身份
    
    [nsd01@A ~]$ passwd 
    更改用户 nsd01 的密码 。
    为 nsd01 更改 STRESS 密码。
    (当前)UNIX 密码:            		  #输入旧密码
    新的 密码:                     		  #输入新的密码
    重新输入新的 密码:              		 #从新输入新的密码
    passwd:所有的身份验证令牌已经成功更新。
    [nsd01@A ~]$ exit                     #回到root
    登出
    [root@A ~]#
    
  • 非交互式设置密码(只能在root下进行)

    格式:echo 要设置的密码 | passwd --stdin 用户名

    ]# echo 123456  |  passwd  --stdin  nsd01
    ]# echo hahaxixi  |  passwd  --stdin  nsd01
    ]# echo redhat  |  passwd  --stdin  nsd01
    

groupadd创建组命令

  • groupadd命令,创建一个组

    格式:groupadd 要创建的组名

groupdel删除组命令

  • groupdel命令

    格式:groupdel 组名

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

    [root@A ~]# groupdel  stugrp
    

gpasswd管理组成员命令

  • gpasswd命令

    格式:gpasswd 选项… 组名

  • 常用命令选项

    -a:添加组成员,每次只能添加一个

    -d:删除组成员,每次只能删除一个

    -M:定义组成员用户列表,可设置多个

    -A:定义组管理员列表

    ]# gpasswd -a harry  stugrp   #将用户加入组
    ]# grep  stugrp  /etc/group
    ]# gpasswd  -a  nb  stugrp   
    ]# grep  stugrp  /etc/group
    ]# gpasswd -d  harry  stugrp  #将用户从组中删除
    ]# grep  stugrp  /etc/group
    ]# gpasswd  -M  'kaka,natasha'  stugrp
    ]# grep  stugrp  /etc/group
    ]# gpasswd -M  ''  stugrp     #清除组中所有成员
    ]# grep stugrp /etc/group
    
    -A:定义组管理员列表
    [root@A ~]# su  -  harry
    [harry@A ~]$ gpasswd  -a  nb  stugrp
    gpasswd:没有权限。
    [harry@A ~]$ exit
    [root@A ~]# gpasswd  -A  harry  stugrp  #定义组管理员
    [root@A ~]# su  -  harry
    [harry@A ~]$ gpasswd -a  nb  stugrp
    [harry@A ~]$ gpasswd -d  nb  stugrp
    [harry@A ~]$ exit
    
    [root@A ~]# useradd  harry
    [root@A ~]# useradd  kaka
    [root@A ~]# useradd  nb
    [root@A ~]# useradd  natasha
    [root@A ~]# gpasswd -A  ''  stugrp         #清除组管理员
    [root@A ~]# grep  stugrp  /etc/gshadow
    
    ]# gpasswd  -A  'nb,kaka'  stugrp  #添加两个组管理员
    ]# grep  stugrp  /etc/gshadow
    

crontab计划任务命令

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

  • 软件包:cronie、crontabs

  • 系统服务:crond

  • 日志文件:/var/log/cron

  • 使用 crontab命令

    -编辑:crontab -e -u 用户名 (如果不加-u和用户名,那么将在当前用户下执行此命令)

    -查看:crontab -l -u 用户名 (如果不加-u和用户名,那么将在当前用户下执行此命令)

    -清除:crontab -r -u 用户名 (如果不加-u和用户名,那么将在当前用户下执行此命令)

  • 计划任务书写的格式
    执行的任务
    *****每分钟执行一次
    3023***每天晚上11点30分执行一次
    308***每天早上8点30分执行一次
    3023**7每周日的晚上11点30执行一次
    3023**1-5每周一至周五晚上的11点30分执行一次
    3023--1,5每周一和每周五的晚上11点30分执行一次
    30231*1每周一和每月一号的晚上11点30分执行一次
    */5****每隔五分钟执行一次
    **/2***每隔两小时执行60次
    0*/2***每隔两小时执行1次
    * :匹配范围内任意时间
    , :分隔多个不连续的时间点
    - :指定连续时间范围
    /n:指定时间频率,每n分钟执行一次

权限

一、基本权限与归属关系

  • 访问权限:

    读取:允许查看内容-read r

    写入:允许修改内容-write w

    可执行:允许运行和切换-excute x

  • 针对文本文件

    r:cat less head tail

    w:vim(可以保存) >(重定向) >>(追加重定向)

    x:Shell脚本 Python

  • 针对目录

    r:ls

    w:mkdir touch rm mv

    x:cd

  • 归属关系

    所有者:拥有此文件/目录的用户-user u

    所属组:拥有此文件/目录的组-group g

    其他用户:除所有者、所属组以外的用户-outher o

  • 查看数据权限

    执行 ls -l 命令查看(查看目录 l 的后面要加 d )

    输出结果以 - 开头:文本文件

    输出结果以 d 开头:目录

    输出结果以 l 开头:快捷方式

    ~]# ls  -l  /etc/passwd
    ~]# ls  -ld  /etc/
    ~]# ls  -l  /etc/shadow
    ~]# ls  -ld  /root
    ~]# ls  -ld  /home
    ~]# ls  -l  /home
    ~]# ls  -ld  /tmp
    

二、chmod修改基本权限命令

  • chmod命令

    格式:u是所有者,g是所属组,o是其他用户,a是所有

    添加权限:chmod u/g/o/a+r/w/x 文件…

    删除权限:chmod u/g/o/a-r/w/x 文件…

    重置权限:chmod u/g/o/a=r/w/x 文件…

  • 常用命令选项

    -R:递归修改权限

    ]# mkdir /nsd01
    ]# ls -ld /nsd01
    ]# chmod u-w /nsd01
    ]# ls -ld /nsd01
    
    ]# chmod u+w /nsd01
    ]# chmod g+w /nsd01
    ]# chmod o=--- /nsd01
    ]# ls -ld /nsd01
    ]# chmod u=rwx,g=rx,o=rx /nsd01
    ]# ls -ld /nsd01
    
    ]# chmod a=rwx /nsd01	#设置所有人
    ]# ls -ld /nsd01
    ]# chmod a=rx /nsd01
    ]# ls -ld /nsd01
    
    ]# mkdir -p /opt/aa/bb/cc
    ]# ls -lR /opt/aa
    ]# chmod -R o=--- /opt/aa 
    ]# ls -lR /opt/aa
    
  • Linux用户具备的权限: ↓ 匹配即停止 ↓
    1. 首先判断用户对于该数据所处的角色 所有者>所属组>其他用户
    2. 查看相应角色权限位
  • 针对目录权限的影响

    r:列出目录内容

    w:新建/删除/重命名目录的内容,对目录本身无法修改

    x:一个用户切换到目录

  • 权限位的8进制数表示

    r、w、x分别对应4、2、1,后三组分别求和

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dezBpKDK-1596617450443)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200709014643677.png)]

    ]# mkdir /nsd03
    ]# ls -ld /nsd03
    ]# chmod 770 /nsd03
    ]# ls -ld /nsd03
    ]# chmod 777 /nsd03
    ]# ls -ld /nsd03
    ]# chmod 755 /nsd03
    ]# ls -ld /nsd03
    ]# chmod 700 /nsd03
    ]# ls -ld /nsd03
    
  • 新建文件/目录的默认权限

    一般文件默认均不给 x 执行权限

    其他取决于 umask(权限的掩码)设置

    umask的值为0022

    新建目录的权限为:777-umsak的值=777-022=755

    由于新建文件默认不给执行权限,所以新建文件权限比新建目录权限少一个x,也就是:666-umask的值=666-022=644

    新建目录权限为755
    新建文件权限为644

三、chown修改归属关系命令

  • chown命令使用格式

    chown 所有者 文件…

    chown 所有者:所属组 文件…

    chown :所属组 文件…

  • 常用命令选项

    -R:递归修改权限

    ]# ls -ld /nsd04
    ]# useradd lisi
    ]# chown lisi /nsd04	#单独修改所有者
    ]# ls -ld /nsd04
    ]# chown :root /nsd04	#单独修改所属组
    ]# ls -ld /nsd04
    

四、附加权限(特殊权限)

  • 粘滞位Sticy Bit 权限

    占用其他人 (other) 的rwx权限中的x位

    如果其他人用户 (other) 有x权限,那么显示为 t

    如果其他人用户 (other) 没有x权限,那么显示为T

    适用于目录,用来限制用户滥用写入权

    在设置了粘滞位的文件夹下,即使用户有写入权限,也不能删除或改名其他文档

    ]# mkdir /home/public
    ]# chmod 777 /home/public
    ]# ls -ld /home/public 
    ]# chmod o+t /home/public	#设置特殊权限
    ]# ls -ld /home/public
    
  • SGID (Set GID) 权限

    占用所属组(group)的rwx权限中的x位

    如果所属组(group)有x权限,那么显示为s

    如果所属组(group)没有x权限,那么显示为S

    对目录有效

    在一个具有SGID权限的目录下,新建的文档会自动继承父目录的所属组身份

    ]# mkdir /nsd08
    ]# chown :taren /nsd08	#修改所属组
    ]# ls -ld /nsd08
    ]# mkdir /nsd08/abc01
    ]# ls -ld /nsd08/abc01
    ]# chmod g+s /nsd08		#设置特殊权限
    ]# mkdir /nsd08/abc02
    ]# ls -ld /nsd08/abc02
    ]# touch /nsd08/1.txt
    ]# ls -l /nsd08/1.txt
    
  • SUID权限(了解)

    占用所有者(user)的x位

    如果所有者(user)有x权限,那么显示为s

    如果所有者(user)没有x权限,那么显示为S

    仅对可执行的程序有意义

    当其他用户执行带SUID标记的程序时,具有此程序所有者的身份和相应权限(尚方宝剑)

    ]# ls /usr/bin/mkdir
    ]# cp /usr/bin/mkdir /usr/bin/hahadir
    ]# /usr/bin/hahadir  /opt/hehe
    ]# ls /opt/
    ]# chmod  u+s  /usr/bin/hahadir 
    ]# ls -l /usr/bin/hahadir
    ]# su - lisi
    ]$ /usr/bin/mkdir abc01
    ]$ /usr/bin/hahadir abc02
    ]$ ls -l
    ]$ exit
    

五、acl策略(acl权限)(特别通行证)

  • 文档归属的局限性

    任何人只属于三种角色:属主(所有者)、属组(所属组)、其他人

    无法实现更精细的控制

  • acl访问策略

    能够对个别用户、个别设置独立的权限

    大多数挂载的EXT3/4、XFS文件系统默认已支持

  • setfacl命令(给用户或组设置acl策略)

    格式:setfacl 选项 u:用户名:权限 文件…

    ​ setfacl 选项 g:组名:权限 文件…

  • getfacl命令(查看用户或组的acl策略)

    格式:getfacl 文件

  • 常用命令选项

    -m:定义一条acl策略

    -x:清除指定的acl策略

    -b:清除所有已设置的acl策略

    -R:递归设置acl策略

    ]# mkdir /nsd10
    ]# chmod 770 /nsd10
    ]# ls -ld /nsd10
    ]# su - dc
    [dc@BD ~]$ cd /nsd10	#切换失败
    -bash: cd: /nsd10: 权限不够
    [dc@BD ~]$ exit
    ]# setfacl -m u:dc:rx /nsd10	#设置acl
    ]# getfacl /nsd10
    ]# su - dc
    [dc@BD ~]$ cd /nsd	#切换成功
    [dc@BD ~]$ pwd
    [dc@BD ~]$ exit
    
  • 将某个用户拉进黑名单
    ]# mkdir /nsd11
    ]# chmod 777 /nsd11
    ]# ls -ld /nsd11
    ]# chmod o+t /nsd11
    ]# ls -ld /nsd11
    ]# setfacl u:zhangsan:--- /nsd11
    ]# getfacl /nsd11
    

磁盘分区

一、磁盘空间简介

  • 关闭系统poweroff,添加新的磁盘(硬盘)
  • 查看硬盘设备文件
    ]# ls /dev/sda	#SCSI接口的第一块硬盘
    ]# ls /dev/sdb	#SCSI接口的第二块硬盘
    扇区默认情况下:512字节
    
  • 硬盘使用空间经历的步骤

    识别硬盘 → 分区规划 → 格式化 → 挂载使用

    相当于买一个房子

    毛坯楼层 → 打隔断 → 装修 →入住

二、识别硬盘

  • 列出当前系统识别的硬盘及分区
]# lsblk

三、分区规划

  • 分区模式:MBR、GPT
  • MBR/msdos分区模式

    分区类型:主分区、扩展分区、逻辑分区

    最多只能有四个主分区,至多有一个扩展分区,扩展分区可以没有

    逻辑分区可以有无数个,必须建立在扩展分区之上

    3个主分区 + 1个扩展分区(n个逻辑分区)

    14个主分区,或者03个主分区 + 1个扩展分区(n个逻辑分区)

    最大支持容量为 2.2TB

    扩展分区不能格式化,不能直接存储数据,占用所有的剩余空间

    可以存储数据的分区:主分区、逻辑分区

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XqqPfsxJ-1596617450444)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200712232209388.png)]

  • 使用fdisk分区工具

    常用交互指令

    m 列出指令帮助

    p 查看现有的分区表

    n 新建分区

    d 删除分区

    q 放弃更改并退出

    w 保存更改并退出

    ]# fdisk /dev/sdb
    创建新的分区(n) → 输入分区类型(p是主分区e是扩展分区)→ 分区编号 → 起始扇区 → 在last结束的时候输入(+分区大小)
    查看分区表(p)
    创建新的分区(n) → 输入分区类型(p是主分区e是扩展分区)→ 分区编号 → 起始扇区 → 在last结束的时候输入(+分区大小)
    保存更改并退出(w)
    ]# lsblk
    ]# ls /dev/sdb[1-2]
    

四、分区进行格式化

  • 格式化:类似于装修,赋予空间存储数据的规则
  • 文件系统:存储数据的规则
  • windows常见的文件系统:NTFS、FAT、exFAT
  • Linux常见的文件系统:ext4(RHEL6) 、XFS(RHETL7/8) 、FAT
  • 格式化命令:mkfs.文件系统 /分区的目录
    格式化后查看文件系统类型:blkid /分区的目录

    加一个-f选项,代表强制格式化

    ]# mkfs.ext4 /dev/sdb1
    ]# blkid /dev/sdb1	#查看文件系统类型
    ]# mkfs.xfs /dev/sdb2
    ]# blkid /dev/sdb2
    

五、挂载分区

  • 查询当前系统正在挂载的设备情况:df -h
  • 手动挂载
    ]# mkdir /mypart1
    ]# mount /dev/sdb1  /mypart1
    ]# df -h	#查看正在挂载的设备情况
    
    ]# mkdir /mypart2
    ]# mount /dev/sdb2  /mypart2
    ]# df -h
    
  • 开机自动挂载,需要去配置文件/etc/fstab
  • 检测/etc/fstab开机自动挂载配置文件书写格式是否正确,并进行挂载

    配置/etc/fstab文件格式为:

    设备路径 挂载点 类型 参数 备份标记 检测顺序

    ]# vim /etc/fstab
    /dev/sdb1	/mypart1	ext4	defaults	0	0
    /dev/sdb2	/mypart2	xfs		defaults	0	0
    
    ]# mount -a		#检测/etc/fstab开机自动挂载配置文件,书写格式是否正确
    				 检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载
    ]# df -h
    
  • 若是开机自动挂载配置文件出现了问题并没有及时检查,那么开机就会黑屏,输入root的登陆密码就会进入一个终端进行手动修复

    1.输入root的密码

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OwKsdLUE-1596617450446)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml22620\wps3.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJW9V6QN-1596617450447)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200713001826474.png)]

    2.进行修复

    [root@localhost ~]# vim /etc/fstab

    [root@localhost ~]# reboot

六、综合分区

]# fdisk /dev/sdb

p 查看分区表

n 创建主分区----->回车----->回车---->回车----->在last结束时 +2G(多少都行,基于卷组大小)

p 查看分区表

n 创建扩展分区 ----->回车---->起始回车----->结束回车 将所有空间给扩展分区

p 查看分区表

n 创建逻辑分区----->起始回车------>结束+2G(多少都行,基于卷组大小)

n 创建逻辑分区----->起始回车------>结束+2G(多少都行,基于卷组大小)

p 查看分区表

w 保存并退出

]# lsblk	#列出当前系统识别的硬盘及分区
]# partprobe	刷新分区表的命令
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
]# lsblk

七、总结

  1. 识别硬盘 lsblk
  2. 分区规划 fdisk MBR分区模式
  3. 分区表刷新 partprobe
  4. 格式化 mkfs.ext4 mkfs.xfs blkid
  5. 手动挂载使用mount df -h
  6. /etc/fstab开机自动挂载 mount -a df -h

八、分区进阶(GPT,以上是MBR)

  • 分区模式,GPT,GUID Partition Table

    全局唯一标识分区表

    突破固定大小64字节的分区表限制

    最多可支持128个主分区,最大支持18EB磁盘

    1EB=1024PB=1024x1024TB

  • 划分GPT分区模式命令
  • parted常用分区指令
    ]# parted /dev/sdc
    (parted) mktable gpt	#此命令不能重复执行,指定分区模式
    (parted) print			#输出分区表信息
    (parted) mkpart			#划分新的分区
    		输入分区名称,随便写
    		输入文件系统类型随便写
    		起始点写0
    		结束点这里想要多大的分区就写多大
    		然后输入i 忽略的意思
    (parted) print			#再输出一下分区表信息
    (parted) unit GB		#以GB作为显示的单位
    (parted) print
    (parted) mkpart			#划分新的分区
    		输入分区名称,随便写
    		输入文件系统类型,随便写
    		起始点要接着上一个分区的结束点写
    		结束点这里想要多大分区就写多大
    (parted) print
    (parted) quite			#退出
    

九、建立交换空间(swap)

  • 交换空间:虚拟内存,缓解真实物理内存的压力
    利用硬盘的空间,充当内存。当真实物理内存不够用时,会把真实物理内存的数据,暂时存放在交换空间,缓解真实物理内存的压力

    数据传达流程:CPU → 内存 → 硬盘

  • 方式1:利用分区制作交换空间
    1. 格式化 交换文件系统命令:mkswap

      ]# ls /dev/sdb5
      ]# mkswap /dev/sdb5	#格式化交换文件系统
      ]# blkid /dev/sdb5	#查看分区文件系统类型
      
    2. 查看交换空间信息命令:swapon free -m

      ]# swapon	#查看交换空间组成的成员信息
      ]# free -m	#查看内存或交换空间一共的大小
      
    3. 启用交换分区

      ]# swapon /dev/sdb5		#启用交换分区
      ]# free -m		#查看内存或交换空间一共的大小
      ]# swapon		#查看交换空间组成的成员信息
      
    4. 停用交换分区命令:swapoff

      ]# swapoff /dev/sdb5	#停用交换分区
      ]# free -m		#查看内存或交换空间一共的大小
      ]# swapon		#查看交换空间组成的成员信息
      
    5. 开机自动启用交换分区:配置文件/etc/fstab

      ]# vim /etc/fstab
      配置开机自启动交换分区格式:交换分区目录	swap	swap	参数	0	0
      /dev/sdb5	swap	swap	defaults	0	0
      ]# swapon -a	#专门用于检测fstab文件swap交换分区的
      ]# swapon		#查看交换分区空间组成的成员信息
      
  • 方式二:利用文件占用空间制作交换空间
    1. 使用dd命令,生成一个2G的文件:
      dd命令格式:dd if=源设备 of=目标设备 bs=块大小 count=块数
      有个文件是专为dd命令而生的,/dev/zero,永远在产生数据的设备

      ]# dd if=/dev/zero  of=/opt/abc.txt  bs=1M  count=2048
      ]# du -sh	#统计文件的占用空间
      
    2. 使用交换空间

      ]# mkswap /opt/abc.txt	#格式化交换文件系统
      ]# swapon /opt/abc.txt	#启用交换空间
      swapon: /opt/abc.txt:不安全的权限 0644,建议使用 0600。
      ]# swapon
      

十、逻辑卷管理

  • 作用:1.整合分散的空间 2.空间可以扩大
  • 逻辑卷的制作过程

    将众多物理卷(PV),组建成卷组(VG),再从卷组中划分出逻辑卷(LV)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ve050j1Z-1596617450447)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml3840\wps1.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mibeQgDy-1596617450449)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml3840\wps2.jpg)]

  • 逻辑卷的命令
    功能物理卷管理PV卷组管理VG逻辑卷管理LV
    Scan扫描pvscanvgscanlvscan
    Create创建pvcreatevgcreatelvcreate
    Display显示pvdisplayvgdisplaylvdisplay
    Remove删除pvremovevgremovelvremove
    Extend扩展/vgextendlvextend
  • 制作逻辑卷
    1. 建立卷组
      格式:vgcreate 要创建的卷组名字 设备的路径
      successfully(成功)

      ]# vgcreate systemvg /dev/sdb1 /devsdb2
      ]# vgs		#查看当前系统卷组信息
      ]# pvs		#查看当前系统物理卷信息
      
    2. 建立逻辑卷
      格式:lvcreate -L 大小 -n 名称 基于的卷组

      ]# lvcreate -L 16G -n vo systemvg
      ]# lvs
      ]# vgs
      ]# lsblk
      
    3. 逻辑卷使用

      ]# ls /dev/systemvg/vo
      ]# ls -l /dev/systemvg/vo
      ]# mkfs.xfs /dev/systemvg/vo	#格式化
      ]# blkid /dev/systemvg/vo		#查看文件系统类型
      ]# vim /etc/fstab
      /dev/systemvg/vo  /mylv  xfs  defaults  0  0
      
      ]# mkdir /mylv		#创建目录
      ]# mount -a			#检测/etc/fstab是否正确
      ]# df -h			#查看正在挂载的设备情况
      
  • 扩展逻辑卷
    • 情况一:卷组有足够的剩余空间

      1. 直接扩展逻辑卷的空间

        ]# vgs
        ]# lvs
        ]# lvextend -L 18G /dev/systemvg/vo
        
        ]# lvs
        
      2. 扩展文件系统命令(刷新文件系统)

        xfs_growfs:xfs文件系统的扩展

        redize2fs:ext4文件系统的扩展

        ]# xfs_growfs /dev/systemvg/vo
        ]# df -h | tail -1
        ]# lvs
        
    • 情况二:卷组没有足够的剩余空间

      1. 扩展卷组的空间

        ]# vgextend systemvg /dev/sdb3 /dev/sdb5
        ]# vgs
        
      2. 扩展逻辑卷的空间

        ]# lvextend -L 25G /dev/systemvg/vo
        ]# lvs
        
      3. 扩展文件系统命令(刷新文件系统)

        ]# xfs_growfs /dev/systemvg/vo
        ]# df -h | tail -1
        ]# lvs
        
    • 逻辑卷也可以做缩减(强烈不建议进行缩减)
    • 逻辑卷的删除

      删除卷组的前提,首先将基于此卷组创建的所有逻辑卷进行删除

      删除逻辑卷时,需要首先将逻辑卷卸载

      ]# lvremove /dev/systemvg/vo 
      Logical volume systemvg/vo contains a filesystem in use.
      
      ]# umount /mylv/
      ]# lvremove /dev/systemvg/vo 
      Do you really want to remove active logical volume systemvg/vo? [y/n]: y
      Logical volume "vo" successfully removed
      
      ]# vim  /etc/fstab  #删除开机自动挂载的配置
      ]# vgremove  systemvg  #删除卷组
      
    • 卷组划分空间的单位

      单位:PE

      默认情况:1PE=4M

      ]# vgdisplay systemvg	#查看卷组详细信息
      	PE Size		4.00MiB
      
    • 请创建一个逻辑卷redhat,大小为250M

      ]# vgchange -s 1M systemvg	#修改PE的大小
      ]# lvcreate -L 250M -n redhat systemvg
      ]# lvs
      
    • 创建逻辑卷的时候指定PE个数

      lvcreate -l PE个数 -n 逻辑卷名 卷组名

    • 创建卷组的时候设置PE大小

      vgcreate -s PE大小 卷组名 空闲分区…

进程管理

程序:静态没有运行的代码,占用磁盘空间
进程:动态执行的代码,占用CPU与内存资源
父进程与子进程之间的结构:树形结构
PID:进程的唯一标识
僵尸进程、孤儿进程
pstree列出进程树状图命令
  • pstree——Process Tree:显示层次结构非常优秀

    格式:pstree 选项 PID或用户名

  • 常用命令选项

    -a:显示完成的命令行

    -p:列出对应的PID编号

    systemd:所有进程的父进程(上帝进程)

    ]# pstree		#列出正在运行的所有进程
    ]# pstree lisi
    bash——vim
    ]# pstree -p lisi	#显示进程PID编号
    ]# pstree -ap lisi	#显示完整的命令行
    
ps aux列出进程详细信息
  • 列出正在运行的所有进程,显示进程信息非常的详细

    用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令

ps -elf列出进程及其父进程
  • 列出正在运行的所有进程,并显示进程的父进程信息
  • PPID列为父进程的PID
wc统计正在运行的进程个数
]# ps aux | wc -l	#统计正在运行的进程个数

]# wc -l /etc/passwd	#统计etc下的passwd文件一共有多少行
top显示进程交互式工具
  • Linux中的top命令就像是Windows中的任务管理器。它会以列表的形式展示出系统的当前状态 以及进程信息,并且定时刷新,同时也支持一些交互性的操作
  • 格式:top -d 刷新秒数 -U 用户名
    ]# top -d 1 -u root
    输入P按照cpu进行排序
    输入M按照内存进行排序
    
pgrep查找运行的进程ID
  • pgrep是一个命令行使用程序,根据给定的条件查找正在运行的程序的进程id。它可以是完整的或部分的进程名、运行该进程的用户或其他属性
  • 格式:pgrep 选项 查询条件

    常用命令选项:

    -l:输出进程名,而不仅仅是PID

    -U:检索指定用户的进程

    -x:精确匹配完整的进程名

    ]# pgrep -l a	#输出进程名包含a的进程信息
    ]# pgrep -lx crond	#输出进程名为crond的进程信息
    
进程的前后台调度
&:将进程放入后台(正在运行放入后台)
Ctrl + z 组合键:挂起当前进程(暂停并转入后台)
jobs命令:查看后台任务列表
fg命令:将后台任务恢复到前台运行
bg命令:让后台暂停的任务继续运行
]# sleep 1000 &		#正在运行放入后台
]# jobs		#查看后台进程信息
]# sleep 2000
^z			#按ctrl+z暂停放入后台
]# jobs  #正在运行放入后台
]# bg 2  #将后台编号为2的进程继续运行
]# jobs
]# fg 2  #将后台编号为2的进程恢复到前
sleep 2000
^C       #按ctrl+c结束正在运行的进程
干掉进程的不同方法
  • Ctrl + c组合键,终端当前命令程序
  • kill -9 PID…
  • kill -9 %后台任务编号
  • killall -9 进程名
  • pkill -9 查找条件
  • killall -9 -u 用户名(杀死一个用户开启的所有进程,也叫强制踢出一个用户)
    ]# sleep 2000 &
    ]# sleep 3000 &
    ]# sleep 4000 &
    ]# sleep 5000 &
    ]# jobs  -l   #查看后台运行的进程,显示PID
    ]# kill   10848
    ]# kill  -9  10835  #强制杀死
    ]# killall  sleep
    

RAID磁盘阵列

廉价冗余磁盘阵列

Redundant Arrays of Inexpensive Disks

通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大盘

阵列的价值:提升I/O效率、硬件级别的数据冗余

不同RAID级别的功能、特性各不相同

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rI5fT24S-1596617450449)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml3840\wps3.jpg)]

  • RAID 0,条带模式

    – 同一个文档分散存放在不同磁盘

    – 并行写入以提高效率

    – 至少需要两块磁盘组成

  • RAID 1,镜像模式

    – 一个文档复制成多份,分别写入不同磁盘

    – 多份拷贝提高可靠性,效率无提升

    – 至少需要两块磁盘组成

  • RAID5,高性价比模式

    – 相当于RAID0和RAID1的折中方案

    – 需要至少一块磁盘的容量来存放校验数据

    – 至少需要三块磁盘组成

    – 磁盘空间利用率 n-1/n

  • RAID6,高性价比/可靠模式

    – 相当于扩展的RAID5阵列,提供2份独立校验方案

    – 需要至少两块磁盘的容量来存放校验数据

    – 至少需要四块磁盘组成

  • RAID 0+1/RAID 1+0

    – 整合RAID 0、RAID 1的优势

    – 并行存取提高效率、镜像写入提高可靠性

    – 至少需要四块磁盘组成

对比项RAID 0RAID 1RAID 10RAID 5RAID 6
磁盘数≧ 2≧ 2≧ 4≧ 3≧ 4
存储利用率100%≦ 50%≦ 50%n-1/nn-2/n
校验盘12
容错性
IO性能较高较高

VDO (了解内容)

  • Virtual Data Optimizer(虚拟数据优化器)

    一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽

    VDO是基于块设备层之上的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可

  • 重复数据删除

    输入的数据会判断是不是冗余数据

    判断为重复数据的部分不会被写入,然后对源数据进行更新,直接指向原始已经存储的数据块即可

  • 压缩

    对每个单独的数据块进行处理

]# yum -y install vdo kmod-kvdo  #所需软件包
  • 制作VDO卷
  • vdo基本操作:参考man vdo 全文查找/example

    vdo create --name=VDO卷名称 --device=设备路径 --vdoLogicalSize=逻辑大小

    vdo list

    vdo status -n VDO卷名称

    vdo remove -n VDO卷名称

    vdostatus [–human-readable] [/dev/mapper/VDO卷名称]

  • VDO卷的格式化加速(跳过去重分析):

    mkfs.xfs –K /dev/mapper/VDO卷名称

    mkfs.ext4 -E nodiscard /dev/mapper/VDO卷名称

  • 前提制作VDO需要2G以上的内存
[root@nb ~]# vdo create --name=vdo0 --device=/dev/sdc --vdoLogicalSize=200G

[root@nb ~]# mkfs.xfs -K /dev/mapper/vdo0 

[root@nb ~]# mkdir /nsd01

[root@nb ~]# mount /dev/mapper/vdo0 /nsd01

[root@nb ~]# df -h

[root@nb ~]# vdostats --hum /dev/mapper/vdo0 #查看vdo设备详细信息

 

[root@svr7 ~]# vim /etc/fstab 

/dev/mapper/vdo0  /nsd01 xfs defaults,_netdev 0 0 

配置linux网络

  • 配置网络参数:主机名、IP地址、子网掩码、网关、DNS服务器
  • 永久配置主机名
    ]# echo svr7.tedu.cn > /etc/hostname
    ]# cat /etc/hostname
    svr7.tedu.cn
    ]# hostname svr7.tedu.cn 
    ]# hostname
    
  • 修改网卡命名的规则
    ]# vim /etc/default/grub	#内核引导文件,定义网卡命名规则
    ……
    GRUB_CMDLINE_LINUX="……. quiet 后面加上→ net.ifnames=0  biosdevname=0"
    ……
    ]# grub2-mkconfig -o /boot/grub2/grub.cfg	#重新生成引导文件
    ]# reboot
    ]# ifconfig | head -2
    
  • 设置nmcli命令,识别网卡的名称
    ]# nmcli connection show	#查看所有网卡
    ]# nmcli connection delete ens33	#删除名为ens33的网卡
    ]# nmcli connection delete 有线连接\1	#删除名为有线连接 1的网卡
    ]# nmcli connection 添加 类型 以太网设备 网卡名为 eth0 配置的名字为 eth0
    ]# nmcli connection add type ethernet ifname eth0 con-name eth0
    ]# nmcli connection show
    
  • nmcli命令,配置IP地址,子网掩码,网关地址
    ]# nmcli connection  修改  网卡名 ipv4.方法   手工配置  ipv4.地址      IP地址/子网掩码  ipv4.网关地址       网关            每次开机自动启用上述参数
    ]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.7/24  ipv4.getway         192.168.4.254  connection.autoconnect yes
    
    ]# nmcli connection up eth0	#激活配置
    ]# ifconfig | head -2	#不会显示网关地址
    ]# route -n		#显示网关地址
    
  • 指定本机的DNS服务器地址

    DNS服务器:将域名解析为IP地址

    ]# echo nameserver DNS服务器地址 > /etc/resolv.conf
    ]# cat /etc/resolv.conf
    

配置Yum仓库

  • 服务端:提供光盘内容
    ]# mkdir /mydvd
    ]# mount /dev/cdrom /mydvd
    ]# ls /mydvd
    ]# blkid /dev/cdrom		#查看文件系统类型
    ]# vim /etc/fstab		#开机自动挂载光驱设备
    /dev/cdrom /mydvd iso9660 defaults 0 0
    
    ]# umount /mydvd
    ]# ls /mydvd
    ]# mount -a		#验证测试
    ]# ls /mydvd
    
  • 客户端:书写一个文件
    ]# rm -rf /etc/yum.repo.d/*
    ]# vim /etc/yum.repos.d/mydvd.repo
    [mydvd]
    name=centos7
    baseurl=file:///mydvd
    enabled=1
    gpgcheck=0
    
    ]# yum -y install httpd
    ]# rpm -q httpd
    

真机Windows远程管理虚拟机linux

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J9pLq1SD-1596617450449)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200716184921410.png)]

设置虚拟机的网络类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T7I02YrS-1596617450450)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml33320\wps1.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMXwnEt4-1596617450451)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml33320\wps2.jpg)]

为真机的vmnet1配置IP地址

右击桌面“网络“ → 属性 → [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9pS6tYEI-1596617450451)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200716190024475.png)]

右击VMnet1 ------→ 属性[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fzfHnJP2-1596617450452)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200716225203285.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a8IVJuOR-1596617450453)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200716225249522.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SM9F4dW3-1596617450454)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200716225301581.png)]

进行通信的测试:Windows键+r → 输入cmd → 回车[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A0ZbjhXD-1596617450454)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20200716233614005.png)]

真机windows,安装专门用于远程管理的软件,双击进行安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q5HvVwvc-1596617450454)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps14.jpg)]

双击运行[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1EN7q6w-1596617450456)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps15.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fNWg4L1b-1596617450456)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps16.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QI48Lrvm-1596617450456)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps17.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rolYKi3K-1596617450458)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps18.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KToegUmi-1596617450458)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps19.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UxeAlIJM-1596617450458)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps20.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cY3TfG0B-1596617450459)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps21.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MA7qlOEO-1596617450459)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps22.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dlbbJFCw-1596617450460)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps23.jpg)]

常见问题:1.虚拟网卡vmnet1没有[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O8yzlUOG-1596617450460)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps24.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rXdhKsyE-1596617450461)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps25.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Czl3mFh9-1596617450461)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps26.jpg)]

如果还是无法出现vmnet1,参考下列网站方法

https://jingyan.baidu.com/article/066074d6f19bd0c3c31cb048.html

  • 真机Xsell的使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFzIgtnY-1596617450462)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps27.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E5Tbhj81-1596617450463)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps28.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-joT6lUf7-1596617450463)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps29.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xa9cVxbo-1596617450464)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps30.jpg)]

让ALT+.快捷键可以使用[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDFitTpz-1596617450464)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps31.jpg)]
数字键盘(小键盘)可以使用[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2yMThJGe-1596617450464)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps32.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0A9Cg24Y-1596617450465)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps33.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kuqsLrgQ-1596617450465)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps34.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ma9Y0bpi-1596617450467)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps35.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BdKZIK8j-1596617450467)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps36.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ctzinj8v-1596617450468)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps37.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyTadIcT-1596617450468)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps38.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YhRC7EBX-1596617450469)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps39.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MVIgzn3H-1596617450470)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps40.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4nTOcZ6d-1596617450470)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps41.jpg)]

[root@svr7 /]# vim  /etc/fstab  #模板虚拟机设置

……….

/dev/sda1  /boot     xfs   defaults     0  0

……….

[root@svr7 /]# poweroff

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S5ryXlA9-1596617450471)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps42.jpg)]

img

克隆虚拟机(模板虚拟机必须关闭)

  • 作用:以某个虚拟机为模板,快速产生一台新的虚拟机

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPmzKUSR-1596617450471)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps44.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wlgc4Xau-1596617450473)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps45.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hcn3x2a4-1596617450478)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps46.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IQ4bxR0v-1596617450479)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps47.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dPhDM6Wq-1596617450480)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps48.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EapdWPkg-1596617450480)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps49.jpg)]

    为模板虚拟机拍摄快照[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mVDGKbfK-1596617450480)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps50.jpg)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TE512TXT-1596617450481)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml2724\wps51.jpg)]

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值