Linux 实操篇 ⑦(linux网络环境配置:自动获取、修改IP为静态IP,设置主机名, 设置hosts 映射;进程管理:服务管理、终止进程 kill killall,systemctl)

目录

第十三章 网络配置

13.1 Linux 网络配置原理图 

13.2 查看网络 IP 和网关 

13.2.1 查看虚拟网络编辑器和修改 IP 地址 

13.2.2 查看网关 

13.3 查看 windows 环境的中 VMnet8 网络配置 (ipconfig 指令)

13.4 查看 linux 的网络配置 ifconfig

13.5 ping 测试主机之间网络连通性

13.5.1 基本语法

13.5.2 应用实例

13.6 linux 网络环境配置 

13.6.1 自动获取

13.6.2 修改IP为静态IP

13.7 设置主机名和 hosts 映射

13.7.1 设置主机名

13.7.2 设置 hosts 映射

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

13.8.1 Hosts 是什么

13.8.2 DNS

13.8.3 应用实例: 用户在浏览器输入了 www.baidu.com 

第 14 章 进程管理(重点)

14.1 基本介绍 

14.2 显示系统执行的进程

14.2.1 基本介绍 

14.2.2 指令选项:

14.2.2 ps 详解 

14.2.3 应用案例

14.3 终止进程 kill 和 killall

14.3.1 介绍

14.3.2 基本语法

14.3.3 常用选项 

14.3.4 最佳实践 

14.4 查看进程树 pstree

14.4.1 基本语法 

14.4.2 常用选项 

14.4.3 应用实例 

14.5 服务(service)管理

14.5.1 介绍

14.5.2 service 管理指令

14.5.3 service 管理指令案例

14.5.4 查看服务名

14.5.5 服务的运行级别(runlevel)

14.5.6 CentOS 7 之后运行级别说明 

14.5.7 chkconfig 指令

14.6 systemctl 管理指令 

14.6.1 基本语法

14.6.2 systemctl 设置服务的自启动状态 

14.6.3 systemctl 应用案例

14.6.4 systemctl 细节讨论:

14.7 firewall 打开或者关闭指定端口

14.7.1 firewall 指令

14.7.2 firewall 应用案例 

14.8 动态监控进程

14.8.1 介绍

14.8.2 基本语法

14.8.3 选项说明

14.8.4 交互操作说明

14.8.5 应用实例

14.9 监控网络状态

14.9.1 查看系统网络情况 netstat

14.9.2 检测主机连接命令 ping


第十三章 网络配置

13.1 Linux 网络配置原理图 

13.2 查看网络 IP 和网关 

13.2.1 查看虚拟网络编辑器和修改 IP 地址 

打开vm虚拟机,点击编辑,点击虚拟网络编辑器

 

13.2.2 查看网关 

13.3 查看 windows 环境的中 VMnet8 网络配置 (ipconfig 指令)

13.4 查看 linux 的网络配置 ifconfig

13.5 ping 测试主机之间网络连通性

13.5.1 基本语法

ping 目标主机 (功能描述:测试当前服务器是否可以连接目的主机) 

13.5.2 应用实例

测试当前服务器是否可以连接百度
指令:ping www.baidu.com  

13.6 linux 网络环境配置 

13.6.1 自动获取

        说明:登陆后,通过界面的来设置自动获取 ip,特点:linux 启动后会自动获取 IP,缺点是每次自动获取的 ip 地址可能不一样 


13.6.2 修改IP为静态IP

说明:直接修改配置文件来指定 IP,并可以连接到外网(程序员推荐)
编辑 vim /etc/sysconfig/network-scripts/ifcfg-ens33

ifcfg-ens33 文件说明:

要求:将 ip 地址配置成静态的,比如: ip 地址为 192.168.200.130
步骤一:打开编辑 /etc/sysconfig/network-scripts/ifcfg-ens33 文件

步骤二:修改 BOOTPROTO="dhcp" 修改为 BOOTPROTO="static"

步骤三: 将下面内容复制到 ifcfg-ens33 文件里面,然后保存。
IPADDR=192.168.200.130      #IP 地址
GATEWAY=192.168.200.2      #网关
DNS1=192.168.200.2              #域名解析器

步骤四:打开 虚拟网络编辑器 

将 子网IP 修改为 192.168.200.0

点击 NAT设置,将 网关IP 修改为 192.168.200.2,点击确定。

接着 点击应用,等他加载完,再点确定。

步骤五:重启网络服务或者重启系统生效
service network restart 、reboot

重启成功,登入Linux

可以看到IP地址 变成了我们指定的IP

在 windows 系统 ping 192.168.200.130 可以看到ping通了。

改变连接属性:此时我们的xshell 连接已经断开了,因为我们修改linux的IP地址,我们需要重新修改一下远程连接的主机IP。

