计算机基础
1)计算机的体系架构(计算机组成)
输入单元:键盘、鼠标
输出单元:显示器、音响
存储单元:硬盘、内存
逻辑单元(运算单元):CPU的内部结构,负责计算
控制单元:CPU的内部结构,负责调度和控制
2)计算机只识别二进制数(0,1)
1)个人PC机(x86架构)
操作系统:
Windows个人桌面版系统:XP、win7、win8、win10
Linux个人桌面版系统:mint、Fedora
2)x86服务器
操作系统:
Windows服务器版系统:Windows Server2003/2008/2012/2016/2019
Linux服务器版系统:Centos、Redhat、红旗Linux、麒麟Linux、SUSE等等
3)小型机服务器
操作系统:
IBM(power系列)---AIX系统
HP ---HPUnix系统
备注:
x86:复杂指令集架构,使用了该指令集的计算机称为复杂指令集计算机(CISC)
PowerPC:精简指令集架构,使用了该指令集的计算机称为精简指令集计算机(RISC)
1)软件系统
1. BIOS(Basic Input Output System):基本输入输出系统
功能:计算机开机第一个加载的软件,主要功能是实现计算机的开机加电自检,检查计算机的硬件信息及硬件的健康状况。
存储位置:存储在固化在主板上的一个ROM(Read Only Memory)存储器上(BIOS芯片)。
修改信息存放位置:存放在主板上的CMOS芯片,它是一个RAM(Read Access Memory)类型的存储器,纽扣电池为其供电。
2. 操作系统软件
功能:管理、监控、维护计算机资源的一类软件,所以应用软件要以操作系统软件为载体才能运行。
3. 应用软件
实现特定功能的软件,比如QQ、微信等等
2)硬件系统
1. 主机:主板、CPU、内存、硬盘等等
2. 外部设备:显示器、音响、键盘、鼠标等
BIOS芯片:存储着BIOS系统,用于开机加电自检
功能:管理、监控、维护计算机资源的一类软件,所以应用软件要以操作系统软件为载体才能运行。
超线程:在一个CPU的处理核心中增加了一个逻辑单元,这样CPU中就可以同时运行2个线程,但是两个逻辑单元共用控制单元和存储单元。
多核心:在一颗物理CPU中拥有多个同样功能的处理核心,每个处理核心中都至少拥有逻辑、存储、控制三大组成单元。
SMP对称多处理器:服务器CPU技术,一台物理服务器上拥有多颗物理CPU,多颗CPU共享内存系统和总线结构,一般我们称拥有4颗CPU的服务器为4路服务器。
程序:一组静态指令的集合
进程:程序运行起来,在CPU中是以进程的形式被执行的,是程序管理的最小单位。
线程:与进程类似,但是比进程小,是由进程衍生来的; 是程序执行的最小单位。
a. cpu的位数:32bit、64bit
b. cpu的主频:GHz 计算速度
c. 厂商:Intel、AMD
9、CPU、内存、硬盘的关系
CPU内存和硬盘之间是协作关系,内存负责硬盘等硬件上的数据与CPU之间数据交换处理,具有体积小,速度快,有电可存的特点,而硬盘是存储资料和软件等数据的设备,有容量大,断电数据不丢失的特点。
10、常见的存储器类型
1. 硬盘类型
机械硬盘(HDD):盘片制,读写速度慢、寿命长、噪音大、抗震性差(磁盘坏道)
固态硬盘(SSD):芯片制,读写速度快、寿命短、噪音小、抗震性强
2. 机械硬盘的工作原理
磁道、扇区、磁头
3. 硬盘的相关参数
a. 转速 r/min
b. 容量
c.传输速率:硬盘接口从硬盘的缓存中读取数据交给其他控制器的速度。
d. 品牌:希捷、西部数据、东芝等等
11、机械硬盘和固态硬盘的区别
机械硬盘(HDD):盘片制,读写速度慢、寿命长、噪音大、抗震性差(磁盘坏道)
固态硬盘(SSD):芯片制,读写速度快、寿命短、噪音小、抗震性强
1)硬盘内部是一些圆形盘片,盘片的材料是磁介质。在盘片上有一圈圈同心圆的磁道,每个磁道上
分成几个区域,该区域(磁道段)被称为扇区。一个扇区的大小为512字节(注内层扇区和外层扇区的数
据存储量均为512字节)。每个扇区都有编号,硬盘的第一个扇区被称为磁盘首扇区,被称为MBR,记
录着磁盘分区表,也存储着磁盘的引导程序,可以引导系统启动。
2)硬盘内部有三到四块盘片。这些盘片共同围绕着盘片中轴由电机带动旋转。磁头在盘片的间隙中
(一般上下盘片无磁介质),所有磁头在同一垂直线上由电机带动可以左右移动。所有的磁头共同处于
一个圆柱体内,该圆柱体被称为柱面。磁头按照柱面作为存储单位,来读写数据。
HBA卡:主机总线适配器,服务器上的用于连接外部存储服务器的板卡,通常服务器和外部存储服务器之间的网络采用的是光纤的网络,那么就需要服务器上有光纤的HBA卡。
Raid卡:磁盘阵列卡,服务器上用于管理本地磁盘的板卡,在raid卡的管理界面可以扫描到服务器的本地磁盘,通过不同的raid技术可以将多块本地磁盘在逻辑上形成一个整体,从而提高磁盘性能或者提供数据冗余。比如常用的raid技术raid 0 、raid 1。
1)自动获取:网络中事先搭建了一台DHCP服务器(路由器内置的功能),DHCP服务器可以自动的为计算机分配网络参数。
2)手动设置:用户事先清楚网络结构与网络配置,手动配置相关网络参数。
15、子网掩码的功能
1. 按照覆盖的地理范围进行分类
广域网(WAN)、城域网(MAN)、局域网(LAN)
2. 子网
底层路由器(离电脑最近的一层)的一个接口所连接的所有网络资源称为一个子网。
3. 子网掩码的功能:
计算机根据为其配置的子网掩码进行判别与对方同异子网。
1)IP地址
用.分隔的四个数的形式,相当于手机的手机号码,计算机在网络上的一个地址编号。
2)、网关(gw)
计算机出子网通信必经的一个路由器接口称为网关。
通信规则:
同子网通信,不需要配置网关;
异子网通信,必须配置网关;
3)、端口
功能:标识一台计算机上同时运行的多个进程,每运行一个程序,在CPU中都是以进程的方式被执行,CPU会分配给每个进程一个数字编号,该编号称为端口号。
分类:
知名端口:1-1023,与网络服务固定绑定
动态端口:1024-65535,客户端使用,随用随开,不用即关。
4)、子网
底层路由器(离电脑最近的一层)的一个接口所连接的所有网络资源称为一个子网。
5)DNS服务器
功能:域名解析,将全称域名解析成IP地址
端口
功能:标识一台计算机上同时运行的多个进程,每运行一个程序,在CPU中都是以进程的方式被执行,CPU会分配给每个进程一个数字编号,该编号称为端口号。
分类:
知名端口:1-1023,与网络服务固定绑定
动态端口:1024-65535,客户端使用,随用随开,不用即关。
GUID分区表(简称GPT。使用GUID分区表的磁盘称为GPT磁盘)与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。
优点是支持2TB以上的大硬盘;每个磁盘的分区个数几乎没有限制,分区大小也几乎没有限制。
MBR分区表(master boot record)的英文缩写,简称主引导记录,还可以叫做主引导扇区。它的运行机制存在于硬件的基础之上,它存储在硬盘的第一个扇区上。当我们在硬盘上安装win10系统时,win10操作系统的分区软件可以将MBR分区信息写入到硬盘中保存起来。
优点就是兼容性比较好,缺点就是不支持管理大硬盘结构。
1、MBR分区表最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致硬盘空间浪费;GPT分区表则能够识别2TB以上的硬盘空间。
2、MBR分区表最多只能支持4个主分区或三个主分区+1个扩展分区(逻辑分区不限制);GPT分区表在Windows系统下可以支持128个主分区。
3、在MBR中,分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。
1. 微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”。
2. 簇(CLUST)的本意就是“一群”、“一组”,即一组扇区(一个磁道可以分割成若干个大小相等的圆弧,叫扇区)的意思。因为扇区的单位太小,因此把它捆在一起,组成一个更大的单位更方便进行灵活管理。簇的大小通常是可以变化的,是由操作系统在所谓“(高级)格式化”时规定的,因此
格式化硬盘的时候会弹出文件系统的选项,分别有FAT32、NTFS、exFAT三种格式
网络基础与华为网络部分
1)第七层 应用层
规定了应用协议
2)第六层 表示层
将应用层的数据格式转换成网络通信数据的标准格式,比如编码、解码;加密、解密;压缩、解压缩
3)第五层 会话层
管理用户间会话;分割进程间数据;与直连设备协商单双工模式及链路速度
4)第四层 传输层
功能:将数据封装成数据段(报文、segment),实现端(应用进程/端口)对端的数据连接和传输
封装单位(PDU协议数据单元):数据段(segment)
寻址方式:端口(port)
寻址目标:进程
进程间的连接方式:
TCP:面向连接,保证通信质量
UDP:无连接,保证通信速度
5)第三层 网络层(该层封装信息是路由器查看的)
功能:将数据段封装成数据包,数据包中的封装信息为双方的IP地址,通过该层封装信息可以在广域网内进行路由寻址,将数据送达到对方所在的子网。
封装单位(PDU):数据包(packet)
寻址方式:IP地址
寻址目标:子网
6)第二层 数据链路层(该层封装信息是由交换机查看的)
功能:将数据包封装成数据帧,数据帧中封装的是通信主机的Mac地址,通过该层封装信息可以在子网内寻找主机。
封装单位(PDU):数据帧(frame)
寻址方式:Mac地址
寻址目标:主机
7)第一层 物理层
通过传输介质传输bit流;规定电器特性(电压)
OSI模型(参考模型) TCP/IP模型(四层) TCP/IP模型(五层)
5-7 应用层 应用层
4 传输层 传输层
3 互联网络层(网络层) 网络层
1-2 网络接口层 数据链路层
物理层
端口:标识服务
TCP 1-65535
UDP 1-65535
如一台计算机上运行着QQ、IE、迅雷、酷狗。但该计算机只有一个网卡,那么该网卡接收到的数据
通过不同程序的端口号进行区分。
知名端口:1-1023
动态端口:1024-65535
注:IP地址+端口,成为socket套接字,用于进程间通信
使用浏览器访问:www.baidu.com:8000发现无法访问,平时浏览器会默认添加80端口
Mac地址也称之为硬件地址或物理地址、存储在固化在网卡上的一个ROM存储器、全球唯一 Mac地址的体现形式12位的十六进制、计算机使用Mac时会将其转换成48bit的二进制使用
HTTP,超文本传输协议,提供网页浏览。
端口 TCP 80
HTTPS,HTTP+SSL/TLS(安全套接字协议),可以将在网页上传输的数据进行加密。 TUP 443
需要向CA提交资质,CA颁发证书,将证书部署在站点上,该协议才能使用
HTTPS,HTTP+SSL/TLS(安全套接字协议),可以将在网页上传输的数据进行加密。
需要向CA提交资质,CA颁发证书,将证书部署在站点上,该协议才能使用
端口 TCP 443 、
1)DHCP协议,动态主机配置协议,给客户端自动分配网络参数。
端口 UDP 67 ---服务器端
UDP 68 ---客户端
2)DNS,域名系统,提供域名解析服务,将FQDN(全称域名)解析成IP地址。
端口 UDP 53 ---提供解析
TCP 53 ---主辅更新
1.IP租用请求:当DHCP客户机启动后,向网络内广播一个DHCP请求信息,所有机器都会收到,但不是
DHCP服务器的机器会把信息丢掉。(信息中包含客户端的MAC地址)
2.IP租用提供:DHCP服务器回应客户机,提供一个网内没有的IP地址.(信息中增加服务器的MAC地址)
3.IP租用选择:如果DHCP服务器有多个,则选择第一个回应的信息,然后向网络中广播一个消息,表
明自己已经接受一个DHCP服务器的IP。
4.IP租用确认:DHCP服务器接受到客户的选择信息之后,会返回给客户一个消息包,客户机按服务
器的信息配置机器IP,服务器记录客户机的IP地址。
1)Telnet:字符界面的远程连接,明文传输,不安全
端口 TCP 23
2)SSH:Linux系统的远程连接协议,加密传输,安全
端口 TCP 22
3)远程桌面协议:Windows系统中的图形界面的远程连接。
端口 TCP 3389
8、FTP与TFTP 端口
1)FTP,文件传输协议,提供文件传输(上传下载)服务。
端口 TCP 21 ---建立连接
TCP 20 ---数据传输
2)TFTP,简单文件传输协议,功能同FTP,但是不能设置权限及访问控制。
端口 UDP 69
3)NFS,网络文件系统,实现Linux与Linux的目录(文件夹)共享。
端口 TCP 2049
netstat -an ---查看本机所有打开的端口
邮件相关协议
1)SMTP ,简单邮件传输协议,主要功能是提供邮件的收发。
端口 TCP 25
2)POP3 ,邮局协议,提供邮件软件(Outlook、Foxmail)接收邮件。
端口 TCP 110
3)IMAP4,功能同POP3
端口 TCP 143
TCP面向连接,可靠;UDP无连接,不可靠;
TCP数据段有段号;UDP无
TCP通信有窗口技术和流量调整;UDP无
TCP通信负载高;UDP通信负载低
ARP协议
地址解析协议,功能将IP地址解析成Mac地址。
同子网,通过对方IP地址,发送ARP广播获取对方的Mac;
异子网,通过网关的IP地址,发送ARP广播获取网关的Mac;
RARP协议
反地址解析协议,功能将Mac地址解析成IP地址。备注DHCP专用的网络层协议。
1)IP 通过IP协议在广域网内进行路由寻址,主要实现网络层功能的。
2)ICMP协议
网络控制信息协议,主要功能是探测网络连接状况,一些网络命令通信时才使用ICMP协议,比如ping
ping www.baidu.com ping pong
8 0
request relay
协议(Internet Protocol)
如果公司内部使用保留IP地址,在连接因特网时,需要使用网络地址
内网计算机访问公网需要在内网和公网交界点路由器上开启NAT。
转换技术NAT把私有IP地址转换为因特网上合法的公有IP地址
VLSM(可变长子网掩码)
功能:
1.将主机位借给网络位使用,从而减少主机位位数,减少IP地址浪费。
2.划分子网:在一个主类(A、B、C类)网络中包含多个子网的能力。
16、双绞线线序是什么?
1)双绞线分类
按照传输速度:5类(100Mbp)、E5类(1000Mbps)、6类(2.4Gbps)
按照屏蔽型(屏蔽电磁干扰):屏蔽双绞线(STP)、非屏蔽双绞线(UTP)
2)线序
T568B:(常用)
橙白 橙 绿白 蓝 蓝白 绿 棕白 棕
T568A:(将T568B的1和3对调;2和6对调)
绿白 绿 橙白 蓝 蓝白 橙 棕白 棕
3)使用规则
同类设备相连用交叉线;
异类设备相连用直连线;
设备分类:
I Router PC
II Switch Hub
备注:现在网卡都属于自适应网卡,通信一般都可以使用直连线
1.工作原理
通过Mac地址表在子网内进行数据转发
2.Mac地址表的建立(学习过程)
交换机收到数据帧后先看源Mac,若Mac地址表中无记录,马上学习,再看目的Mac;若Mac地址表中有记录,直接看目的Mac
Mac地址表中有目的Mac信息,按照记录进行数据转发;若无则发送临时性广播(泛洪/扩散)
这样连接在交换机上的设备都向外发送一次数据,Mac地址表建立完善
路由器
1.工作原理
通过路由表实现跨子网数据转发。
2.概念
路由:一个节点到另一个节点的路径称为路由。
路由器:硬件设备,实现连接不同子网和跨子网转发数据的设备。
4.路由器的特点
属于OSI模型中网络层的设备;
隔绝冲突;
隔绝广播;
OSI 设备
物理层 中继器、集线器、网线、光纤
数据链路层 交换机、网桥(二层设备)
网络层 路由器(三层设备)
19、路由表的建立方式
1>手动配置(静态路由):管理员清楚网络结构和网络配置,手动添加路由条目,适用于不经常发生变化的小型网络环境。
2>动态路由协议(动态路由):管理员需要在路由器上部署运行路由协议,路由协议的功能:相邻的路由器周期性交换路由表或者链路状态相互学习;选择最佳路径。适用于大型网络环境
20、动态路由协议的功能?
管理员需要在路由器上部署运行路由协议,路由协议的功能:相邻的路由器周期性交换路由表或者链路状态相互学习;选择最佳路径。适用于大型网络环境
通过远程协议连接主机进行管理 连接协议有
1)Telnet:字符界面的远程连接,明文传输,不安全
端口 TCP 23
2)SSH:Linux系统的远程连接协议,加密传输,安全
端口 TCP 22
3)远程桌面协议:Windows系统中的图形界面的远程连接。
端口 TCP 3389
随着网络中计算机的数量越来越多,传统的以太网开始面临冲突严重、广播泛滥以及安全性无法
保障等各种问题。
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多
个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,
不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。
22、划分 VLAN 的方式?
VLAN的类型主要有四种:
1.基于端口的VLAN:将交换机的各个端口划分到不同的VLAN
2.基于主机Mac的VLAN:将不同Mac的主机划分到不同的VLAN
3.基于协议的VLAN:将运行不同协议的主机划分到不同的VLAN
4.基于子网的VLAN:将不同子网的主机划分到不同的VLAN
24、VLAN间如何标识?VLANID的范围?
通过VLAN ID 标识,VLAN ID的范围1-4094
华为交换机设备上端口链路类型Access、Trunk、Hybrid
Ø Access:独占模式,通常与PC直连的端口设置为Access,只转发与端口PVID相同的数据帧。
Ø Trunk:共享模式,通常交换机与交换机直接相连的端口设置为Trunk,可以转发多个VLAN
的数据。
Ø Hybrid:默认模式,既可以用于交换机和交换机连接,也可以用于和个人PC连接,它可以
接受和发送多个VLAN。
26、access与trunk 的适用场景及工作原理?
1、Access链路模式工作原理
Access端口在收到数据后会添加VLAN Tag,VLAN ID与端口PVID相同;
l Access端口在转发数据前会移除VLAN Tag;
Port VLAN ID
链路汇聚是通过将多个以太网端口捆绑在一起形成的,多个以太网接口捆绑后形成一个聚合组,汇聚组内的所有物理链路作为一条逻辑链路来传送数据。端口汇聚可以实现流量在汇聚组中各成员端口之间进行负载分担,以增加链路带宽,同时同一汇聚组内各个成员端口之间彼此动态备份,提高了链路的可靠性,一般用于交换机的互连中以实现具有高可靠性和高可用性的数据链路
手工模式、静态链路模式、动态LACP链路汇聚。
LACP(Link Aggregation Control Protocol,链路汇聚控制协议)是基于IEEE 802.3ad标准的实现链路动态汇聚与解汇聚的协议。LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路汇聚控制协议数据单元)与对端交互端口信息,实现对汇聚的控制。
答:1)RIP仅和相邻路由器交换信息
32、什么是OSPF,它有哪些特点?
OSPF(Open Shorest Path First)开放式最短路径优先协议,基于IP工作, 协议号89。是基于链路状态的路由选择协议;具备如下特点:
(1)、 天生无环的协议
(2)、收敛快:当网络发生变化时,网络上所有设备都知道发生了变化,并完成了相应的计算,比如增加了路由或撤销了路由
(3)、 支持多种认证方式(不认证、明文认证、MD5认证)
1)网络报文风暴。由于泛洪导致网络报文转发环路
2)环路导致MAC表震荡
功能 、生成树协议(Spanning-Tree Protocol)。可以在局域网中通过对某些端口进行阻塞以消除环路
实现功能、1)选根桥:根据交换机优先级和MAC地址,选出BID最小的交换机作为整个网络的根。
2)确定根端口(RP:RootPort):交换机上离根桥最近的端口。
3)确定指定端口(DP:DesignatedPort):链路上最优端口。
4)确定可选端口(AP:AlternatedPort):非最优端口,需要阻塞。也称之为阻塞端口。
5)关闭所有阻塞端口的流量转发功能
35、ACL 的功能?
ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的。企业网络中的
设备进行通信时,需要保障数据传输的安全可靠和网络的稳定性。ACL可以定义一系列的不同的
规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以
实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
域控制器(DC):负责统一管理,安装活动目录服务(Active Directory)
客户机(成员机):被管理的机器
功能.域(客户机/服务器网):集中式管理,在域中会搭建一台域控制器(DC),由域控制器来统一管理域下客户机(成员机)
MBR分区表:
分区的类型:主要分区(划分好直接格式化使用,一般用于安装系统)
扩展分区(划分好以后不能直接使用,在其上划分逻辑分区使用)
逻辑分区(从扩展分区中划分出来的,格式化后可以直接使用)
分区数量:主要分区+扩展分区<=4,并且一块盘最多只能划分一个扩展分区
单个分区容量:单个分区容量不能超过2TB
GPT分区表:
分区分类:无类型之分,全部都是主要分区
分区数量:最多划分128个
单个分区容量:单个分区容量不能超过18EB(1024T=1PB 1024P=1EB)
FAT、FAT32、NTFS、exFAT
Windows中称为簇,是分区分配给文件的最小单位,一个文件至少在分区上占用一簇,实质上格式化就是在存储空间上划分簇。分配单元大小也是造成文件实际大小和占用磁盘空间大小不一致的原因。
10、172.16-172.31、192.168.0-192.168.255
42、下列命令的功能是?
Netstat/nslookup / ipconfig / tractert/ ping /
1)ping -t -l 1000 192.168.10.1
对方IP地址 全称域名 持续向对方发送大小为1000字节的数据包
解析全程域名成IP地址
查看本机正在建立连接的端口
探测到对方经过的路由器
5)ipconfig 显示本机TCP/IP配置的详细信息
43、子网掩码的作用
1.用于标识网络位和主机位
IP地址中的网络位,子网掩码转成二进制后用1表示;
IP地址中的主机位,子网掩码转成二进制后用0表示;
2.计算机通过子网掩码判断与对方同异子网
计算机将自己的IP地址与子网掩码进行"与"运算,得到自己网段;
计算机将自己的子网掩码与对方的IP地址进行"与"运算,跟自己的网段作对比,判断同异子网。
1)IPv4地址形式
四个十进制数用.分隔,每一段是一个字节,计算机使用时会将每个十进制数转换成8bit的二进制数,所以IP使用二进制表示为32bit。
2)IP地址的组成
网络地址(网络位):子网的地址编号
主机地址(主机位):计算机在子网中的地址编号
ipv6
将ip地址扩展到128bit,IPv6可以完全兼容IPv4
45、raid0及raid1的最低配置、原理、优缺点?
raid0需要从2块或2块以上的动态磁盘上占用等大小的空间;使用时是条带的方式并行进行读写;不可扩容;
优点:读写速度快
缺点:怕坏盘,坏盘数据无法恢复
raid1需要从2块动态磁盘上占用等大小的空间;使用时两块盘的空间互为备份互为镜像;不可扩容
优点:数据由冗余
缺点:浪费磁盘空间
46、raid5与raid6的最低配置、原理、优缺点
raid5、需要从3块或3块以上的动态磁盘上占用等大小的空间;不可扩容; 使用时在多块动态盘上占用的空间将按照等大小的单元分成N多区块,多块盘以条带的形式轮流存储数据,轮流存储奇偶校验算法的校验值;
优点: 允许坏一块盘,坏一块盘可以根据奇偶校验算法的逆运算恢复数据
缺点:浪费磁盘空间
raid6需要从4块或4块以上的动态磁盘上占用等大小的空间;不可扩容; 使用时在多块动态盘上占用的空间将按照等大小的单元分成N多区块,多块盘以条带的形式轮流存储数据,轮流存储奇偶校验算法的校验值;
优点: 允许坏一块盘,坏一块盘可以根据奇偶校验算法的逆运算恢复数据
缺点:浪费磁盘空间
raid10:即raid 1+0
raid01:即raid 0+1确实,raid10和raid01基本上两者的原理很像,都是RAID0和RAID1的结合,不过还是有些区别的。
raid01,先条带后镜像
aba'b'
raid10是先做镜像,再条带
aa'bb'
Raid10要比raid01可靠性高,因为raid10中的任何一个盘失效,还有一个镜像存在。而01中任何一个盘失效则完全降级为raid1了。
性能相差不大。
(1)、 RAID10是RAID1和RAID0的组合运用,它第一层为RAID1模式,第二层为RAID0模式,从而结合了两者的优点,提供了新的特性,如图-4所示。如果在下层RAID1中的某个磁盘出现故障,并不会影响数据的读取;然而,如果出现故障的磁盘没有被替换,那么那个剩下的磁盘将会成为单点故障;但是,如果该单点故障的磁盘再次损坏,那么整个阵列存储的数据将会丢失;因此RAID10能支持的并不是任意两个磁盘故障。
Linux复习大纲
linux系统部分
1)Linux的发行版是指社区或者操作系统厂商在开源的内核代码之上开发的操作系统版本
cat /etc/centos-release ---查看当前系统的发行版版本
cat /etc/redhat-release
2)常见的linux发行版:RedHat、CentOS、Fedora、Debin、Ubuntu(桌面应用为主)、SUSE(德国)、 Mint(基于Ubuntu和Debin)、Gentoo、麒麟软件(旗下品牌:中标麒麟)、
红旗linux、Deepin、华为OpenEuler(欧拉社区)
内核是linux系统的核心和基础,直接依附于硬件之上,控制和管理系统内的资源。
3)Linux内核版本是指linux团队维护的开源的操作系统的内核代码版本
uname -r ---查看当前系统使用的内核版本
uname -a
内核是linux系统的核心和基础,直接依附于硬件之上,控制和管理系统内的资源。
Linux内核版本是指linux团队维护的开源的操作系统的内核代码版本
uname -r ---查看当前系统使用的内核版本
uname -a
1)磁盘命名:磁盘类型+磁盘编码
sda hda
磁盘类型:并口盘(hd) 串口盘(sd)
磁盘编码:第一块(a) 第二块(b)
2)分区命名:磁盘类型+磁盘编码+分区编号
sda1 sda2
磁盘类型:并口盘(hd);串口盘(sd)
磁盘编码:第一块(a);第二块(b)
分区编号:第一个主分区(1);第二个主分区(2);第一个逻辑分区(5)
制作文件系统:Windows下的格式化:FAT、FAT32、NTFS、exFAT
linux下使用的文件系统类型(格式化类型):ext4、ext3、ext2、xfs、vfat
linux下的设备都当做文件在使用。一个分区不能直接使用,必须和某个文件夹建立关联关系,向文件夹中存入数据,实质上就是存放到分区中,这个过程称为挂载。
分区(sda1)------>设备文件(/dev/sda1)-------->挂载使用(空目录作为挂载点)
倒置树状)
/分区
swap分区:交换分区,相当于Windows中的虚拟内存,当真实内存不够用时,在硬盘上划分一块空间当做临时内存使用。
将真实内存中的非活动的数据置换到硬盘上,一旦使用到了swap分区,机器的性能就下降了,原因硬盘的速度比内存慢。合理值是真实内存的1.5-2倍。
交换分区,相当于Windows中的虚拟内存,当真实内存不够用时,在硬盘上划分一块空间当做临时内存使用。
将真实内存中的非活动的数据置换到硬盘上,一旦使用到了swap分区,机器的性能就下降了,原因硬盘的速度比内存慢。合理值是真实内存的1.5-2倍。
Security-Enhanced Linux简称SELinux,它是一个Linux内核模块,也是Linux的一个安全子系统。
相较于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区域(zone)的概念。
简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。
顶级目录:/
一级子目录:
/root:管理员root的家目录
/home:存放普通用户的家目录
/proc:内存相关数据
/lib:库文件
/etc:存放系统配置文件
/dev:存放设备文件
/boot:存放系统的启动文件
/run:系统运行相关文件
/usr:第三方软件的默认安装位置
/usr/bin:存放的是所有系统用户都可以执行的命令的可执行文件
/usr/sbin:存放的是只有管理员可以执行的命令的可执行文件
/mnt:存放分区的挂载点
/media:通常作为光驱的挂载点
/tmp:临时目录,存放临时文件
/var/log:存放系统日志(/var/log/messages:错误日志)
/var/lib :存放系统正常运行时要改变的文件。
2)、查看当前机器各个终端登录的用户
# who
# w ---更详细
1)Linux系统本地有6个终端(控制台)
终端间切换 Alt+F1-F6,默认登录的第一个用户在Alt+F1上
2)查看当前终端
# tty
# pwd
白色:普通文本文件
绿色:可执行文件
蓝色:目录
金黄色:设备文件
青绿色:软链接(相当于Windows下的快捷方式)
红色:包文件(软件包、打包文件、压缩文件)、错误文件
粉色:socket文件(套接字文件)
备注:关机与重启只能管理员或者管理员授权的用户
关机:
shutdown now ---立刻关机
halt -p ---关机并关闭电源
shutdown -h 5 ---5分钟后关机(shutdown -c 取消关机或重启操作)
init 0 ---通过修改计算机的运行级别实现关机
重启:
reboot
shutdown -r 5 ---5分钟后重启
init 6 ---通过修改计算机的运行级别实现重启
注销:
exit
logout
Ctrl + d(快捷键)
0 ---关机级别
1 ---单用户级别(相当于Windows的安全模式,只能管理员登录)
2 ---多用户,无网络
3 ---多用户,有网络,是字符界面的默认登录级别
4 ---测试级别
5 ---图形界面
6 ---重启级别
emergency ---救援模式
临时切换运行级别:init 数字编号
查看当前的默认运行级别: systemctl get-default
1)cd ---切换工作路径
用法:
1. cd 目标路径 ---切换到指定路径 例: cd /etc --- 切换到/etc/下
2. cd .. ---返回父目录(..代表父目录,.代表当前目录)
3. cd - ---返回上一次所在的工作路径
4. cd ---返回家目录
2)ls ---列示目录下的内容
用法:
ls -选项 参数
选项:
1. ls -l ---查看目录下内容的长格式,ll功能同ls -l
第一列第一格:文件类型
l:软链接 d:目录 c:字符设备(顺序读写:光盘、磁带) b:块设备(随机读写:磁盘)
-:普通文件 s:套接字文件
2. ls -lh ---文件大小按照人性化输出显示,自动换算单位
3. ls -a ---查看目录下的所有文件,包括隐藏文件(以.开头的文件)
补充:
# history ---查看缓存中历史命令
# !编号 ---再次执行某一条历史命令
# cat / root/.bash_history ---查看本次登录以前的历史命令
4. ls -ld ---显示某个目录的属性信息
5. ls -R ---递归显示目录下的内容
6. ls -i ---显示文件的i节点编号
3)tree ----树状的形式列出目录内所有文件的结构(8.0以上OS使用)
4)创建/删除目录
mkdir ---创建空目录
用法:
mkdir -p a/b/c ---创建多级子目录
mkdir -m 777 test ---创建目录同时赋权
补充:目录的默认权限为755,即rwxr-xr-x
文件的默认权限为644,即rw-r--r--
rm -rf ---删除目录
rmdir ----删除空目录
-r :递归删除目录
-f :强制不询问(force:强制)
1)创建文件
1. touch ---修改文件的时间戳,当文件不存在则创建,通常用作创建空文本文件
用法:
touch f1 f2 f3
2. 输出重定向(>:覆盖 >>:追加)
用法:
命令 > 文件名 echo aaaaaaaa >f3
命令 >> 文件名 who >>f3
2)查看文件内容
1. cat ---查看文本文件内容
用法:
cat -n 文件名 ---显示文件内容并显示行号
2. more less ---分屏显示
用法:
more 文件名
向下翻页:空格 向上翻页:b 回车:向下翻行 退出:q
less 文件名
向下翻页:空格 向上翻页:b 退出:q
搜索:键入/关键字 ,n 查找下一个,N查找上一个
3)删除文件
rm -rf 文件名
文本编辑器(VIM)
用法:vim 文件名
三种工作模式的切换:
a.进入命令行模式:vim 文件名
b.命令行模式---》插入模式(编辑模式):键入i/o/a
c.插入模式---》命令行模式:键入ESC
命令行模式保存退出 ZZ快捷键,不保存退出ZQ快捷键
d.命令行模式---》末行模式:键入 : (shift+;)
末行模式保存退出 :wq,强制不保存退出 :q!
显示行号 :set nu ,取消行号显示 :set nonu
head/tail ---查看文件的前几行或后几行
用法:
head -n 2 文件名 ---查看文件前两行
head -n +2 文件名 ---查看文件前两行
head -2 文件名 ---查看文件前2行
head -n -2 文件名 ---不显示文件的后两行
tail -n 2 文件名
tail -n -2 文件名
tail -2 文件名 ---查看文件后2行
tail -n +2 文件名 ---从第二行开始显示直到文件尾(包括第二行)
tail -f /var/log/messages ---动态查看日志文件内容
head -n4 passwd | tail -n1 ---查看文件的第四行
tail -n +4 passwd | head -n1 ---查看文件的第四行
tail -n +3 f1 | head -n3 ---从文件的第三行起查看三行
备注:head、tail不仅可以查看文件内容,还可以查看命令结果内容
w | tail -n +3
df -h | tail -n +2 去掉标题行
1)、查看二进制文件位置:whereis 命令
strings 文件名
2)、查看文件类型
file 文件名 (ASCII:文本文件)
stat 文件名
1)复制
语法格式: cp -选项 要复制的文件 目标路径
选项: -r :递归复制目录
-p :保留文件的原有属性
示例:
cp f1 /mnt ---将当前目录下的f1复制到/mnt下,不改名
cp f1 /mnt/f2 ---将当前目录下的f1复制到/mnt下,并改名为f2
2)移动
语法格式: mv -选项 要移动的文件 目标路径
示例:
mv f1 /mnt ---将当前目录下的f1移动到/mnt下,不改名
mv f1 /mnt/f2 ---将当前目录下的f1移动到/mnt下,并改名为f2
mv -v f1 /mnt/f2 -v 显示详细动作
备注:mv特殊功能:重命名
软链接(符号链接):相当于Windows下的快捷方式,通过源文件名间接的指向存储空间,源文件删除或改名,链接文件不可用,软链接与源文件占用不同的i节点。
ln -s 源文件 链接文件
例: ln -s f1 s1 必要情况可以写源文件的绝对路径,保证,移动软链接,软链接仍可用。
硬链接:硬链接文件与源文件同时指向存储空间,相当于一块存储空间的多个文件名,删除或重命名源文件不影响硬链接的使用,硬链接与源文件占用相同的i节点。
ln 源文件 链接文件
例: ln f1 h1
1)date ---查看系统时间
date +"%F %T" ---重新格式化时间显示,显示为年-月-日 时:分:秒
2)tzselect ---交互式修改时区
3)timedatectl ---查看时间及时区
timedatectl set-ntp false ---将时间同步关闭
timedatectl set-time "年-月-日 时:分:秒" ---修改时间(永久修改)
timedatectl set-ntp true ---将时间同步开启
4)临时修改系统时间:date "月日时分年" ---两位数显示
23、Linux系统下的特殊符号(*&^$...
1)*:通配符,代表多个任意字符
例: rm -rf f* ---删除文件名以f开头的所有文件
?: 单配符,代表任意一个字符
2)\:转义符,将其后的特殊符号的特殊意义去掉
例:mkdir \*
rm -rf \*
3)| :管道符,前后各一个命令,前一个命令的输出当做后一个命令的输入
例:cat /etc/services | less
4)>、>>:输出重定向,将命令输出重定向到文件中
例:echo >f1 ---清空f1文件内容
5)<:输入重定向,将文件的内容通过重定向交给命令去处理
例:write root tty2 < /etc/fstab
6)命令连接符,用于连接命令
; --- 命令依次执行
&& ---前一个命令执行成功,才执行后一个命令
|| ---前一个命令执行失败,才执行后一个命令
7)&:后台执行符
命令 & ---将命令调到后台运行
例:sleep 1000 &
8)$:变量提取符、普通用户身份符
例:x=123 ---声明变量x,并赋值123
echo $x ---将变量值显示到屏幕
9)单引号、双引号、反单引
' ' :引用字符串,单引不识别特殊符号
" " :引用字符串,双引可以识别特殊符号
例:x=123
echo '$x' ---显示$x
echo "$x" ---显示123
` ` :反单引中内容当做命令执行
例:echo "time is `date`"
1、man手册 ---查看命令的详细帮助文档 例:man 命令
2、info 命令 ---查看命令超详细帮助文档
3、命令 --help ---查看命令的简要帮助文档
25、查找命令的可执行文件位置
1、whereis ---查看命令的可执行文件位置、帮助文档、源码位置
whereis 命令
2、which ---查看命令的可执行文件位置(包括命令别名)
which 命令
alias ---查看系统中所有命令别名
alias 别名="原命令" ---定义别名
unalias 别名 ---取消别名
语法格式: find 查找范围 查找方式 参数
1)按照文件名字查找
find 范围 -name 文件名 例:find ./ -name file
2)按照文件类型查找
find 范围 -type 文件类型 例:find /etc -type l
备注:文件类型包括
f:普通文件
l:软链接文件
d:目录
c:字符设备
b :块设备
3)按照文件大小查找文件
创建指定大小的文件:dd if=/dev/zero of=文件名 count=次数 bs=单次大小
find 范围 -size 文件大小
例:find ./ -size 100M ---当前目录下查找大小为100M的文件
find ./ -size +100M ---当前目录下查找大于100M的文件
find ./ -size +100M -size -300M ---当前目录下查找大于100M小于300M的文件
find ./ -empty ---当前目录下查找空文件
4)按照文件属主属组查找文件
find 范围 -user 用户名 ---按文件属主查找 例:find / -user aa
find 范围 -group 组名 ---按文件属组查找 例:find / -group aa
find 范围 -uid/gid uid号/gid号 ---按文件的UID/GID查找文件 例:find / -uid 1000
5)按文件的更改时间查找
find 范围 -newer 文件名
例:find ./ -newer f1 ---当前目录下查找比f1文件更改时间更新的文件(主要指更新过的时间戳(touch))
find 范围 -anewer 文件名
例:find ./ -anewer f3 ---当前目录下查找比f3访问时间更新的文件 (a:access 访问)
注意:如果不在当前路径下,查找要写绝对路径
find 范围 -cnewer 文件名
例:find ./ -cnewer f2 ---当前目录下查找比f2状态更改时间更新的文件(c:change 改变 ,主要指更新过文件的权限、属主/组等)
6)按时间段查找文件
find 范围 -amin +时间段
例:find ./ -amin +30 ---查找当前目录下30分钟前访问过的文件(a:access)
find 范围 -mtime -天数
例:find ./ -mtime -1 ---当前目录下查找一天内修改过的文件(m:modify 修改文件内容)
find 范围 -ctime +天数
例:find ./ -ctime +1 ---当前目录下查找一天前状态修改过的文件(c:change )
find 范围 -used -2 ---查找两天内使用过的文件
find 范围 -used +2 ---查找2天前使用过的文件
7)按文件系统查找
find 范围 -name 文件名 -fstype 文件类型
例:find /etc -name passwd -fstype ext4
find /etc -name passwd ! -fstype ext3
8)按权限查询
find ./ -perm 777 ---当前目录下查找权限值为777 的文件(permission:权限)
9)找到文件后,执行后续操作
find ./ -name f2 -exec rm {} \; ----在当前目录下查找文件名为f2的文件,找到后删除
find ./ -name f2 | xargs rm -rf
find ./ -name f3 -exec file {} \; ---在当前目录下查找文件名为f3的文件,找到后确定文件类型
find ./ -name f3 | xargs file
grep
功能:可以使用正则表达式抓取带有关键字的行
语法格式:
grep -选项 关键字 文件名
命令 | grep -选项 关键字
选项:
-i ---忽略大小写
-n ---显示抓取的行在文件或命令结果中的行号
-c ---显示带有关键字的行的行数
-r ---递归抓取
-v ---抓取不带关键字的行(取反)
正则表达式:用于限定关键字的特殊符号
^:匹配以某个字符开头的行(行首)
$:匹配以某个字符结尾的行(行尾)
\<:匹配以某个字符开头单词的行(单词首)
\>:匹配以某个字符结尾单词的行(单词尾)
[ ]:单个字符逐一匹配,^[AD]---以A或者D开头的行,^[A-Z] ---以大写字母开头的行
. :单配符,代表一个任意字符
备注:egrep是grep的升级版,使用grep -E 等同于使用egrep 。
egrep功能:支持多个正则表达式
1. egrep支持()限定正则表达式 例:egrep "(^b | ^c)" f1
egrep支持 | 代表或关系
2. egrep支持使用?与 +
?:匹配0次或1次正则表达式
+:匹配1次或多次正则表达式
3. 连续匹配关键字egrep不需要加\(转义字符)
grep -n 'o\{2\}' /etc/passwd
egrep -n 'o{2}' /etc/passwd
2、cut (列必须对称)
功能:截取指定列
语法格式:
cut -选项 文件名
命令 | cut -选项
选项:
-d ---指定分隔符
-f ---指定截取位数
示例:
cut -d ":" -f 1,3 /etc/passwd ---截取文件的第1列与第3列
cat /etc/passwd | cut -d ":" -f 1 ---截取/etc/passwd 文件中的第一列
ifconfig ens33 | grep inet | head -n 1 | cut -d " " -f 10 ---截取ens33网卡的IP地址
3、sed
功能:使用正则表达式提取带有关键字的行、删除行、替换关键字
1)提取带有关键字的行
语法格式:sed -选项 '/关键字/' 文件名
命令 | sed -选项 '/关键字/'
选项:
-n :取消默认输出,只显示经过sed处理的行
-e :多点编辑,可以在一条sed命令中执行多个处理
-p : 打印到屏幕
例:
sed -n -e '/test/p' -e '/TEST/p' f1
2)删除行
1. 删除指定行(数值和正则表达式限定)
语法格式:
sed -选项 1d 文件名 (1,3d 3,$d)
命令 | sed 1d
2. 删除带有关键字的行
语法格式:
sed -选项 '/关键字/d' 文件名
命令 | sed '/关键字/d'
选项: -i ---将sed程序内存空间(模式空间)数据重定向到源文件(即直接修改源文件的内容)
3)替换
语法格式:
sed -i 's/搜索关键字/替换关键字/g' 文件名
例子:
sed -i 's/enforcing/disabled/g' /etc/selinux/config
4、awk
功能:使用正则表达式抓取带有关键字的行、指定行号的行、截取所需列
语法格式:
1)提取行
提取带有关键字的行
awk '/关键字/' 文件名
命令 | awk '/关键字/'
提取指定行号的行
awk NR==行号 文件名
命令 | awk NR==行号 例:df -h | awk NR==2
2)提取列
以空格分隔的列
awk '{print $1,$3}' 文件名
命令 | awk '{print $1}'
不以空格分隔的列
awk -F ":" '{print $1}' 文件名
命令 | awk -F ":" '{print $1}'
备注: -F ---指定分隔符
例:
awk -F ":" '{print $1}' /etc/passwd
cat /etc/passwd | awk -F ":" '{print $1}'
3)截取命令中包含关键字所在行的列
命令 | awk '/关键字/ {print $列}'
4)截取命令中包含关键字所在列的行
命令 | awk '$列 ~/关键字/'
备注:~ ---包含
!~ ---不包含
5)截取命令中包含关键字所在行并显示行号
命令 | awk '/关键字/ {print NR,$0}'
5、sort
功能:排序
语法格式:
sort -rn -t 分隔符 -k 排序列 文件名
命令 | sort -rn -t 分隔符 -k 排序列
备注: 若文件或命令结果使用空格分隔的列,不需要使用-t
选项:
-r ---倒序
-n ---排序列当做数值处理
-t ---指定分隔符
-k ---指定排序列
-u ----去掉重复值
例:
tail -n 5 /etc/passwd | sort -rn -t ":" -k 3
df -h | sort -rn -k 5
6、wc
功能:统计文件或者命令结果中的行数、单词数、字节数
语法结构:
wc -选项 文件名
命令 | wc -选项
选项:
-l ---统计行数(line)
-w ---统计单词数(word)
-c ---统计字节数
1)lsblk ---查看系统中的块设备信息
lsblk -f ---查看系统中的块设备信息、UUID,并显示分区的格式化类型(文件系统类型)
2)df -h ---查看每个已经挂载分区(文件系统)的使用情况
3)fdisk -l 磁盘设备文件名 ---查看磁盘的分区表信息
4)blkid 查看磁盘UUID,并显示分区格式化类型
30、磁盘管理流程及命令(永久挂载光盘)
1)修改/etc/fstab文件
卷标/设备文件/UUID 挂载点 文件系统类型 挂载权限 是否允许备份 是否做开机自动磁盘检测
1:备份 1:/分区自动检测
0:不备份 2:非/分区自动检测
0:不检测
例:/dev/sdb1 /mnt/d1 ext4 defaults 1 2
/dev/sdb2 /mnt/d2 vfat defaults 1 2
/dev/sr0 /media iso9660 defaults 0 0 ----永久挂载光盘(/dev/cdrom 是/dev/sr0的软链接)
注意:第三列文件系统类型一定要与mkfs格式化时类型一致;
/etc/fstab文件书写有问题,重启后将进入紧急模式,输入管理员密码,修改改文件错误信息,再重启
2)验证开机自动挂载
1. # reboot
2. # mount -a ---重新加载/etc/fstab文件中除swap类型的记录
备注:若使用分区工具创建好了分区,但是在lsblk中不显示分区信息,可以使用如下命令重新加载分区表
# partprobe
31、swap 管理流程
1)查看swap分区的使用情况
# free -h
2)创建swap分区
# fdisk /dev/sdb
2G 修改ID为 82 (dos分区;GPT分区表system id :14)
3)制作swap文件系统
# mkswap /dev/sdb3
4)将分区swap功能开启
# swapon /dev/sdb3 ---开启
# swapoff /dev/sdb3 ---关闭
5)实现分区swap功能开机自动开启
编辑/etc/fstab
# vim /etc/fstab
/dev/sdb3 swap swap defaults 0 0
# swapon -a ---验证
swap挂载点是它本身
逻辑卷管理器,解决了基本分区下磁盘不能扩容的问题。
2、LVM的原理(概念)
1)PV :物理卷,使用pvcreate将物理分区或物理磁盘转换成PV;
2)VG:卷组,多个PV的集合;
3)LV:逻辑卷,LV的空间使用从VG中划分的,对LV的空间进行制作文件系统并挂载使用;
4)PE:物理块,将PV加入至卷组中时,PV的空间将按照等大小的单元划分成N多存储块,该存储块称为PE;
5)LE:逻辑块,卷组中的PE被LV占用时则称为LE,LE是PE在LV中的映射;
33、LVM 管理流程及命令
1)划分分区
修改分区的系统ID为8e
2)转换成PV
# pvcreate 分区/磁盘的设备文件
例: # pvcreate /dev/sdb[1-2]
# pvs ---查看所有PV简要信息
# pvdisplay ---查看所有PV的详细信息
3)创建VG并加入PV
# vgcreate 卷组名 PV名 ---创建VG并加入PV,PE大小默认4M
例:# vgcreate testvg /dev/sdb1
# vgcreate -s PE大小 卷组名 PV名 ---创建VG并加入PV,PE大小自定义
例:# vgcreate -s 8M testvg /dev/sdb2
# vgs ---查看所有VG的简要信息
# vgdisplay ---查看所有VG详细信息
4)划分LV
# lvcreate -L LV大小 -n LV名 VG名
例: # lvcreate -L 3G -n testlv testvg
备注: -L 指定LV大小 -n ---指定LV名
# lvs ---查看所有LV的简要信息
# lvdisplay ---查看所有LV详细信息
5)制作文件系统,挂载使用
# mkfs.ext4 LV设备文件
# mkfs.ext4 /dev/testvg/testlv
# mkdir /mnt/lv
6)设置LV开机自动挂载
# vim /etc/fstab
/dev/testvg/testlv /mnt/lv ext4 defaults 0 0
# mount -a
4、LV的扩容
1)LV扩容流程
查看VG的剩余空间,若VG空间不足先扩容VG,再扩容LV
2)命令
1. 查看剩余空间
# vgs ---查看VG剩余空间
2. 扩容VG
# vgextend 卷组名 PV名 ---扩容卷组
# vgextend testvg /dev/sdd1
3. 扩容LV
a. LV扩容与文件系统扩容一步完成
# lvextend -L +2G -rf /dev/testvg/testlv ---LV扩容与制作文件系统一步完成
b. LV扩容与文件系统扩容分步完成
# lvextend -L +2G /dev/testvg/testlv ---只进行了LV扩容,df -h没有增加,原因扩容空间无文件系统
# resize2fs /dev/testvg/testlv ---重置LV的文件系统(LV原文件系统是ext4)
# xfs_growfs /dev/testvg/testlv ---重置LV的文件系统(LV原文件系统是xfs)
5、删除LVM
1)卸载LV
# umount /mnt/lv
2)删除LV
# lvremove /dev/testvg/testlv
3)删除VG
# vgremove testvg
4)去掉分区或磁盘的PV标签
# pvremove /dev/sd[b-d]1
5)清除/etc/fstab中关于LV的记录
34、镜像 LV 和条带 LV 管理
1)、raid原理
raid 0 和 raid 1
2)条带LV
# lvcreate -l 100%FREE -i PV数量 -I 条带大小 -n LV名 卷组名
# lvcreate -L lv大小 -i PV数量 -I 条带大小 -n LV名 卷组名 ----创建指定大小的条带LV
3)镜像LV
1. 创建LV同时创建镜像
# lvcreate -m1 -L 1.5G -n LV名 卷组名
2. 创建一个普通LV,然后再转换成镜像LV
# lvcreate -L 1.5G -n LV名 卷组名
# mkfs.ext4 LV的设备文件
# mkdir /mnt/lv
# mount LV的设备文件 /mnt/lv
# echo aaaaaaaaaaa >/mnt/lv/file1
3. 将LV转换成镜像LV
# lvconvert -m 1 LV的设备文件 镜像添加到的PV
注意:镜像到的PV必须与LV在同一VG中
软件包名-版本号.架构.rpm
架构:x86_64,i386,noarch
1、RPM包的命名结构
1)软件名
2)版本号
3)架构
4)扩展名.rpm
2、查看系统光盘镜像中的软件包
1)检查系统镜像是否在虚拟机光驱中
2)创建光盘挂载点
# mkdir /mnt/cdrom
3)挂载光驱
# mount /dev/cdrom /mnt/cdrom 或者 # mount /dev/sr0 /mnt/cdrom
4)进入光驱挂载点下的Packages
# cd /mnt/cdrom/Packages
# ls
3、rpm命令管理软件包
1)安装
# cd /mnt/cdrom/Packages
# rpm -ivh 软件包全名
# rpm -ivh 包全名 --prefix=目标路径 ---安装软件包指定安装路径
2)更新
# rpm -F 软件包全名 ---只更新
# rpm -U 软件包全名 ---更新,若软件包不存在则安装
3)卸载
# rpm -e 软件名
4)查询
# rpm -qa ---查看系统中安装过得所有软件包
# rpm -qa | grep 软件名 ---查询某个软件包是否安装过
# rpm -qi 软件名 ---查看软件详细信息
# rpm -ql 软件名 ---查看软件的安装路径
# rpm -qf 目录/文件名 ---查看某个文件或目录是安装了哪个软件产生的
# rpm -qc 软件名 ---查看软件的配置文件路径
备注:rpm的缺点不能解决软件之间的依赖关系
4、yum命令管理软件包
1)yum特点
可以自行解决依赖关系;
C/S架构,客户端可以从服务器端下载并安装软件;
2)使用本地光盘镜像作为资源池
1. 检查镜像文件是否在光驱中
2. 挂载光驱,制作目录资源池
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom
3. 书写客户端yum源配置文件
a. 备份原有网络源文件
# cd /etc/yum.repos.d
# mkdir back
# mv C* back
b. 编辑客户端源文件
# vim my.repo
[ly] ---源标识,安装软件可以显示从哪个资源池下载
name=cdrom ---源名字,相当于备注
baseurl=file:///mnt/cdrom ---指定yum资源池位置
enabled=1 ---是否开启该资源池,1 开启,0 关闭
gpgcheck=0 ---是否进行数字签名验证,0 不验证,1 验证
4、清理yum缓存
yum clean all
重新生成yum 元数据缓存
yum makecache
3)yum管理命令
1. 安装
yum -y install 软件名
yum -y groups install 软件组名
yum --enablerepo=源名称 install 软件包名 -y ---指定源下载软件包
2. 卸载
yum -y remove 软件名
yum -y groups remove 软件组名
yum autoremove 包名 -y ---删除软件包同时卸载依赖包
3. 更新
yum -y update/upgrade 软件名
yum -y groups update/upgrade 软件组名
注意:upgrade :更新所有软件包,包括内核 (yum -y upgrade)
4. 查询
:w ---查看本机当前可用的资源池(元数据)
yum info 软件名 ---查看软件包的详细信息
yum groups info 软件组名 ---查看软件组的详细信息
yum list ---查询资源池下的所有软件包
yum group list ---查询资源池下的所有软件组
yum search 关键字 ---根据关键字查询软件包
1) 备份策略
完全备份:备份所有数据。
增量备份:备份上一次备份后发生变化的数据。
差异备份:备份上一次完全备份后发生变化的数据。
2)备份级别:最多0-9级。0级别完整备份;1级别差异备份;增量备份主要看上次一备份的级别。只有在备份整个分区或整块磁盘时,才能
支持1-9的增量级别。如果只备份某个文件或不是分区的目录,则只能使用0级别进行完整备份。
3)备份、恢复实验
1)安装dump命令
yum -y install dump
2) 备份boot分区、/home目录
dump -0uf /dev/sdb1 /boot ---备份boot分区
dump -0uj -f /root/boot.bak.bz2 /boot ----备份boot分区成备份文件,并压缩成bzip2格式的压缩文件
dump -1uj -f /root/boot.bak.bz2 /boot ----当boot分区内容发生变化,使用1级别进行增量备份。
dump -0f /dev/sdb2 /home ---备份非分区目录
恢复非分区目录时,若出现多级目录,则到该目录的父目录进行恢复。
注意:-u 每次使用dump备份文件系统,会将备份信息记录到/etc/dumpdates中,常用于备份文件系统,不用于备份目录
实现差异备份的方法:先试用0级别完整备份一次,以后的每次备份使用1级别进行备份。
3)查看备份存储设备上的数据
restore tf /dev/sdb1
4)恢复(注意恢复路径)
restore rf /dev/sdb1 ---将/dev/sdb1中数据恢复到当前路径
restore xf /dev/sdb1 文件名 ---从sdb1上恢复个别文件
键入 1 ,n
5)查看分区的备份信息
dump -W (其中level可查备份级别) 或者 cat /etc/dumpdates
压缩
1)gzip 文件名 ---压缩
gunzip 压缩文件名 ---解压缩
2)bzip2 文件名 ---压缩
bunzip2 压缩文件名 ---解压缩
3)xz 文件名 ---压缩
unxz 压缩文件名 ---解压缩
备注:以上命令只能压缩文件不能压缩目录
压缩率比较:bzip2 >gzip >xz
4)zip
zip -r test.zip 文件名/目录名 ---压缩
unzip test.zip ---解压缩
打包压缩一步完成
1)tar调用gzip与gunzip
tar cvfz test.tar.gz 目标文件/目录 ---打包压缩(文件以.tgz结尾)
tar xvfz test.tar.gz ---解包解压缩(可以-C指定解包解压缩路径)
2)tar调用bzip2与bunzip2
tar cvfj test.tar.bz2 目标文件/目录 ---打包压缩(文件以.tbz2结尾)
tar xvfj test.tar.bz2 ---解包解压缩
3)tar调用xz与unxz
tar cvfJ test.tar.xz 目标文件/目录 ---打包压缩(文件以.txz结尾)
tar xvfJ test.tar.xz ---解包解压缩
一、用户管理
1、Linux系统中用户所属组的类型
初始化组(私有组):用户必须有且仅有一个初始化组,创建用户时不指定系统会创建一个与用户名同名的组作为其初始化组
该用户创建文件的属组即为其初始化组。
附加组(标准组):相当于Windows下的普通应用组,用户可以有可以没有,也可以同时拥有多个附加组。
2、用户和密码的配置文件
存放用户的文件:/etc/passwd
存放用户密码的文件:/etc/shadow
3、用户管理命令
1)创建用户(只有管理员或者管理员授权用户可以创建用户)
语法格式:useradd /adduser -选项 用户名
选项:
-d 路径 ---指定家目录
-g 组名/GID ---指定初始化组
-G 组名/GID ---指定附加组
-u 数值 ---指定用户UID
-s shell路径 ---指定用户使用的shell
练习:创建用户bb,UID为2001,初始化组为root,家目录在/mnt/aa,使用的shell为/sbin/nologin
2)设置/修改密码
# passwd 用户名 ---管理员修改普通用户密码
# passwd ---管理员修改自己的密码
$ passwd ---普通用户修改自己的密码
# echo "linux" | passwd --stdin 用户名 ---管理员为用户明文设置密码
3)修改用户信息
usermod -l 新名 原名 ---重命名
4)删除用户
userdel -r 用户名 ---删除用户并删除该用户所有数据(家目录/邮箱)
功能:拷贝数据的同时可以进行数据格式的转换
语法格式:
dd if=输入文件 of=输出文件 bs=每次转换大小 count=转换次数
Linux下的两个特殊设备:
/dev/zero:c
/dev/null:位桶,想忽略标准输出或者标准错误可以重定向到位桶
dd命令的解释
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
参数注释:
1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
8. conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
1、组配置文件
/etc/group 组名 组密码 组ID 组成员
/etc/gshadow 组名 组密码 组管理员 组成员
2、创建组
groupadd 组名
groupadd -g 数值 ---指定组ID(GID)
3、gpasswd 组名 ---给组设置密码
4、查看用户组信息
id 用户名
5、修改用户组信息
usermod -g 组名/GID 用户名 ---修改用户的初始化组(私有组)
usermod -G 组名/GID 用户名 ---指定用户附加组
usermod -aG 组名/GID 用户名 ---增添用户的附加组(标准组)
gpasswd -A 管理员 -M 组成员 组名 ---将用户添加到组,并指定管理员
gpasswd -A 管理员 组名 ---指定组的管理员
gpasswd -M 组成员 组名 ---覆盖组中成员
gpasswd -a 用户名 组名 ---将用户添加到组
gpasswd -d 用户名 组名 ---将用户从组中删除
6、删除组
groupdel 组名
修改文件或目录权限
1、特殊权限(set 位)
1)SUID(冒险位、危险位):针对可执行文件设置该权限,当其他人执行可执行文件时,以该可执行文件的属主身份执行该文件
在可执行文件的所有者的权限上赋值s
赋值方法:chmod u+s 可执行文件名 chmod u-s 可执行文件名(去掉SUID权限)
chmod 4755 可执行文件名 chmod 0755 可执行文件名(去掉SUID权限)
例:让普通用户可以cat /etc/shadow
acl给特定用户/组针对特定文件/目录设置特定权限
1)给文件/目录设置acl权限
针对用户:setfacl -m u:用户名:权限 文件/目录
针对组: setfacl -m g:组名:权限 文件/目录
2)查看acl权限
getfacl 文件/目录
3)给目录设置递归的acl权限
目录下所有的文件和目录都有父目录的acl权限
setfacl -R -m u:用户名:权限 目录
setfacl -R -m g:组名:权限 目录
4)给目录设置继承的acl权限
保证随时添加文件或目录都有父目录的acl权限
setfacl -m d:u:用户名:权限 目录
setfacl -m d:g:组名:权限 目录
5)删除单条acl权限
针对用户:setfacl -x u:用户名 文件/目录
针对组: setfacl -x g:组名 文件/目录
6)清空全部acl权限
setfacl -b 文件/目录
7)修改mask默认权限(一般不修改,默认mask权限:rwx)
mask权限:最大有效权限。结合acl权限使用,将acl权限限制在mask权限内
setfacl -m m:权限 文件/目录
存储空间监控
1)du ---查看文件或目录占用磁盘空间的大小
du -选项 文件/目录名
选项:
-h --- 以1024进制进行单位换算,默认单元KB
-s --- 只显示目录占用磁盘的总空间 例:du -sh /etc
--inodes ---查看所用i 节点数量 例:查看当前目录所有文件的i节点占用数量 du --inodes /etc
2)df ---查看已挂载的文件系统的使用率
df -选项
选项:
-h ---以1024进制进行单位换算
-i ---查看文件系统i节点的使用率
-T --- 查看文件系统使用率和文件系统类型
3、内存空间的监控
1)free -选项
选项:
-h ---以1024进制进行单位换算
-m ---以1024进制换算成MB
-g ---以1024进制换算成GB
2)vmstat
vmstat 1 2 ---每隔1秒显示,一共显示2次
3)cat /proc/meminfo ----查看内存的详细信息
4) top ---综合查询查看内存信息
4、CPU使用率的监控
1)sar --- 10分钟取样一次
sar 1 2 ---每隔1秒统计一次,共统计两次
备注:
%user ---用户进程占用CPU的百分比
%nice ---改变过优先级的进程占用CPU的百分比
%system ---系统进程占用CPU的百分比
%iowait ---等待输入输出进程占用CPU的百分比
%steal ---虚拟化程序占用CPU的百分比
%idle ---CPU的空闲率
2)cat /proc/cpuinfo ---查看CPU的信息(vmx/svm)
3)lscpu ----查看CPU的详细信息
4)top ----综合查询
43、孤儿进程、僵尸进程;进程查看命令(pstree、ps)
孤儿进程:子进程正常运行,父进程由于某些原因终止了
僵尸进程:子进程退出时,父进程没有收集该子进程的状态信息,僵尸进程是占用内存不释放的
3)进程的查看命令
1. pstree ---以树状显示系统中进程的信息 yum search pstree
pstree -选项
选项: -p ---显示进程号
2. ps ---查看进程的详细信息和状态
常用参数组合:
ps ---查看当前终端正在运行的用户进程
ps ef ---查看所有终端正在运行的用户进程,常用该命令获取进程的PID
ps elf ---查看所有终端正在运行的用户进程,常用该命令获取进程的父进程号PPID
ps aux ---查看系统中所有进程的信息,显示每个进程占用系统资源的百分比,该命令常用于shell脚本后者日常巡检检测进程
1.查看系统中占用CPU最高的5个进程
ps aux | sed 1d | sort -rn -k 3 | head -n 5
2. 查看系统中占用内存最高的5个进程
ps aux | sed 1d | sort -rn -k 4 | head -n 5
3.抓取僵尸进程
ps aux | awk '$8 ~ /Z/'
top | head -n 2 | tail -n1 | awk '{print $10,$11}'
top
1)功能:动态查看系统情况
2)可查看信息:
第一行:显示系统时间、系统运行时间,用户数、系统平均负载(同uptime)
第二行:系统中所有的任务情况,运行的任务、休眠的任务、僵尸进程
第三行:CPU的使用率(同sar)
第四行:真是内存的情况(同free)
第五行:swap交换分区的使用情况(同free)
第七行:系统的进程信息(进程占用资源的百分比,同 ps aux)
3)top的内置命令
q ---退出
h ---帮助
空格 ---立刻刷新,默认3s
s ---修改刷新间隔
k ---杀掉一个进程
r ---定义一个进程的优先级
P ---CPU使用率逆序排列
M ---内存使用率逆序排列
b->x ---将某一列高亮显示,shift + 进行左右移动
7、其他查询
1)uptime ---查询系统不间断运行时间和系统平均负载
2)lsof ---显示进程打开的所有文件
lsof 文件名/目录名 ---显示指定文件或目录正在被哪个进程占用
lsof -i tcp:80 ---查看端口状态
lsof -i:80 ---查看TCP /UDP端口状态
8、进程的控制
1. kill
1)功能
对进程进行控制
2)kill的特点
不仅可以结束进程,还可以对进程进行暂停或继续;
kill针对的对象是进程PID;
kill执行相应的操作实际上是给进程的PID发送信号;
3)kill可使用的信号类型
kill -l
4)语法格式
kill -信号的编号/信号名 想要控制的进程的PID
例:结束PID为59599的进程
# kill -9 59599
kill -15 59599 -----正常退出进程
2. killall ---控制同名进程
killall -9 find ---结束所有find进程
注意: 优先级值的范围:-20到19 ,数字越小,优先级越高
1)进程的运行状态
前台运行:命令直接执行在前台,占用前台页面,运行过程可见,运行完毕才能进行其他操作。
后台运行:不占用前台页面,不争抢系统资源,运行过程不可见,运行完毕只返回一个结果。
后台挂起:后台暂停。
2)查看后台运行和挂起的任务
jobs
3)运行状态的调度
命令 ---前台运行
命令 & ---后台运行
1. 前台运行----》挂起 ---Ctrl z
2. 挂起---》前台运行 ---fg X(任务编号)
3. 挂起---》后台运行 ---bg X(任务编号)
4. 后台运行---》前台运行 ---fg X(任务编号)
备注: x为jobs显示结果中的任务编号
快速终止后台运行或暂停的进程:kill -9 /-15 %X(任务编号)
1、编写脚本 vim /root/a.sh
df -h >> /root/file
2、赋予脚本执行权限:chmod a+x /root/a.sh
3、赋予开机自动运行配置文件执行权限:chmod a+x /etc/rc.d/rc.local
4、将脚本追加至配置文件:echo "/root/a.sh" >> /etc/rc.d/rc.local
5、重启验证
48、设置和修改进程优先级
1)环境准备
# vim 1.sh
#!/bin/bash
while true
do
echo "hei" >>/root/f1
sleep 5
done
# chmod a+x 1.sh
# ./1.sh & ---优先级使用默认值
2)执行程序直接设置优先级
nice -优先级值 程序
# nice --20 ./1.sh &
3)修改进程优先级
renice 优先级值 PID
# renice 19 60652
1、at(一次性计划任务)
1)查看at的服务是否运行
systemctl status atd
备注:
1. 7.0及以后的系统服务管理命令
# systemctl start 服务名
# systemctl stop 服务名
# systemctl restart 服务名
# systemctl enable 服务名
# systemctl disable 服务名
2. 7.0以前的系统服务管理命令
# service 服务名 start/stop/restart
# chkconfig 服务名 on/off
2)制定at的计划任务
at 时间
at> 命令
at> ctrl d
支持的时间格式:
23:00
12012019
23:00 12012019
noon +3days ---中午
teatime +3weeks ---饮茶时间(一般是下午四点)
now
3)查看
atq ---查看at的计划任务列表
at -c 任务编号 ---查看at计划任务具体执行的命令
cat /var/spool/at/a00000XXXXX ---查看任务文件内容
4)删除
atrm 任务编号
rm -rf /var/spool/at/a0000XXXXX
5)at的配置文件
/etc/at.deny
/etc/at.allow
1. 两个文件都不存在,只有root可以使用at;
2. 只存在at.deny,在该文件内的用户不允许使用at;
3. 两个文件都存在,只看at.allow;
2、cron(周期性计划任务)
1)查看cron服务的状态
systemctl status crond
2)cron服务的配置文件
/etc/cron.deny和/etc/cron.allow ---限制使用的用户,限制方式同at
/etc/crontab ---说明了cron计划任务的格式
3)制定cron计划任务
crontab -e ---制定当前用户的计划任务
crontab -e -u 用户名 ---管理员制定普通用户的计划任务
4)查看cron计划任务列表
crontab -l ---查看当前用户的计划任务列表
crontab -l -u 用户名 ---管理员查看普通用户计划任务列表
5)删除cron计划任务列表
crontab -r ---清空当前用户计划任务列表
crontab -r -u 用户名 ---管理员清空普通用户计划任务列表
备注:若删除个别计划任务,只能进入编辑模式,使用dd快捷键删除指定行
6)cron中支持的时间格式
分 时 日 月 周 命令的绝对路径
例:
00 20 * * 1-5,7 /usr/bin/echo aaaaa >/mnt/f1 每周周一到周五,周末晚上八点执行echo命令
00 */2 * * * /usr/bin/wall
Linux系统的启动过程(centos7.0、Redhat7.0)
1)加载主板上的BIOS程序,加电自检,扫描所有硬件,收集硬件信息,检测硬件健康状况
2)根据BIOS收集硬件信息找到可引导设备,读取MBR(存放引导程序和分区表)
3)加载引导程序(OSLoader),Centos7.0后使用的为grub2
OSLoader主要功能将内核和虚拟磁盘文件加载到内存
4)读取引导程序的配置文件,显示grub2的选择菜单(让用户选择加载的内核)
软链接: /etc/grub2.cfg
源文件:/boot/grub2/grub.cfg
5)grub2将用户选择的内核(vmlinuz)和虚拟磁盘文件(initramfs)加载至内存
内核文件:/boot/vmlinuz.3.10.0-XXXX ----操作系统的核心程序
虚拟磁盘文件:/boot/initramfs.3.10.0XXX.img ---系统安装完成后自动生成的,存放着系统中硬件的驱动程序
6)grub2将系统的控制权移交给内核(kernel)
7)内核开始初始化所有的硬件,并且启动系统首进程(systemd),systemd会派生udev进程(udev的功能是将所有的设备识别为设备文件存放至/dev)
8)systemd开始初始化系统服务,并读取/etc/fstab,自动挂载文件系统
9)systemd 开始加载自定义的开机自启服务
10)进入登录界面
1)target称为目标单元,每个target中都包含多个子target和子服务,当系统需要启动到某个状态或级别时需要加载多个服务
但是系统不会逐个查找,而是将服务打包到target下,这样的话只需要加载目标单元即可将系统加载至某种状态。
2)系统中所有target 和服务文件的存放路径
/usr/lib/systemd/system
3)如何查看系统中的服务启动类型
1. systemctl status 服务名或进程名
systemctl status firewalld.service /firewalld
2. systemctl list-unit-files | grep 进程名/服务名
systemctl list-unit-files | grep firewalld/firewalld.service
1)查看系统默认启动级别
1. # systemctl get-default
2. # ll /etc/systemd/system/default.target
2)修改系统的默认启动级别
1. # systemctl set-default 运行级别.target
eg: # systemctl set-default graphical.target
2. # ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
3)临时切换运行级别
1. # init 运行级别编号(0-6)
2. # systemctl isolate 运行级别.target
# systemctl isolate graphical.target
3.通过grub2菜单切换运行级别
重启系统->在grub2菜单出现时按键盘上下键取消读秒->选中需要编辑的系统(第一个)->按e编辑,
在linux16字段后,添加:systemd.unit = 运行级别.target -> ctrl + x (multi-user.target /graphical.target)
4)修复默认启动级别实验
1. # systemctl set-default poweroff.target ---启动模式改为:开机即关机。可以达到开机就关机的效果,不能登录
2. 修复操纵
重启系统---》grub2选择菜单,上下箭头取消读秒---》选择第一个选项按e键编辑启动参数
在linux16开头的行,在行尾添加:systemd.unit=rescue.target
按Ctrl x继续启动,启动后将进入单用户模式,输入root密码后即可
# systemctl set-default multi-user.target
# reboot
实验过程:
1)删除grub2配置文件
# rm -rf /boot/grub2/grub.cfg
2)手动引导
1.判断boot和/分区
> ls ---查看磁盘和分区
> ls (hd0,msdos1)/ ---查看分区下的文件,该分区是boot分区
> ls (hd0,msdos2)/ ---该分区是/分区
2.加载Linux模块
>insmod /grub2/i386-pc/linux.mod
3. 指定当前目录为主目录
>set root=(hd0,msdos1)
4.手动加载内核与虚拟磁盘
>linux16 /vmlinuz-3.10.0.XXXX root=/dev/sda2
>initrd16 /initramfs-3.10.0XXXX.img
5. 启动
>boot
3)进入系统,重新生成grub2配置文件
# grub2-mkconfig > /boot/grub2/grub.cfg
# reboot ---验证
1.进入grub2选择菜单,修改启动参数
1)重启进入grub2选择菜单,上下箭头结束读秒,选择第一项,按e键进行编辑,找到linux16的行,在行尾添加rd.break后按Ctrl x继续启动
2)重新挂载根分区,将挂载权限修改为读写
# mount -o remount,rw /sysroot
# mount
3)切换工作路径到/bin/bash
# chroot /sysroot /bin/bash
4)清空语言环境设置,防止乱码
# unset LANG
5)重置root密码
# passwd
6)若系统中SELinux未关闭,新密码是无法识别,需要更新SELinux的标签
# touch /.autorelabel
7)退出当前shell,重启验证
# exit
# reboot
2. 使用启动盘, 进入troubleshooting进行密码破解
1)重启按F2进入BIOS界面,将CD-ROM或者USB修改为第一启动项(当前默认从硬盘启动),F10保存退出继续启动
2)显示安装菜单,选择第三项Troubleshouting,再选择rescue 开头项,选择continue ,OK
3)切换工作路径
# chroot /mnt/sysimage
4)修改密码(进入到#bash-4.2下)
# passwd root
5)退出并重启验证
# exit
# reboot
6)进入BIOS将启动顺序调整回来,将Hard Drive改为第一启动项
55、系统加固
1.明文加密
1) 修改/etc/grub.d/00_header
文件尾追加
cat << EOF
set superusers="用户名"
password 用户名 密码
EOF
2)重新生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
3)重启验证
2.密文加密
1)制作密文密码
grub2-mkpasswd-pbkdf2
2) 修改/etc/grub.d/00_header
文件尾追加
cat << EOF
set superusers=“用户名”
password_pbkdf2 用户名 密文密码 (第一步生成的密码从is后开始复制)‘’
EOF
3)重新生成grub配置文件
grub2-mkconfig >/boot/grub2/grub.cfg
4)重启验证
二、linux服务部分
1、查看、临时设置网络参数( ifconfig ip );永久设置网络参数
Ifconfig 网卡名 IP地址 按照ABC三类进行掩码设置
Ifconfig 网卡名 IP地址/24 自定义子网掩码
Ifconfig 网卡名 IP地址 netmask 255.255.255.0 自定义子网掩码
nmcli con 查看所有的网卡连接
nmcli con modify 网卡名 ipv4.address IP地址/掩码 ipv4.gateway 网关ip ipv4.dns dns的IP地址 ipv4.method manual(手动) connection.autoconnect yes 修改网卡连接的配置
nmcli con up 网卡名 激活一个连接
nmcli con del 网卡名 取消一个连接
服务端:dhcp-4.2.5
客户端:dhclient
修改配置文件/etc/dhcp/dhcpd.conf第81行,指定客户端绑定IP地址的mac,指定宇客户端固定绑定的IP地址
UDP 53 提供解析
TCP 53 主辅更新
TCP 20 数据传输
TCP 21 建立连接
ACSII:网页文件
Binary:二进制传输方式,可执行文件
服务器端:/etc/ssh/sshd_config
客户端:/etc/ssh/ssh_config
客户端向服务器的22号端口发起连接请求
服务器向客户端发送公钥
客户端使用该公钥对用户名和密码进行加密后上传至服务器端
服务器端对接收的数据与加密前的数据进行对比,对比成功后,客户端即可登录
客户端生成一对儿密钥对,将公钥发送至服务器端
服务器端使用公钥加密一串随机字符串,发送给客户端
客户端使用私钥解密后,并将解密后的内容发送给服务器端
服务器端对接收的数据与加密签进行对比,对比成功后,客户端既可以登录
将本地文件复制到远程主机:scp 本地文件 用户名@远程主机IP:存放位置
将远程主机上的文件复制到本地:scp 用户名@远程IP:文件位置 存放到本地的位置
客户端连接至服务器端的123端口,请求进行时间同步
服务器发送调校时间给客户端
客户端根据调校时间将时间调整为正确时间
服务器启动RPC(portmap)服务,再启动NFS服务
NFS向RPC中注册自己使用的通信端口
客户端RPC连接服务器端RPC,获取NFS的工作端口
客户端连接NFS端口进行连接,实现数据传输
客户端安装软件nfs-utils
创建挂载点/mnt/XXX
查看服务器端的共享目录:showmount -e 服务器IP/主机名
挂载服务器端共享目录:mount -t nfs 服务器IP/主机名:服务器共享目录 /mnt/xxx
查看挂载结果:df -h
Nginx:稳定、丰富的模块库、灵活的配置、低系统资源消耗、高并发、占用资源少、nginx逐渐替代Apache服务器
Apache:并发量低、维护工作量大
静态网站是最初的建站方式,浏览者所看到的每个页面都是由建站者上传到服务器上的一个html文件,网站每添加、删除、修改的页面都必须重新对服务器的文件进行一次上传下载
静态网站的内容相对稳定、容易被浏览器检索
静态网站没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
静态网页的交互性较差,在功能方面有较大的限制
交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后web发展的潮流
自动更新:无须手动更新HTML文档,便会自动生成新页面,可以大大节省工作量
因时因人而异:当不同时间、不同用户访问同一网址时会出现不同页面
主配置文件:/usr/local/nginx.conf/nginx.conf
日志文件存放位置:/usr/local/nginx.logs
主页文件存放位置:/usr/local/nginx/html
Nginx命令存放目录:/usr/local/nginx/sbin
netfilter内核空间:存储规则、过滤
iptables用户空间:用iptables命令编写规则
表:3个表 不同的表管理不同的链
链:多条规则组成的就是一个链,总共5个链
Iptables 表名 命令 链名 规则 动作
表名:nat、filter、mangle
命令:-L 列出指定链的规则(默认查看filter表中的规则)
-F 清除指定链/表中的规则
-N 自定义链
-X 删除自定义链
-P 设定默认策略
-Z 清空指定链中的所有技术
-t 指定表名
-A 添加一条策略
-D 清除某条规则
-I 插入一条策略
规则:-p 指定匹配的协议(tcp/udp/icmp)
-s 指定匹配的源地址
-d 指定匹配的目的地址
--sport 指定源端口或者端口范围
--dport 知名目的端口或端口范围
--icmp-type 指定icmp类型,可以使用iptables -p icmp -h查看icmp类型
-m multiport --source-port 指定15个以内的源端口
-m multiport --destination-port 指定15个以内的目的端口
动作:ACCEPT 允许通过
DROP 拒绝,并不告知对方
REJECT 拒绝,告知对方
MASQUERAD 伪装
SNAT 修改保重源地址(POSTROUTING)
DNAT 修改包中的目的地址(PREROUTING),对于端口转发、负载均衡、透明代理都是DNAT
为了支持新特性、新设备、新功能、旧版本内核中存在BUG
Linux系统采用的是模块化技术,这样的设计可以使得系统内核保持最小化,同时确保了内核的可扩展性和可维护性
某块华设计允许在需要时才将模块加载至内核,实现动态内核的调整,内核模块集中存放在/lib.modules下
Keepalived服务启动后,启动三个进程,keepalived主进程,负责对子进程的管理;vrrp子进程,每隔单位时间通过心跳线发送vrrp广播包给备机;healthchecker子进程,负责检查主机状态主机,一旦主机上的服务不可用,会将状态报告给vrrp。
减轻单台服务器的访问压力,可以根据实现制定号的负载均衡策略将客户访问分配给集群中
系统占用资源少,代码开源
为不同的应用程序提供数据的连接和传输
为上层应用程序提供运行和开发环境
消息型中间件:实现组件之间或应用程序之间的解耦,还可以实现数据的异步传输
缓存中间件:用于减轻数据库的压力,加速动态页面的访问
Web型中间件:一般会与Apache集成,Apache不能支持Java程序的,Tomcat支持java程序的,这样的话用户访问Java程序或者动态页面,可以由Tomcat辅助Apache进行处理;当用户访问静态页面Apache则直接响应。
rsync是一个远程数据同步工具,可以通过网络快速同步多台主机间的文件
远程拷贝目录,保证集群件数据同步
使用rsync算法来使用本地和远程之间的文件达到同步,只传送两个文件的不同部分,而不是每次都整份传送,速度快
打开一个TCP873端口,等待客户端连接,连接时,rsync server会检查口令是否相符,通过口令检查,可以开始进行文件传输,第一次连接完成时,会将整份文件传输一次,以后只需进行增量传输
Ssh基于口令的工作原理:
客户端发起申请请求连接服务器端,服务器端将公钥发送至客户端,客户端收到公钥后将用户名和密码进行加密传输到服务器端,服务器端使用私钥解密后对比是否正确,正确则连接成功可以进行文件传输,否则失败
将要共享的设备加入iscsi服务,创建luns
设定iqn,不同iqn中可以配置不同luns
根据iscsi启动器iqn配置iscsi目标器的iqn
常用的是FC-SAN,通过专有的FC网络(光纤)将SAN存储的硬盘空间映射给主机或服务器使用,实质上通过光纤网络使用远程服务器的因公安