欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Linux学习|网络配置&进程管理

时间:2023-07-20
文章目录

一、网络配置

1.1 相关指令1.2 自定义IP地址1.3 设置主机名和hosts映射

1.3.1 关于主机名1.3.2 hosts映射 二、进程管理

2.1 基本介绍2.2 查看进程的指令

2.2.1 ps指令2.2.2 pstree指令 2.3 终止进程的指令2.4 服务管理

2.4.1 基本介绍2.4.2 service指令2.4.3 setup指令2.4.4 chkconfig指令

a、基本介绍b、查看服务自启动信息c、设置服务自启动 2.4.5 systemctl指令

a、管理服务b、查看服务信息c、设置服务自启动 2.4.6 防火墙服务 2.5 top指令2.6 netstat指令


学习视频:https://www.bilibili.com/video/BV1Sv411r7vd相关
 Linux学习 | Linux目录结构&远程登录
 Linux学习 | vim编辑器&关机重启&登录注销
 Linux学习 | 用户管理
 Linux学习 | 常用指令
 Linux学习 | 组管理和权限管理
 Linux学习 | 任务调度
 Linux学习 | Linux磁盘分区&挂载

一、网络配置 1.1 相关指令

查看Windows网络配置 --> ipconfig

查看Linux网络配置 --> ifconfig

测试两个主机之间的网络连通性 --> ping 目的主机名/IP地址(Windows和Linux都适用)

1.2 自定义IP地址

PS:平时学习可以使用自动配置的IP地址,自动配置会根据当前IP是否被占用而动态改变IP地址,优点是可以避免IP冲突,缺点是IP地址经常变化带来不便;如果将Linux作为服务器使用,需要自定义固定的IP地址

说明:自定义IP地址需要修改配置文件——/etc/sysconfig/network-scripts/ifcfg-ens33,在该配置文件中指定固定的IP地址即可具体操作

编辑/修改配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33
① 将BOOTPROTO的值改成static(静态分配)
② 添加自定义的IP地址:IPADDR=自定义的IP地址
③ 添加网关:GATEWAY=自定义网关
④ 添加域名解析器:DNS1=自定义的域名地址(可以与网关一样)

PS:修改配置文件前,最好先备份 --> cat /etc/sysconfig/network-scripts/ifcfg-ens33 > /root/ifcfg-backup.txt

修改Linux虚拟机的子网IP和网关地址
① 选择对应的子网——VMnet8
② 在虚拟机网络编辑器中修改子网IP,与配置文件中对应的地址保持一致
③ 修改网关,同样与配置文件中对应的地址保持一致

重启网络服务/重启系统:service network restart或reboot

1.3 设置主机名和hosts映射 1.3.1 关于主机名

查看主机名的命令:hostname

修改/设置Linux主机名:修改/etc/hostname文件,将原来的主机名进行修改即可,修改后需重启才会生效

1.3.2 hosts映射

概述:hosts映射是将主机名和主机IP地址建立一个映射关系,从而实现直接通过主机名访问到与之对应的IP地址设置hosts映射的方法

Windows系统:修改C:WindowsSystem32driversetchosts文件,按照IP地址 主机名的形式添加IP地址与主机名的映射关系Linux系统:修改/etc/hosts文件,修改方式同上 二、进程管理 2.1 基本介绍

概述:每个执行的程序都称为进程,每一个进程都有一个ID号(pid),称为进程号进程存在方式

前台:前台进程是指用户当前在屏幕上操作的进程,是可见的后台:后台进程是指在后台执行的进程,在屏幕上无法看到,一般作为服务的进程都是后台进程,而且会常驻在系统中,知道系统关机才会结束 程序  进程:简单来说,进程是正在执行的程序,程序是静态的,进程是动态的 2.2 查看进程的指令

PS:Windows中查看系统的进程可以到任务管理器中查看,快捷键【ctrl+shift+esc】

2.2.1 ps指令

基本语法:ps [选项]

常用的选项

