Linux从入门到精通(基础篇二)

七、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的基本步骤

  1. 物理磁盘被格式化为PV,(空间被划分为一个个的PE) #PV包含PE

  2. 不同的PV加入到同一个VG中,(不同PV的PE全部进入到了VG的PE池内) #VG包含PV

  3. 在VG中创建LV逻辑卷,基于PE创建,(组成LV的PE可能来自不同的物理磁盘) #LV基于PE创建

  4. LV直接可以格式化后挂载使用 #格式化挂载使用

  5. LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据

5、 lvm常用的命令
在这里插入图片描述
十四、Linux计划任务与日志的管理

  1. 计划任务的安排方式分两种:定时性的和突发性的

  2. at 和 crontab 这两个命令:

at:它是一个可以处理仅执行一次就结束的指令

crontab:它是会把你指定的工作或任务,比如:脚本等,按照你设定的周期一直循环执行下去

  1. rsyslog日志服务

rhel6-7 ——>服务名称rsyslog ——>配置文件 /etc/rsyslog.conf

十五、Linux系统启动原理

一、centos7系统启动过程及相关配置文件

1、 centos7系统启动过程

CentOS7引导顺序

  1. UEFi或BIOS初始化,运行POST开机自检
    
  2. 选择启动设备
    
  3. 引导装载程序, centos7是grub2
    
  4. 加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
    
  5. 加载内核选项
    
  6. 加载initramfs初始化伪文件系统
    
  7. 内核初始化,centos7使用systemd代替init
    
  8. 执行initrd.target所有单元,包括挂载/etc/fstab
    
  9. 从initramfs根文件系统切换到磁盘根目录
    
  10. systemd执行默认target配置,配置文件/etc/systemd/system/default.target

  11. systemd执行sysinit.target初始化系统及basic.target准备操作系统

  12. systemd启动multi-user.target下的本机与服务器服务

  13. systemd执行multi-user.target下的/etc/rc.d/rc.local

  14. Systemd执行multi-user.target下的getty.target及登录服务

  15. systemd执行graphical需要的服务
    在这里插入图片描述
    十六、Linux网络管理技术

一、OSI七层模型和TCP/IP四层模型

  1. 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(三次握手和四次挥手)

  1. TCP和UDP 常用端口号名称
    在这里插入图片描述
  2. 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: 无符号整数

%%: 显示%自身

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值