【Linux 学习笔记】(5)网络配置、进程管理、rpm 包的管理和 yum 介绍

x33g5p2x  于2021-12-10 转载在 Linux  
字(3.9k)|赞(0)|评价(0)|浏览(338)

前言: 本文是听的b站韩顺平老师 Linux 课程的 63~85 集所做的笔记,大家可以配套该文章学习韩老师的 Linux 课程,也可以借助此文章来学习 Linux 的知识。可以收藏起来,以后要用时,随用随查。

1. 网络配置

1.1 查看网络 IP 和网关(ifconfig)

  • 查看 Windows 环境中 VMnet8 网络配置
ipconfig
  • 查看 Linux 中网络配置
ifconfig
  • 测试主机之间网络连通性
// 测试当前服务器是否可以连接目的主机
ping 目的主机的ip地址

示例:测试当前服务器是否可以连接到百度

ping www.baidu.com

1.2 Linux 网络环境配置

  • 方式一:自动获取 IP
  • 方式二(推荐):指定 IP

1.3 设置主机名和 hosts 映射

  • 查看当前主机名
hostname
  • 修改主机名(修改文件在 /etc/hostname 中)
// 1. 进入主机名修改文件
vim etc/hostname

// 2. 修改主机名,保存退出,并且重启系统
  • 设置 host 映射

1.4 主机名解析过程分析(Hosts、DNS)

  • Hosts
  • DNS
  • 实例解析:用户在浏览器输入了 www.baidu.com
  • 在 cmd 窗口中可以输入下面指令来显示 DNS 域名解析缓存或手动清理 DNS 的缓存
// 显示 DNS 域名解析缓存
ipconfig /displaydns

// 手动清理 DNS 缓存
ipconfig /flushdns

2. 进程管理

2.1 介绍

  • 在 Linux 中,每个执行的程序都被称为一个进程,每一个进程都分配一个 ID 号(即 PID、进程号)

  • 程序没有执行时,是静态的,其实就是一份代码。当其被加载到内存中运行后, 是动态的,就是进程

  • 每个进程都可能以两种方式存在,前台与后台。

  • 前台进程:就是用户目前的屏幕上可以进行操作的

  • 后台进程:就是实际已经在操作,但是屏幕上无法看到的进程,通常使用后台方式执行

  • 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束

2.2 显示系统执行的进程(ps)

查看当前系统中,有哪些正在执行,以及它们执行的状况

ps [选项]

// 显示当前终端的所有进程信息
ps -a

// 以用户的格式显示进程信息
ps -u

// 显示后台进程运行的参数
ps -x

// 显示所有进程
ps -e

// 以全格式显示进程(可以显示父进程 PPID)
ps -f

// 选项可以组合使用,例如
ps -aux
ps -ef 

// 加上 grep 进行过滤
ps [选项] | grep xxx

补充: ps 显示信息说明

字段说明
PID进程识别号
TTY终端信息
TIME此进程所占用 CPU 时间
COMMAND正在执行的命令或进程
USER执行该进程的用户
%CPU占用 CPU 的百分比
%MEM占用物理内存的百分比
VSZ占用虚拟内存大小(单位:KB)
RSS占用物理内存大小(单位:KB)
STAY运行状态(S 表示睡眠、s 表示该进程是会话的先导进程、N 表示进程拥有比普通优先级更低的优先级、R 表示正在运行、D 表示短期等待、Z 表示僵死进程、T 表示被跟踪或者被停止)
START执行的开始使时间

2.3 终止进程(kill、killal)

若是某个进程执行一半需要停止时间,或是已消耗了很大的系统资源时,就可以考虑停止该进程

// 通过进程号杀死进程
kill [选项] 进程号

// 常用选项
-9 表示强迫进程立即停止

// 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
killal 进程名

补充:

2.4 查看进程树(pstree)

更加直观的查看进程信息

pstree [选项]

// 常用选项
-p 显示进程的 PID
-u 显示进程的所属用户

2.5 动态监控进程(top、netstat)

top 与 ps 命令相似,它们都用来显示正在执行的进程。top 与 ps 最大的不同之处是 top 在执行一段时间可以更新正在运行的进程

  • top 指令用法:
top [选项]

// 常用选项 
// -d [秒数]   表示指定 top 命令每隔几秒更新,默认是3秒
// -i       表示使 top 不显示任何闲置后者僵死进程
// -p       表示通过指定监控进程 ID 来仅仅监控某个进程的状态

指令显示信息说明:

  • 交互操作说明:
操作功能
P以 CPU 使用率排序,默认就是此项
M以内存的使用率排序
N以 PID 排序
q退出 top
  • 监视指定用户