右击连接会话,点击属性

将主机修改为 192.168.200.130,点击确定,即可再次连接。

13.7 设置主机名和 hosts 映射

13.7.1 设置主机名

1) 为了方便记忆,可以给 linux 系统设置主机名, 也可以根据需要修改主机名

 2) 查看主机名 
指令: hostname

3) 修改主机名,在 /etc/hostname 文件指定


4) 修改后,重启生效

13.7.2 设置 hosts 映射

        当我们使用hspEdu100去ping的时候,就会去hosts映射文件 找到hspEdu100对应的IP,接着拿着这个IP去 ping。

思考:如何通过 主机名能够找到(比如 ping) 某个 linux 系统?

Windows设置 hosts 映射
在 C:\Windows\System32\drivers\etc\hosts 文件指定即可
案例: 192.168.200.130 hspedu100(其实主机名是可以自定义的,主要把主机名和IP
的关系对上就可以)
打开hosts文件


可以看到,这个时候ping hspEdu100 就可以ping成功了。

Linux设置 hosts 映射
在 /etc/hosts 文件指定 
案例: 192.168.200.1 ThinkPad-PC (其实主机名是可以自定义的,主要把主机名和IP
的关系对上就可以)
首先,查看 windows 主机名 (右击计算机,打开属性)。


编辑 hosts 文件。指令:vim /etc/hosts


这个时候使用 ThinkPad-pc 去 ping ,就可以ping得通了。

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

13.8.1 Hosts 是什么

一个文本文件,用来记录 IP 和 Hostname(主机名)的映射关系

13.8.2 DNS

DNS,就是 Domain Name System 的缩写,翻译过来就是域名系统
是互联网上作为域名和 IP 地址相互映射的一个分布式数据库   

13.8.3 应用实例: 用户在浏览器输入了 www.baidu.com 

1) 浏览器先检查浏览器缓存中有没有该域名的解析 IP 地址,有就先调用这个 IP 完成解析,如果没有,就检查 DNS 域名解析器缓存。
如果检查到 DNS 解析器有缓存 直接返回 IP 完成解析。这两个缓存,可以理解为 本地解析器缓存

2)DNS 域名解析缓存: 一般来说,当电脑第一次成功访问某一网站后,在一定时间内,浏览器或操作系统会缓存他的 IP 地址到DNS域名解析缓存z(DNS 解析记录).
如 在 cmd 窗口中输入:
ipconfig /displaydns       //查看 DNS 域名解析器缓存记录
ipconfig /flushdns          //手动清理 DNS 缓存  

3)如果本地解析器缓存没有找到对应映射,检查系统中 hosts 文件中有没有配置对应的域名 IP 映射,如果有,则完成解析并返回。

4)如果 本地 DNS 解析器缓存 和 hosts 文件 中均没有找到对应的 IP,则到互联网公共的域名服务器 DNS 进行解析域。如果连这个地方都没找到,就会放回一个 域名不存在的信息。

5)示意图 

第 14 章 进程管理(重点

14.1 基本介绍 

1) 在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID 号(pid,进程号)。

  • windows

  • linux 

如下:14.2 显示系统执行的进程 

2)每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际操作在后台执行,但由于屏幕上无法看到的进程,通常使用后台方式执行。

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

14.2 显示系统执行的进程

14.2.1 基本介绍 

ps:ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数. 

14.2.2 指令选项:

ps -a:显示当前终端的所有进程信息
ps -u:以用户的格式显示进程信息
ps -x:显示后台进程运行的参数

执行指令:ps -aux

14.2.2 ps 详解 

        我们刚才执行的ps 或 ps -aux 是把所有的进程都显示出来了,但是在某些情况下,我们并不关心这么多的进程,只关心其中某一个进程。因此我们可以使用 grep 进行过滤。

1)指令:ps  -aux | grep xxx ,比如我看看有没有 sshd 服务

2)进程列表说明

  • System V 展示风格
  • USER:用户名称
  • PID:进程号
  • %CPU:进程占用 CPU 的百分比
  • %MEM:进程占用物理内存的百分比
  • VSZ:进程占用的虚拟内存大小(单位:KB)
  • RSS:进程占用的物理内存大小(单位:KB)
  • TT:终端名称,一般是缩写 .
  • STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
  • STARTED:进程的启动时间
  • TIME:占用CPU的时间,即进程使用 CPU 的总时间
  • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

 

14.2.3 应用案例

要求:以全格式显示当前所有的进程,查看进程的父进程(拥有子进程的进程)

  • ps -ef 是以全格式显示当前所有的进程
  • -e 显示所有进程。-f 全格式 

