七、Centos7软件包的安装
一、rpm软件包的管理
1、 命令格式:rpm [参数] 软件包
-i: 是install的意思, 安装软件包
-v: 显示附加信息,提供更多详细信息
-V: 校验,对已经安装的软件进行校验
-h: --hash 安装时输出####标记
2、rpm查询功能
用法:rpm -q(query) 常与下面参数组合使用
-a(all) 查询所有已安装的软件包
-f(file)系统文件名(查询系统文件所属哪个软件包),反向查询
-i 显示已经安装的rpm软件包信息,后面直接跟包名
-l(list) 查询软件包中文件安装的位置
-p 查询未安装软件包的相关信息,后面要跟软件的命名
-R 查询软件包的依赖性
3、 rpm包卸载和升级
用法:rpm -e(erase) 包名 (参数 --nodeps 忽略依赖)
二、YUM的使用
yum 是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包(与rpm的区别),无须繁琐地一次次下载、安装。
1、配置本地yum源文件:
[root@xiaoliu ~]# vi /etc/yum.repos.d/centos.repo # 必须以repo结尾
[centos7] #yum源名称,在本服务器上唯一的,用来区分不同的yum源
name= CentOS7 #对yum源描述信息
baseurl=file:///mnt #yum源的路径,提供方式包括FTP(ftp://...)、HTTP(http://...)、本地(file:///... 光盘挂载目录所在的位置)
enabled=1 #为1,表示启用yum源;0为禁用
gpgcheck=0 #为1,使用公钥检验rpm包的正确性;0为不校验
2.配置网络yum源文件:
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #wget 下载文件
3、yum的使用
yum常用操作:
[root@xiaoliu ~]# yum install -y httpd #安装软件包, -y 直接安装
[root@xiaoliu ~]# yum -y update #升级软件包,改变软件设置和系统设置,系统版本内核都升级
[root@xiaoliu ~]# yum -y upgrade #升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变
[root@xiaoliu ~]# yum -y update # 不加任何包,表示整个系统进行升级
[root@xiaoliu ~]# yum info httpd #查询rpm包作用
[root@xiaoliu ~]# yum provides /usr/bin/find #查看命令是哪个软件包安装的
[root@xiaoliu ~]# yum -y remove 包名 #卸载包
[root@xiaoliu ~]# yum search keyword #按关键字搜索软件包
如果yum源报错,可以从以下几个方面排查:
1、确定光盘是否链接,光盘是否挂载
2、配置文件中格式是否正确,字母,符号有没有少写,挂载点和配置文件中设置的是否一致
3、网络源需要联网,操作和RPM类似,只是会自动安装依赖项。
八、文件的归档和压缩
1.tar命令进行文件的归档和压缩
tar命令 作用:打包、压缩文件 tar 用法:tar [OPTION…] [FILE]…
-c :create创建文件
-v :–verbose显示执行详细过程
-f :–file指定备份文件
-t :–list 列出压缩包中包括哪些文件,不解包,查看包中的内容
-C: (大写)–directory 指定解压位置
-z:–gzip 以gzip方式压缩 扩展名: tar.gz
-j : 以bz2方式压缩的 扩展名:tar.bz2
-J : 以xz 方式压缩 扩展名:tar.xz
九、Centos7-系统进程管理
进程是已启动的可执行程序的运行实例
1、 进程的属性
进程ID(PID):是唯一的数值,用来区分进程
父进程的ID(PPID)
启动进程的用户ID(UID)和所归属的组(GID)
进程状态:状态分为运行R、休眠S、僵尸Z
2、ps 查看进程工具
a: 显示跟当前终端关联的所有进程
u: 基于用户的格式显示(U: 显示某用户ID所有的进程)
x: 显示所有进程,不以终端机来区分
uptime/top 命令:查看CPU负载工具 kill -9 : 强制关闭进程
十、重定向和文件
1、 输入输出标准说明
STDIN: 标准输入 默认的设备是键盘 文件编号为:0
STDOUT: 标准输出 默认的设备是显示器 文件编号为:1 ,也可以重定向到文件
STDERR: 标准错误 默认的设备是显示器 文件编号为:2 ,也可以重定向到文件
1、 输出重定向
重定向输出使用 ”>” “>>” 操作符号
语法: > 文件名 #表示将标准输出的内容,写到后面的文件中,如果此文件名已经存在,将会覆盖原文件中的内容 >> 文件名 #表示将标准输出的内容,追加到后面的文件中。若重定向的输出的文件不存在,则会新建该文件
清空一个文件
[root@xiaoliu ~]# > cpu.txt
2、 错误重定向
作用:错误信息保存到文件
错误重定向符号:2> ; 标准输入: 1< 或简写 < ; 标准输出: 0> 或 >2
管道“ | ”
1>&2 :把标准输出重定向到标准错误 (&表示等同于的意思)
2>&1 :把标准错误重定向到标准输出
十一、Linux文件系统结构
一、文件系统结构
Linux文件系统由三部分组成 : 文件名,inode,block
Linux文件系统: ext3, ext4,xfs
windows文件系统: FAT32,NTFS
1、 inode的大小
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。
注:由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件。
2、 block块大小
block 是真正存储数据的地方。
block :是 文件系统 中最小的存储单位
扇区 :是 磁盘 中最小的存储单位
二、文件的硬链接和软链接
【硬连接】:硬连接指通过索引节点号来进行连接
【软连接】:另外一种连接称之为符号连接(Symbolic Link),也叫软连接。
ln:命令创建硬链接 ;ln -s :命令创建软链接
十二、RAID磁盘阵列的原理与搭建
一、RAID概念
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。 磁盘阵列是由很多价格较便宜的磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个磁盘组合在一起,提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中
注:RAID可以预防数据丢失,但是它并不能完全保证你的数据不会丢失,所以大家使用RAID的同时还是注意备份重要的数据
RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡);在企业中用的最多的是:raid1、raid5和raid10。不过随着云的高速发展,供应商一般可以把硬件问题解决掉。
1、 RAID几种常见的类型
RAID基本思想:把好几块硬盘通过一定组合方式把它组合起来,成为一个新的硬盘阵列组,从而使它能够达到高性能硬盘的要求
三十、LVM管理和ssm存储管理器使用
1、LVM的工作原理
LVM 逻辑卷管理,是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。
它就是通过将底层的物理硬盘封装起来,然后以逻辑卷的方式呈现给上层应用。在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。
2、 LVM常用的术语
物理存储介质(The physical media):LVM存储介质可以是磁盘分区,整个磁盘,RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用
物理卷PV(physical volume) :物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷它可以用硬盘分区,也可以用硬盘本身;
卷组VG(Volume Group) :一个LVM卷组由一个或多个物理卷组成
逻辑卷LV(logical volume) :LV建立在VG之上,可以在LV之上建立文件系统
PE(physical extents) :PV物理卷中可以分配的最小存储单元,PE的大小是可以指定的,默认为4MB
LE(logical extent) : LV逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE的大小和PE是相同的,并且一一对应
3、LVM主要元素构成:
总结:多个磁盘/分区/raid——>多个物理卷PV——>合成卷组VG——>从VG划出逻辑卷LV——>格式化LV挂载使用
4、创建LVM的基本步骤
-
物理磁盘被格式化为PV,(空间被划分为一个个的PE) #PV包含PE
-
不同的PV加入到同一个VG中,(不同PV的PE全部进入到了VG的PE池内) #VG包含PV
-
在VG中创建LV逻辑卷,基于PE创建,(组成LV的PE可能来自不同的物理磁盘) #LV基于PE创建
-
LV直接可以格式化后挂载使用 #格式化挂载使用
-
LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据
5、 lvm常用的命令
十四、Linux计划任务与日志的管理
-
计划任务的安排方式分两种:定时性的和突发性的
-
at 和 crontab 这两个命令:
at:它是一个可以处理仅执行一次就结束的指令
crontab:它是会把你指定的工作或任务,比如:脚本等,按照你设定的周期一直循环执行下去
- rsyslog日志服务
rhel6-7 ——>服务名称rsyslog ——>配置文件 /etc/rsyslog.conf
十五、Linux系统启动原理
一、centos7系统启动过程及相关配置文件
1、 centos7系统启动过程
CentOS7引导顺序
-
UEFi或BIOS初始化,运行POST开机自检
-
选择启动设备
-
引导装载程序, centos7是grub2
-
加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
-
加载内核选项
-
加载initramfs初始化伪文件系统
-
内核初始化,centos7使用systemd代替init
-
执行initrd.target所有单元,包括挂载/etc/fstab
-
从initramfs根文件系统切换到磁盘根目录
-
systemd执行默认target配置,配置文件/etc/systemd/system/default.target
-
systemd执行sysinit.target初始化系统及basic.target准备操作系统
-
systemd启动multi-user.target下的本机与服务器服务
-
systemd执行multi-user.target下的/etc/rc.d/rc.local
-
Systemd执行multi-user.target下的getty.target及登录服务
-
systemd执行graphical需要的服务
十六、Linux网络管理技术
一、OSI七层模型和TCP/IP四层模型
- OSI七层参考模型,TCP/IP四层参考模型
七层模型优点:
1、把复杂的网络划分成为更容易管理的层(将整个庞大而复杂的问题划分为若干个容易处理的小问题)
2、没有一个厂家能完整的提供整套解决方案和所有的设备,协议.
3、独立完成各自该做的任务,互不影响,分工明确,上层不关心下层具体细节,分层同样有益于网络排错
2、常见网络相关的协议
ARP(Address Resolution Protocol):地址解析协议,将IP解析成MAC地址
DNS:域名解析协议 www.baidu.com
SNMP: (Simple Network Management Protocol)网络管理协议
DHCP:动态主机配置协议,它是在TCP/IP网络上使客户机获得配置信息的协议
FTP:文件传输协议,它是一个标准协议,是在计算机和网络之间交换文件的最简单的方法。
HTTP(Hypertext Transfer Protocol ):超文本传输协议
HTTPS(Secure Hypertext Transfer Protocol):安全超文本传输协议,它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作.
ICMP(Internet Control Message Protocol):Internet控制信息协议,互联网控制报文协议
ping ip定义消息类型有:TTL超时、地址的请求与应答、信息的请求与应答、目的地不可到达
SMTP(Simple Mail Transfer Protocol):简单邮件传送协议
TELNET Protocol:虚拟终端协议
TFTP(Trivial File Transfer Protocol):小文件传输协议
UDP(User Datagram Protocol):用户数据报协议,它是定义用来在互连网络环境中提供包交换的计算机通信的协议
TCP(Transmission Control Protocol): 传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议 log转发:开启一个协议:tcp(三次握手和四次挥手)
- TCP和UDP 常用端口号名称
- IP地址分类
IP地址分5类,常见的地址是A、B、C 三类
A类地址:范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回口用的。因此A类地址的可用的范围其实是从1-126之间。以子网掩码:255.0.0.0.
B类地址:范围从128-191,如172.168.1.1,以子网掩码来进行区别:255.255.0.0
C类地址:范围从192-223,以子网掩码来进行区别: 255.255.255.0
D类地址:范围从224-239,被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
A、B、C 3类中私有IP地址范围:
A:10.0.0.0–10.255.255.255 /8
B: 172.16.0.0–172.31.255.255 /16
C: 192.168.0.0–192.168.255.255 /24
二、修改网卡IP地址
方法1:手工修改网卡配置文件
[root@xuegod63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #设置类型是以太网设备
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none # 参数:static静态IP 或dhcp 或 none无(不指定),如是none,配上IP地址和static效果一样
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33 #网卡名字
UUID=c713acec-674b-411d-9e61-646482a292ca #网卡UUID,全球唯一
DEVICE=ens33 #设备名字,在内核中识别的名字
ONBOOT=yes #启用该设备,如果no,表示不启动此网络设备
IPADDR=192.168.1.63 #IP地址
PREFIX=24 #子网掩码,24相当于255.255.255.0
GATEWAY=192.168.1.1 #默认网关
DNS1=114.114.114.114 #首选DNS地址
DNS2=8.8.8.8 #备用DNS地址
IPV6_PRIVACY=no
PEERDNS=no
十七、shell脚本的基础
1、shell 基本语法
Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的
2. shell脚本:就是说我们把原来linux命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为shell脚本或shell程序;我们可以在脚本中输入一系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的shell脚本
[root@xiaoliu ~]# vim test.sh #写入以下内容
#!/bin/bash 作用:告诉脚本使用的是哪种命令解释器。如不指shell,以当前shell
# This is shell.
echo "hello world"
mkdir /tmp/test
touch /tmp/test/a.txt
root@xiaoliu ~]# chmod +x test.sh
[root@xiaoliu ~]# ./test.sh #执行
创建shell程序的步骤:
第一步:创建一个包含命令和控制结构的文件。
第二步:修改这个文件的权限使它可以执行。 使用chmod +x test.sh
第三步:检测语法错误
第四步:执行 ./example
shell脚本的执行通常有以下几种方式
1、/root/test.sh 或者 ./test.sh (当前路径下执行脚本的话要有执行权限chmod +x test.sh)
2、bash test.sh 或 sh test.sh (这种方式可以不对脚本文件添加执行权限)
3、source test.sh (可以没有执行权限)
4、sh < test.sh 或者 cat test.sh |sh(bash)
3、 shell中的特殊变量
4. 常用的算数运算符
十八、shell中色彩处理和awk使用技巧
1、 Shell中的色彩处理
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e
格式1: echo -e “\033[背景颜色;文字颜色m 要输出的字符 \033[0m”
格式2:echo -e “\e[背景颜色;文字颜色m要输出的字符\e[0m”
2、 awk基本应用
grep 和 egrep:文本过滤的
sed:流编辑器,实现编辑的
awk:文本报告生成器,实现格式化文本输出
3、 概念
AWK是一种优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言的最大功能取决于一个人所拥有的知识。awk命名:Alfred Aho Peter 、Weinberger和brian kernighan三个人的姓的缩写。
AWK它工作通过三个步骤:
(1)读:从文件、管道或标准输入中读入一行然后把它存放到内存中
(2)执行:对每一行数据,根据AWK命令按顺序执行。默认情况是处理每一行数据,也可以指定模式
(3)重复:一直重复上述两个过程直到文件结束
AWK支持两种不同类型的变量:内建变量,自定义变量
4、 awk高级应用
命令格式:
awk [-F | -f | -v ] ‘BEGIN {} / / {command1;command2} END {}’file
-F 指定分隔符
-f 调用脚本
-v 定义变量
‘{}’ 引用代码块
{…} 命令代码块,包含一条或多条命令
BEGIN 初始化代码块
/ str / 匹配代码块,可以是字符串或正则表达式
{print A;print B} 多条命令使用分号分隔
END 结尾代码块
在awk中,pattern有以下几种:
empty空模式,这个也是我们常用的/regular expression/ 仅处理能够被这个模式匹配到的行
5、格式化输出
printf命令:格式化输出 printf “FORMAT”,item1,item2…
format使用注意事项:
1、其与print命令的最大不同是,printf需要指定format样式
2、format用于指定后面的每个item的输出格式
3、printf语句不会自动打印换行符;\n
4、format格式的指示符都以%开头,后跟一个字符;如下:
%c: 显示字符的ASCII码
%d, %i:十进制整数
%e, %E:科学计数法显示数值
%f: 显示浮点数
%g, %G: 以科学计数法的格式或浮点数的格式显示数值;
%s: 显示字符串
%u: 无符号整数
%%: 显示%自身