// 首先进入 top,输入 u,再回车,再输入用户名即可
  • 终止指定的进程
// 首先进入 top,输入 k,再回车,再输入要结束的进程 ID 号
  • 查看系统网络情况
netstat [选项]

// 常用选项
// -an 表示按一定顺序排序输出
// -p 表示显示哪个进程在调用
  • 检测主机连接命令
ping 对方ip地址

ping 是一种网络检测工具,它主要是用来检测远程主机是否正常,或是两个主机之间的网络或网卡故障

3. 服务管理

3.1 介绍

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如:mysqld、sshd 防火墙等,因此我们又称其为守护进程

3.2 service 管理指令

  • service 指令
service 服务名 [start | stop | restart | reload | status]

// start 开启服务
// stop 关闭服务
// restart 重启服务
// reload 重装服务
// status 查看状态
  • 在 CentOS7.0 后很多服务不再使用 service 指令去管理了,而是使用 systemctl 指令

  • service 指令管理的服务在 /etc/init.d 中查看

  • 查看系统中所有服务指令

setup

// 带✳的表示自动启动
// 可以通过把光标放在✳上,按住空格键,来取消✳

3.3 服务的运行级别

Linux 系统有7种运行级别(runlevel),常用的是级别3和5

开机流程说明:

  • 查看当前运行级别
systemctl get-default
  • 更改运行级别
systemctl set-default 要更改的运行级别
  • 注意:在 CentOS7 后运行级别在 /etc/initab 文件种进行了简化

3.4 chkconfig 指令

  • 通过 chkconfig 命令可以给服务器在各个不同运行级别时设置自动启动或关闭
  • chkconfig 指令管理的服务在 /etc/init.d 中查看
  • chkconfig 基本语法
// 查看 chikconfig 管理的服务
chkconfig

// 查看具体的某个服务
chkconfig 服务名

// 设置某个服务的自启动或关闭
chkconfig --level 运行级别 服务名 on/off

3.5 systemctl 指令

  • systemctl 管理指令
systemctl [start | stop | restart | status] 服务名
// start 开启服务
// stop 关闭服务
// restart 重启服务
// status 查看状态
  • systemctl 设置服务的自动启动状态
// 查看各个服务器开机启动状态,可以使用 grep 过滤
systemctl list-unit-files [ | grep 服务名]

// 设置服务开机启动
systemctl enable 服务名

// 关闭服务开机启动
systemctl disable 服务名

// 查询某个服务是否是自动启动的
systemctl is-enabled 服务名

3.6 打开或者关闭指定端口(firewall)

在真正的生产环境中,往往需要将防火墙打开,但是如果打开防火墙,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口,例如:80、22、8080

  • 打开端口
firewall-cmd --permanent --add-port=端口号/协议
  • 关闭端口
firewall-cmd --permanent --remove-port=端口号/协议
  • 重新载入,才能生效
firewall-cmd --reload
  • 查询端口是否开放
firewall-cmd --query-port=端口/协议

开或者关闭指定端口(firewall)

在真正的生产环境中,往往需要将防火墙打开,但是如果打开防火墙,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口,例如:80、22、8080

  • 打开端口
firewall-cmd --permanent --add-port=端口号/协议
  • 关闭端口
firewall-cmd --permanent --remove-port=端口号/协议
  • 重新载入,才能生效
firewall-cmd --reload
  • 查询端口是否开放
firewall-cmd --query-port=端口/协议

4. rpm 包的管理

4.1 介绍

rpm 是用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它会生成具有 .RPM 扩展名的文件。RPM 是 RedHat Package Manger(RedHat 软件包管理工具)的缩写,类似于 Windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但是理念是通用的

4.2 rpm 包的简单查询

  • 查询已安装的所有 rpm 软件包,或查询是否安装了某个具体的软件包
rpm -qa | grep xxx

返回结果是包名,例如:firefox-60.2.2-1.el7.centos.x86_64,其中

  • 查询软件包是否安装
rpm -q 软件包名
  • 查询软件包信息
rpm -qi 软件包名
  • 查询软件包中的文件
rpm -ql 软件包名
  • 查询文件所属的软件包
rpm -qf 文件全路径名

4.3 卸载 rpm 包

卸载 rpm 包

rpm -e RPM包的名称

注意:

4.4 安装 rpm 包

安装 rpm 包

rpm -ivh RPM包全路径名称

参数说明:

5. yum

5.1 介绍

yum 是一个 shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包

5.2 基本指令

  • 查询 yum 服务器是否有需要安装的软件
yum list | grep 软件名
  • 安装指定的 yum 包
yum install 包名

相关文章