云计算的介绍
什么是服务器
典型服务模式
-
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地址的方式:
- 手工配置
- 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处理器信息
查看内存大小、空闲情况
容量单位
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命令
reboot命令
poweroff命令
hostname命令
-
hostname命令:列出当前系统的主机名称
-
临时设置主机名:(关机就没)
[root@localhost /]# hostname hahaxixihehelele #设置主机名 [root@localhost /]# hostname hahaxixihehelele [root@localhost /]# exit #关闭当前的终端 [root@hahaxixihehelele ~]#
nmtui命令
pwd命令
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命令
less命令
head命令
-
head命令:查看文件头部信息
]# head -2 /etc/passwd #输出/etc/passwd文件的头两行 ]# head -1 /etc/passwd #输出/etc/passwd文件的头一行 ]# head /etc/passwd #输出/etc/passwd文件的头十行
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命令
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命令
vim文本编辑器
命----------i键 或者o键------>插入模式(按ESC回到命令模式)
令
模
式----------英文冒号:-------->末行模式(按ESC回到命令模式)
vim编辑技巧
命令模式操作
-
光标跳转
操作类型 按键指令 用途 光标行内跳转 Home 键 或 ^ 或 数字 0 跳转到行首 光标行内跳转 End键或$键 跳转到行尾 全文翻页 PgUp键、PgDn键 向上翻页、向下翻页 光标行间跳转 直接输入1G或gg 跳转到文件的首行 光标行间跳转 G 跳转到文件的末尾行 -
复制/粘贴/删除
操作类型 按键指令 用途 复制 yy、2yy 复制光标所在处的一行、2行 粘贴 p、P 粘贴到光标处之后、之前 删除 x 或Delete键 删除光标所在处的单个字符 删除 dd、4dd 删除光标所在处的一行、4行 删除 d^ 从光标所在处删除至行首 删除 d$ 或 D 从光标所在处删除到行位 -
查找/撤销/保存
操作类型 按键指令 用途 文本查找 /word 向后查找字符串“word” 文本查找 n,N 跳转至后、前一个结果 撤销编辑 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/
-
挂载与卸载注意事项
-
卸载时当前路径不要是挂载点目录
[root@nb dvd]# umount /dvd/ umount: /dvd:目标忙。 (有些情况下通过 lsof(8) 或 fuser(1) 可以 找到有关使用该设备的进程的有用信息)
-
挂载时最好选择自己创建的目录,不要使用根目录下,已存在的目录
-
挂载允许挂载到多个挂载点(访问点)
-
不允许一个挂载点有多个设备
-
alias别名定义命令
-
alias命令:别名的定义,简化复杂的命令
-
查看已设置的别名:alias
-
定义新的别名:alias 别名名称=‘实际执行的命令行’
-
取消已设置的别名:unalias 别名名称
]# hostname ]# alias hn='hostname' #定义别名hn ]# hn ]# alias mycat='cat -n' #定义别名mycat ]# mycat /etc/hosts ]# alias #显示系统所有有效的别名
rm删除命令
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工具完成以下备份任务
-
创建一个名为/root/backup.tar.bz2的归档文件
-
其中包含/usr/local目录中的内容
-
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
-
服务端(本机):
-
众多的软件包
-
仓库数据文件(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历史命令
]# 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 /路径/源数据 /路径/快捷方式的名字
软连接特点:
- 可以针对目录,制作快捷方式
- 软连接可以跨越分区
- 缺点:源数据消失,软连接失效
]# 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 /路径/源数据 /路径/快捷方式的名字
硬链接特点:
- 不可以针对目录,制作快捷方式
- 硬链接不可以跨越分区
- 优点:源数据消失,硬链接仍然有效
]# 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/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创建组命令
groupdel删除组命令
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和用户名,那么将在当前用户下执行此命令)
-
计划任务书写的格式
分 时 日 月 周 执行的任务 * * * * * 每分钟执行一次 30 23 * * * 每天晚上11点30分执行一次 30 8 * * * 每天早上8点30分执行一次 30 23 * * 7 每周日的晚上11点30执行一次 30 23 * * 1-5 每周一至周五晚上的11点30分执行一次 30 23 - - 1,5 每周一和每周五的晚上11点30分执行一次 30 23 1 * 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用户具备的权限: ↓ 匹配即停止 ↓
- 首先判断用户对于该数据所处的角色 所有者>所属组>其他用户
- 查看相应角色权限位
-
针对目录权限的影响
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
七、总结
-
识别硬盘 lsblk
-
分区规划 fdisk MBR分区模式
-
分区表刷新 partprobe
-
格式化 mkfs.ext4 mkfs.xfs blkid
-
手动挂载使用mount df -h
-
/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:利用分区制作交换空间
-
格式化 交换文件系统命令:mkswap
]# ls /dev/sdb5 ]# mkswap /dev/sdb5 #格式化交换文件系统 ]# blkid /dev/sdb5 #查看分区文件系统类型
-
查看交换空间信息命令:swapon free -m
]# swapon #查看交换空间组成的成员信息 ]# free -m #查看内存或交换空间一共的大小
-
启用交换分区
]# swapon /dev/sdb5 #启用交换分区 ]# free -m #查看内存或交换空间一共的大小 ]# swapon #查看交换空间组成的成员信息
-
停用交换分区命令:swapoff
]# swapoff /dev/sdb5 #停用交换分区 ]# free -m #查看内存或交换空间一共的大小 ]# swapon #查看交换空间组成的成员信息
-
开机自动启用交换分区:配置文件/etc/fstab
]# vim /etc/fstab 配置开机自启动交换分区格式:交换分区目录 swap swap 参数 0 0 /dev/sdb5 swap swap defaults 0 0 ]# swapon -a #专门用于检测fstab文件swap交换分区的 ]# swapon #查看交换分区空间组成的成员信息
-
-
方式二:利用文件占用空间制作交换空间
-
使用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 #统计文件的占用空间
-
使用交换空间
]# 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扫描 pvscan vgscan lvscan Create创建 pvcreate vgcreate lvcreate Display显示 pvdisplay vgdisplay lvdisplay Remove删除 pvremove vgremove lvremove Extend扩展 / vgextend lvextend -
制作逻辑卷
-
建立卷组
格式:vgcreate 要创建的卷组名字 设备的路径
successfully(成功)]# vgcreate systemvg /dev/sdb1 /devsdb2 ]# vgs #查看当前系统卷组信息 ]# pvs #查看当前系统物理卷信息
-
建立逻辑卷
格式:lvcreate -L 大小 -n 名称 基于的卷组]# lvcreate -L 16G -n vo systemvg ]# lvs ]# vgs ]# lsblk
-
逻辑卷使用
]# 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 #查看正在挂载的设备情况
-
-
扩展逻辑卷
-
情况一:卷组有足够的剩余空间
-
直接扩展逻辑卷的空间
]# vgs ]# lvs ]# lvextend -L 18G /dev/systemvg/vo ]# lvs
-
扩展文件系统命令(刷新文件系统)
xfs_growfs:xfs文件系统的扩展
redize2fs:ext4文件系统的扩展
]# xfs_growfs /dev/systemvg/vo ]# df -h | tail -1 ]# lvs
-
-
情况二:卷组没有足够的剩余空间
-
扩展卷组的空间
]# vgextend systemvg /dev/sdb3 /dev/sdb5 ]# vgs
-
扩展逻辑卷的空间
]# lvextend -L 25G /dev/systemvg/vo ]# lvs
-
扩展文件系统命令(刷新文件系统)
]# 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列出进程详细信息
ps -elf列出进程及其父进程
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 0 | RAID 1 | RAID 10 | RAID 5 | RAID 6 |
---|---|---|---|---|---|
磁盘数 | ≧ 2 | ≧ 2 | ≧ 4 | ≧ 3 | ≧ 4 |
存储利用率 | 100% | ≦ 50% | ≦ 50% | n-1/n | n-2/n |
校验盘 | 无 | 无 | 无 | 1 | 2 |
容错性 | 无 | 有 | 有 | 有 | 有 |
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
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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-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)]