案例:查看 sshd 的父进程信息
指令:
ps -ef | grep sshd


BSD 风格

  • UID:用户 ID
  • PID:进程 ID
  • PPID:父进程 ID
  • C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表
  • 明进程是 I/O 密集型运算,执行优先级会提高
  • STIME:进程启动的时间
  • TTY:完整的终端名称
  • TIME:CPU 时间
  • CMD:启动进程所用的命令和参数 

14.3 终止进程 kill 和 killall

14.3.1 介绍

        若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用 kill 命令来完成此项任务。

14.3.2 基本语法

  • kill [选项] 进程号(功能描述:通过进程号杀死/终止进程)
  • killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

14.3.3 常用选项 

-9:表示强制终止进程

14.3.4 最佳实践 

1) 案例 1:踢掉某个非法登录用户
比如tom是非法用户,踢掉 tom,可以看到 tom 的 进程号是 11421
命令:kill 11421

2) 案例 2: 终止远程登录服务 sshd, 在适当时候再次重启 sshd 服务
指令:kill 10748(sshd对应的进程号)
指令:/bin/systemctl start sshd.service (启动ssh服务)

杀掉sshd进程,输入命令:kill 10748。再次查询,发现后台没有sshd进程了

此时再想使用Xshell登录,是连接不上的,因为sshd服务已被终止
启动sshd服务,输入命令:/bin/systemctl start sshd.service

再次登录,发现又可以登录了

3) 案例 3: 终止多个 gedit (文本编辑器)
命令: killall gedit
使用文本编辑器打开多个文件

在执行命令之前可以看到gedit是启动的

杀掉gedit服务,执行命令:killall gedit。执行完命令之后,可以看到我们打开的两个文本编辑器gedit进程都被杀掉了。

4) 案例 4:强制杀掉一个终端。
指令: kill -9 10487(bash对应的进程号)

首先打开两个终端

使用 kill 停止终端。(当bash 进程被杀掉后,对应的终端也会关闭。)
命令:kill 10487。

执行完命令后,会发现终端一并没有被关闭,因为系统认为,终端一此时在工作,你可能是一个误操作,因此他对你的这个行为置之不理。
此时可以使用 kill -9 强制终止进程。
执行命令:kill -9 10487。可以看见终端一已被关闭。

14.4 查看进程树 pstree

14.4.1 基本语法 

介绍:可以更加直观的来看进程信息 
指令:pstree [选项] 

14.4.2 常用选项 

-p :显示进程的 PID
-u :显示进程的所属用户 

14.4.3 应用实例 

案例 1:请你树状的形式显示进程的 pid
执行指令:pstree -p

案例 2:请你树状的形式显示进程的用户
执行指令:pstree -u

14.5 服务(service)管理

14.5.1 介绍

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

14.5.2 service 管理指令

1) service 服务名 [start | stop | restart | reload | status]
2) 在 CentOS7.0 后 很多服务不再使用 service ,而是 systemctl (后面专门讲)
3) service 指令管理的服务可以在 /etc/init.d 查看 

14.5.3 service 管理指令案例

        请使用 service 指令,查看,关闭,启动 network [注意:需要在linux自带的终端演示,因为网络连接会关闭] 

查看network服务状态service network status

关闭network服务:service network stop

启动network服务:service network start

14.5.4 查看服务名

方式 1:使用 setup 查看所有的系统服务。
指令:setup

选择系统服务,敲击回车。


方式 2:/etc/init.d 查看 service 指令管理的服务
指令:ls -l /etc/init.d

14.5.5 服务的运行级别(runlevel)

Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5
运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动
运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆
运行级别 2:多用户状态(没有 NFS),不支持网络
运行级别 3:完全的多用户状态(有 NFS),无界面,登陆后进入控制台命令行模式
运行级别 4:系统未使用,保留
运行级别 5:X11 控制台,登陆后进入图形 GUI 模式
运行级别 6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动 

开机的流程说明 

14.5.6 CentOS 7 之后运行级别说明 

ContOS 7 之后运行级别 在 /etc/initab 进行了简化 ,如下:
multi-user.target: analogous to runlevel 3 (运行级别3)
graphical.target: analogous to runlevel 5  (运行级别5)

#查看当前运行级别
systemctl get-default

#设置运行级别为 运行级别3 (多用户,无界面
systemctl set-default multi-user.target

重启linux,可以看到直接进入到 运行级别3 (多用户,无界面)

14.5.7 chkconfig 指令

chkconfig 指令介绍:

  1. 通过 chkconfig 命令可以给服务的各个运行级别设置自 启动/关闭
  2. chkconfig 指令管理的服务在 /etc/init.d 查看
  3. 注意: Centos7.0 后,很多服务使用 systemctl 管理 (后面马上讲)