选项解释-a显示当前终端所有进程信息,注意不是系统所有进程-u显示执行对应进程的用户信息-x显示后台进程运行的参数-e显示系统所有进程信息-f全格式显示进程信息(会显示父进程

PS:如果要查看特定的进程,可以使用grep指令过滤查看

执行ps -aux的结果解释

结果截图

每一列的含义

列名解释USER执行当前进程的用户名PID进程号%CPU进程占用CPU百分比%MEM进程占用物理内存的百分比VSZ进程所占虚拟内存大小(单位:KB)RSS进程所占物理内存大小(单位:KB)TTY终端名称STAT进程当前状态(status缩写);其中S表示睡眠,s表示该进程是会话的先导进程,R表示正在运行,D表示短期等待,Z表示僵尸进程等START进程的启动时间TIME进程占用CPU的总时间COMMAND启动进程的命令和参数,如果命令或参数过长会截断显示

执行ps -ef的结果解释

结果截图

每一列的含义

PS:PID、TTY、TIME含义同上

列名解释PPID父进程号,第一个P是Parent的意思,如果数值为0表示该进程没有父进程C进程优先级因子,CPU通过该因子计算进程的优先级;数值越大,说明该进程是CPU密集型运算,执行优先级较低,数值越小,说明该进程是I/O密集型运算,优先级较高STIME进程启动的时间,同ps -aux结果中的STARTCMDCOMMAND的缩写,含义一样

❓父子进程:子进程由父进程产生,父子进程是相对的,父进程也可能是其他进程的子进程

2.2.2 pstree指令

基本语法:pstree [选项]

常用选项

选项解释-p显示每个进程的进程号-u显示执行进程的用户名

pstree  ps指令

ps指令是以行列形式显示每个进程的信息pstree指令是以树状(带父子节点)的结构显示每个进程的信息,优点是可以清晰地看出每个进程之间的父子关系

测试

① 直接查看 --> pstree

PS:从树状图可以清晰看出,systemd进程(服务)是最先启动的,即所有进程的老祖宗

② 带上进程号 --> pstree -p

2.3 终止进程的指令

基本语法:kill [选项] 进程号或killall 进程名称

常用选项——-9:强制终止进程,因为使用kill指令终止某些正在运行的进程时,Linux会认为该进程是有用的,从而忽略kill指令的执行,因此加上-9后才能实现进程的终止

kill指令  killall指令

kill指令是根据进程号精确终止某一个进程,但子进程不会被终止

killall指令则是根据进程名称终止对应的进程,进程名可以使用精确的名称终止单个进程,也可以使用通配符(如%)终止多个进程,而且被终止的进程的子进程也会被终止

⚠注意:killall指令的作用不是终止系统所有进程,是终止目标进程及目标进程的所有子进程而已

例子

① 终止远程登录服务sshd --> kill sshd对应的进程号;查看sshd对应的进程号 --> ps -ef | grep sshd
② 在Linux虚拟机上通过文本编辑器打开多个文件后,终止文本编辑器的进程 --> killall gedit(文本编辑器的进程名为gedit)
③ 在Linux虚拟机上打开两个终端,然后在其中一个终端上关闭另一个终端 --> kill -9 目标进程的进程号(两个终端都在运行中,直接kill是不起作用的,需要添加选项-9强制终止);要查看终端对应的进程号 --> ps -ef | grep bash

2.4 服务管理 2.4.1 基本介绍

概述:Linux中的服务(service)本质上是后台进程,通常用于监听某个端口,等待其他程序的访问/请求,因此又称为守护进程,如mysqld、sshd、atd等

示意图

2.4.2 service指令

基本语法:service 服务名 [start | stop | restart | reload | status]

作用:管理服务,指令中的start、stop、restart、reload、status选其一即可,分别表示开启、停止、重启、重新加载服务以及查看服务当前状态

注意:CentOS7以后,很多服务已经不再使用service指令进行管理,而是使用systemctl指令(后面介绍)

service管理的服务在/etc/init.d/目录中,可以通过指令查看 --> ll /etc/init.d/

2.4.3 setup指令

基本语法:setup(只能由root执行)

setup指令执行结果显示

❓关于setup指令执行后的界面

tab键和上下左右键移动光标操作,鼠标无效

带*号的是自启动的服务

2.4.4 chkconfig指令 a、基本介绍

概述:chkconfig指令可以操作的服务与service指令可以管理服务一样,因此在/etc/init.d/目录也可以查看chkconfig指令可以操作的服务作用 查看chkconfig可操作的服务,显示每个服务在各个运行级别中是否自启动设置/修改服务在指定运行级别是否自启动 b、查看服务自启动信息

基本语法:chkconfig [服务名] --list

测试

① 查看所有可操作的服务信息 --> chkconfig --list或chkconfig

说明:数字0~6分别表示7个运行级别,文字“关”/“开”表示该服务在相应运行级别中的自启动开启状态

② 查看network服务的信息 --> chkconfig network --list(这里的--list不可省略)或chkconfig --list | grep network

c、设置服务自启动

基本语法:chkconfig --level 运行级别数字(0~6) 服务名 [on/off](on表示开启自启动,off表示关闭自启动)注意事项:设置/修改服务在指定运行级别是否自启动后,需要重启服务或重启系统生效例子——将network服务在runlevel=3的自启动关闭(默认是开启) --> chkconfig --level 3 network off 2.4.5 systemctl指令 a、管理服务

基本语法:systemctl [start | stop | restart | status] 服务名/服务名.service

作用:与service指令类似,都是管理服务

systemctl指令  service指令

两个指令都是用于管理服务service管理服务的指令中,服务名在管理动作之后,而systemctl指令中,服务名在管理动作之前service指令管理的服务在/etc/init.d/目录下,systemctl指令管理的服务在/usr/lib/systemd/system/service对应设置服务是否自启动的指令是chkconfig,而systemctl设置服务自启动的指令就是它自己systemctl管理的服务比service多得多

测试:查看当前sshd服务的状态 --> systemctl status sshd或systemctl status sshd.service

b、查看服务信息

基本语法

查看systemctl管理的服务:ll /usr/lib/systemd/system/查看systemctl管理的服务的自启动信息:systemctl list-unit-files [ | grep 指定服务名关键词]

测试

① 查看systemctl管理的服务 --> ll /usr/lib/systemd/system/

② 查看所有服务的自启动信息 --> systemctl list-unit-files

③ 根据关键词fire查看防火墙服务的自启动信息 --> systemctl list-unit-files | grep fire

c、设置服务自启动

基本语法:systemctl enable/disable 服务名(enable表示开启自启动,disable表示关闭自启动)systemctl指令  chkconfig指令

两个指令设置服务在指定运行级别中是否自启动systemctl指令设置服务自启动,用enable和disable分别表示开启和关闭,而chkconfig指令中用on和off表示systemctl指令中无需指定运行级别,默认设置的是3和5两个运行级别,而chkconfig指令需要指定运行级别systemctl指令可以设置的服务更多 注意事项

查看某个服务的自启动状态:systemctl is-enabled 服务名如果某个服务是自启动,通过systemctl stop/start 服务名指令修改该服务的状态只会暂时生效,不会对服务是否自启动有影响,因此重启系统后,被修改状态的服务仍会恢复原状态,如果要永久生效,则需要将服务的自启动关闭 例子:关闭防火墙服务自启动(默认是开启) --> systemctl disable firewalld 2.4.6 防火墙服务

作用:根据请求的端口是否开放拦截请求,如果端口开放,就放行请求,允许请求访问系统某个服务,如果请求的端口不开放,则阻止请求访问系统的服务

防火墙服务在Linux中的作用示意图

firewall指令

指令解释firewall-cmd --permanent --add-port=端口号/协议开放端口firewall-cmd --permanent --remove-port=端口号/协议关闭端口firewall-cmd --reload重新载入防火墙,修改某个端口的开放状态后,需要重新载入才会生效firewall-cmd --permanent --query-port=端口号/协议查看某个端口是否开放

PS:查看当前服务的端口号和协议信息 --> netstat -anp

2.5 top指令

基本语法:top [选项]

作用:动态监控当前系统的进程

top指令  ps指令

两个指令都可以查看当前系统的进程信息top指令查看进程信息,每隔一段时间会刷新进程信息,因此可以使用top指令动态监控系统进程,类似于Windows中的任务管理器,而ps指令查看进程信息不会刷新top指令除了可以查看进程信息,还可以输入指令进行交互操作以及终止某个进程,而ps指令只能查看

常用选项

选项解释-d 数字n每隔n秒刷新一次,默认n=3,即默认每隔3秒刷新一次-i不显示任何闲置进程和僵尸进程-p 进程号根据进程号监控指定进程

常用交互操作

操作解释q退出监控,即退出top指令u + 回车 + 用户名监控指定用户的进程k + 回车 + 进程号 [+ 9]终止指定进程,如果需要强制终止,则再输入9P以所占CPU百分比降序显示,默认的操作,注意是大写的PM以所占物理内容百分比(%MEM)降序显示N以进程号PID降序显示

测试

① 直接监控进程,不带选项 --> top(默认每隔3秒刷新)

② 以所占内容百分比降序显示 --> top进入监控状态,再输入M

③ 监控key用户的进程(前提是用户key已登录) --> top进入进程状态,再输入u,回车后在输入用户名key

top指令执行结果解释

2.6 netstat指令

基本语法:netstat [选项](一般带上| more分页查看)

作用:netstat用于监控网络状态,可以查看到具体的网络信息,如网络协议、端口号等,也可以查看每个端口对应的服务

常用选项

选项解释-an按一定顺序排列显示-p显示每个端口对应的服务(服务监听端口)

测试 --> netstat -anp | more(如果是非管理员用户执行,会看不到各个服务进程的信息)

netstat指令显示结果

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。