chkconfig 基本语法 

1)查看服务 chkconfig --list [| grep xxx]

使用过滤查看

2)chkconfig 服务名 --list

3)chkconfig --level 5 服务名 on/off (设置某一个服务在某一个运行级别是自动启动还是自动关闭)

案例演示 : 对 network 服务 进行各种操作, 把 network 在 3 运行级别,关闭自启动

关闭:chkconfig --level 3 network off
启动:chkconfig --level 3 network on

使用细节:chkconfig 重新设置服务自启动或关闭后,需要重启机器才能生效。(重启命令:reboot)

14.6 systemctl 管理指令 

14.6.1 基本语法

systemctl [start | stop | restart | status] 服务名 (临时生效)
systemctl 指令管理的服务在 /usr/lib/systemd/system 查看 

14.6.2 systemctl 设置服务的自启动状态 

        默认对运行级别 3和5生效,因为运行级别3和运行级别5比较常用,所以centos 7 以后简化成了默认对 3和5生效。

 systemctl list-unit-files [ | grep 服务名] (查看服务是否是开机自动启动, grep 可以进行过滤)

systemctl enable 服务名 (设置服务开机自动启动,永久生效)

systemctl disable 服务名 (关闭服务开机自动启动,永久生效)

systemctl is-enabled 服务名 (查询某个服务是否是自启动的,enabled表示是自动启动的) 

14.6.3 systemctl 应用案例

查看当前防火墙的状况,关闭防火墙和重启防火墙。(防火墙服务名:  firewalld.service)
systemctl status firewalld

systemctl stop firewalld (临时生效)

systemctl start firewalld  (临时生效)

14.6.4 systemctl 细节讨论:

关闭或者启用防火墙后,会立即生效。[telnet 测试 某个端口即可]。
这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。
如果希望设置某个服务自动启动或自动关闭永久生效,要使用 systemctl [enable|disable] 服务名 .

14.7 firewall 打开或者关闭指定端口

        在真正的生产环境,往往需要将防火墙打开,但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口。比如 80、22、8080 等,这个又怎么做呢?老韩给给大家讲一讲。

14.7.1 firewall 指令

1) 打开端口: firewall-cmd --permanent --add-port=端口号/协议
2) 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
3) 打开或关闭端口后,需要重新载入才能生效 : firewall-cmd --reload  
4) 查询端口是否开放: firewall-cmd --query-port=端口/协议 

14.7.2 firewall 应用案例 

1)启用防火墙, 测试 111 端口是否能进行 telnet连接 , 发现是不行的

2)查看 111端口的协议

可以看到 111端口 的协议是 tcp

3)开放 111 端口
firewall-cmd --permanent --add-port=111/tcp ; 需要重载 firewall-cmd --reload

4)查看111端口是否开放
firewall-cmd --query-port=111/tcp

再次连接,可以看到连接进去了

4)再次关闭 111 端口
firewall-cmd --permanent --remove-port=111/tcp ; 需要重载 firewall-cmd --reload

再次查询111端口的状态,可以看到111端口是关闭的

因为111端口关闭了,此时又连接不上了

14.8 动态监控进程

14.8.1 介绍

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

14.8.2 基本语法 

指令:top [选项]

内容含义
20:10:57当前时间
up 4:47系统运行时长
2 user当前登录用户数
load average: 0.00, 0.01, 0.05

系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

  

  

内容含义
used使用的交换区总量
free空闲交换区总量
cached缓冲的交换区总量

14.8.3 选项说明

14.8.4 交互操作说明

直接在 top 面板输入对应的字母即可。

 
输入 P ,就可以看到 按CPU使用率从大到小排序了。

14.8.5 应用实例

案例 1.监视特定用户, 比如我们监控 tom 用户
top:输入此命令,按回车键,查看执行的进程。

u:然后输入“u”,再输入用户名,敲击回车即可


登录tom用户

此时就可检测到tom用户相关的进程了

案例 2:终止指定的进程, 比如我们要结束 tom 登录
top:输入此命令,按回车键,查看执行的进程。

k:然后输入“k”,再输入要结束的进程 ID 号,敲击回车

接着输入9表示强制删除

此时的tom用户就断开连接了

案例 3:指定系统状态更新的时间(每隔 10 秒自动更新), 默认是 3 秒
执行指令:top -d 10
 
当前时间为20:28:47,10秒过后就变成20:28:57

10秒过后刷新

14.9 监控网络状态

14.9.1 查看系统网络情况 netstat

基本语法
netstat [选项]

选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用

应用案例
请查看服务名为 sshd 的服务的信息。
netstat -anp | grep sshd

14.9.2 检测主机连接命令 ping

是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的网线或网卡故障。
指令: ping 对方ip地址

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值