【Linux】IP地址、主机名、网络传输、进程管理、主机状态

一、IP地址

1.1 ifconfig 命令

  • 每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯
  • IP地址主要有2个版本,V4版本和V6版本
  • IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址

可以通过命令:ifconfig,查看本机的ip地址

ifconfig

如果没有安装这个程序,可以使用下列命令安装:

sudo apt install -y net-tools

其中,这里的192.168.80.128就是当前虚拟机的IP

在这里插入图片描述

1.2 特殊的IP地址

除了标准的IP地址以外,还有几个特殊的IP地址需要我们了解:

  • 127.0.0.1 这个地址代表本机回环地址,代指本机
  • 0.0.0.0 特殊IP地址,可以用于指代本机、可以在端口绑定中用来确定绑定关系、在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

1.3 主机名

每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名
无论是Windows或Linux系统,都可以给系统设置主机名

使用hostname命令就可以查看本机名称了:

hostname

在这里插入图片描述

修改主机名

可以使用如下的命令来修改主机名

hostnamectl set-hostname 主机名

比如

hostnamectl set-hostname Ubuntu

在这里插入图片描述

1.4 域名解析

IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?

  • 实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址
  • 比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址
  • 其中,www.baidu.com,是百度的网址,我们称之为:域名

访问www.baidu.com的流程如下:
在这里插入图片描述
即:

  • 先查看本机的记录(私人地址本)
  • Windows看:C:\Windows\System32\drivers\etc\hosts
  • Linux看:/etc/hosts
  • 再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问

配置主机名映射

我们可以在FinalShell中使用域名来连接到当前的虚拟机,为了实现这个功能,需要在Windows系统的C:\Windows\System32\drivers\etc\hosts文件中配置主机名映射记录

  • 使用记事本管理员模式打开相应的文件,加入主机名映射信息

在这里插入图片描述

  • 打开FinalShell,配置连接的虚拟机信息:

在这里插入图片描述

可以发现已经成功连接上了

在这里插入图片描述

也可以在Windows下直接ping Ubuntu 这个域名

在这里插入图片描述

1.5 固定虚拟机IP

可以参考这篇博客:Ubuntu系统固定IP

  • 首先先查看本地网关
route -n

在这里插入图片描述

  • 然后查看主机的IP
ifconfig 

在这里插入图片描述

  • 备份一份配置文档,防止操作失败可以恢复
sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak
  • 使用vim 进行修改:
    在这里插入图片描述

  • 使修改生效:

 sudo netplan apply  

然后在Windows下ping 以下这个地址:

在这里插入图片描述

ping 通了,如果失败的话,要记得使用备份恢复回来

二、网络传输

2.1 端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

物理端口

在这里插入图片描述

虚拟端口

在这里插入图片描述


  • 物理端口我们日常生活中经常见到,也能知晓它的作用。
  • 但是虚拟端口,有什么用?为什么需要它呢?

在这里插入图片描述

  • 通过IP地址即可

在这里插入图片描述

  • 计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。
    通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
  • IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口
  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用
    在这里插入图片描述

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口
计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接


2.2 查看端口占用

使用nmap命令可以查看端口的占用情况

语法:

nmap 查看的IP

如果没有下载nmap这个程序,可以通过apt命令来下载

sudo apt install -y nmap

安装后,可以查看到相应的端口信息,比如我们查看本机回环地址:

nmap 127.0.0.1

在这里插入图片描述

其中,22端口及提供SSH服务的端口,目前正在被FinalShell使用


可以使用netstat命令来查看指定端口的占用情况,没安装的话需要下载一下:

sudo apt install -y net-tools

通过管道符结合grep命令,可以筛选出感兴趣的部分

sudo netstat -anp | grep 26890

可以查看到端口的信息

在这里插入图片描述

三、进程状态

3.1 进程

程序运行在操作系统中,是被操作系统所管理的。

  • 为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程

  • 并会为每一个进程都分配一个独有的:进程ID(进程号)

  • Windows系统任务管理器

在这里插入图片描述

  • Linux系统查看进程
    在这里插入图片描述

3.2 查看进程

通过ps命令可以查看Linux系统中的进程信息

语法:

ps [-e -f]
  • 选项:-e,显示出全部的进程
  • 选项:-f,以完全格式化的形式展示信息(展示全部信息)
  • 一般来说,固定用法就是: ps -ef 列出全部进程的全部信息

在这里插入图片描述

从左到右分别是:

  • UID:进程所属的用户ID
  • PID:进程的进程号ID
  • PPID:进程的父ID(启动此进程的其它进程)
  • C:此进程的CPU占用率
  • (百分比)
  • STIME:进程的启动时间TTY:启动此进程的终端序号,如显示?,表示非终端启动
  • TIME:进程占用CPU的时间
  • CMD:进程对应的名称或启动路径或启动命令

3.3 查看指定进程

在FinalShell中,执行命令:tail,可以看到,此命令一直阻塞在那里

  • 在FinalShell中,复制一个标签页,执行:ps -ef 找出tail这个程序的进程信息
  • 问题:是否会发现,列出的信息太多,无法准确的找到或很麻烦怎么办?
    在这里插入图片描述

我们可以使用管道符配合grep来进行过滤,如:

ps -ef | grep tail

可以找到tail占用的进程

在这里插入图片描述

我们可以通过kill 命令关闭这个进程

语法:

kill [-9] 进程ID

选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。


比如,我们可以强制关闭刚刚的tail占用的进程:

kill -9 45386

可以发现进程被终止了
在这里插入图片描述
在这里插入图片描述

四、主机状态

4.1 查看系统资源占用

可以使用top命令来查看CPU、内存使用情况,类似Windows中的任务管理器

语法:

top

这个命令默认没5s刷新一次,使用ctrt+c 或者q退出:
在这里插入图片描述

在这里插入图片描述


top命令内容详解

  • 第一行:top:命令名称,23:29:46,当前系统时间,up 1:53:启动了1小时53分钟,2 users:2个用户登录,load:1、5、15分钟负载

  • 第二行:Tasks:241个进程,1 running:1个进程子在运行,170 sleeping:174个进程睡眠,0个停止进程,0个僵尸进程

  • 第三行:%Cpu(s):CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,wa:IO等待CPU占用率,hi:CPU硬件中断率,si:CPU软件中断率,st:强制等待占用CPU率

  • 第四、五行:Kib Mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用。KibSwap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,buff/cache:buff和cache占用


在这里插入图片描述

  • PID:进程id
  • USER:进程所属用户
    PR:进程优先级,越小越高
  • NI:负值表示高优先级,正表示低优先级
  • VIRT:进程使用虚拟内存,单位KB
  • RES:进程使用物理内存,单位KB
  • SHR:进程使用共享内存,单位KB
  • S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)%CPU:进程占用CPU率
  • %MEM:进程占用内存率
  • TIME+:进程使用CPU时间总计,单位10毫秒
  • COMMAND:进程的命令或名称或程序文件路径

top命令选项

top命令也支持选项

在这里插入图片描述

  • 比如,让进程信息1s刷新一次
top -d 1
  • 让进程刷新输出5次后退出
top -n 5

可以发现,5次后自动退出了

  • 也可以配合一起使用,比如每次5s刷新,刷新3次后退出:
top -d 5 -n 3

在这里插入图片描述
top交互式选项

当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制在这里插入图片描述

  • 比如,输入top命令后,按下h可以进入帮助页面
top

在这里插入图片描述

  • 按下P可以按照CPU占有率进行从大到小进行排序

在这里插入图片描述

4.2 磁盘信息监控

使用df命令,可以查看硬盘的使用情况

语法:

df  [-h]
  • 选项:-h,以更加人性化的单位显示

可以观察到使用-h的区别:

df -h

在这里插入图片描述


磁盘信息监控

可以使用iostat查看CPU、磁盘的相关信息

语法:

iostat [-x] [num1] [num2]
  • 选项:-x,显示更多信息
  • num1:数字,刷新间隔,num2:数字,刷新几次

使用前需要下载sysstat

sudo apt install -y sysstat

监控当前磁盘信息:

iostat -x

可以查看到CPU相关的信息

在这里插入图片描述

具体的信息如下:

  • rrqm/s: 每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge, 提高IO利用率, 避免重复调用);
  • wrqm/s: 每秒这个设备相关的写入请求有多少被Merge了。
  • rsec/s: 每秒读取的扇区数;sectors
  • wsec/: 每秒写入的扇区数。
  • rKB/s: 每秒发送到设备的读取请求数
  • wKB/s: 每秒发送到设备的写入请求数
  • avgrq-sz 平均请求扇区的大小
  • avgqu-sz 平均请求队列的长度。毫无疑问,队列长度越短越好。
  • await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。
  • svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)
  • %util: 磁盘利用率

4.3 网络状态监控

可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)

语法:

sar -n DEV num1 num2
  • 选项:-n,查看网络,DEV表示查看网络接口
  • num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

比如,我们可以查看当前网络的相关统计,每3s刷新一次,共查看2次

sar -n DEV 3 2

在这里插入图片描述

信息解读:

  • IFACE 本地网卡接口的名称
  • rxpck/s 每秒钟接受的数据包
  • txpck/s 每秒钟发送的数据包
  • rxKB/S 每秒钟接受的数据包大小,单位为KB
  • txKB/S 每秒钟发送的数据包大小,单位为KB
  • rxcmp/s 每秒钟接受的压缩数据包
  • txcmp/s 每秒钟发送的压缩包
  • rxmcst/s 每秒钟接收的多播数据包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/950306.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2.STM32F407ZGT6-外部中断

参考: 1.正点原子。 前言: MCU最重要的一个领域–中断。总结下嵌套向量和外部中断的概念。达到: 1.NVIC是什么,了解中断的整体管理理念。 2.中断里面最简单的外部中断,怎么配置处理。 3.使用STM32CubeMX配置外部中断的…

基于Elasticsearch8的向量检索实现相似图形搜索

Elasticsearch8版本增加了KNN向量检索,可以基于此功能实现以图搜图功能。 1、首先创建索引,es提供了类型为dense_vector的字段,用于存储向量,其中dims是向量维度,可以不配置,es会根据第一条插入的向量维度…

Element-plus表单总结

表单包含输入框,单选框,下拉选择,多选框等用户输入的组件。输入表单,您可以收集、验证和提交数据。 经典表单 最基础的表单包括各种输入表单项,比如input、select、radio、checkbox等。 在每一个form组件中&#xff0…

cursor vip

https://cursor.jeter.eu.org?pf7f4f3fab0af4119bece19ff4a4360c3 可以直接复制命令使用git bash执行即可 命令&#xff1a; bash <(curl -Lk https://gitee.com/kingparks/cursor-vip/releases/download/latest/ic.sh) f7f4f3fab0af4119bece19ff4a4360c3 等待执行完成后…

创建springboot项目

目录 1、使用 https://start.spring.io/ 创建项目Project 选 mavenLanguage 选 javaSpring Boot 选 3.4.1Project MetadataDependencies 2、阿里云网址 更好用 https://start.aliyun.com/ 1、使用 https://start.spring.io/ 创建项目 跳转 Project 选 maven Language 选 jav…

UDP_TCP

目录 1. 回顾端口号2. UDP协议2.1 理解报头2.2 UDP的特点2.3 UDP的缓冲区及注意事项 3. TCP协议3.1 报头3.2 流量控制2.3 数据发送模式3.4 捎带应答3.5 URG && 紧急指针3.6 PSH3.7 RES 1. 回顾端口号 在 TCP/IP 协议中&#xff0c;用 “源IP”&#xff0c; “源端口号”…

Netron可视化深度学习的模型框架,大大降低了大模型的学习门槛

深度学习是机器学习的一个子领域&#xff0c;灵感来源于人脑的神经网络。深度学习通过多层神经网络自动提取数据中的高级特征&#xff0c;能够处理复杂和大量的数据&#xff0c;尤其在图像、语音、自然语言处理等任务中表现出色。常见的深度学习模型&#xff1a; 卷积神经网络…

Python生成高级圣诞树-代码案例剖析

文章目录 &#x1f47d;发现宝藏 ❄️方块圣诞树&#x1f42c;效果截图&#x1f338;代码-可直接运行&#x1f334;代码解析 ❄️线条圣诞树&#x1f42c;效果截图&#x1f338;代码-可直接运行&#x1f334;代码解析 ❄️豪华圣诞树&#x1f42c;效果截图&#x1f338;代码-可…

Flux“炼丹炉”——fluxgym安装教程

一、介绍 这个炼丹炉目前可以训练除了flux-dev之外的其它模型&#xff0c;只需更改一个配置文件内容即可。重要的是训练时不需要提前进行图片裁剪、打标等前置工作&#xff0c;只需下图的三个步骤即可开始训练。它就是——fluxgym。 fluxgym&#xff1a;用于训练具有低 VRAM &…

【PLL】非线性瞬态性能

频率捕获、跟踪响应&#xff0c;是大信号非线性行为锁相范围内的相位、频率跟踪&#xff0c;不是非线性行为 所以&#xff1a;跟踪&#xff0c;是线性区域&#xff1b;捕获&#xff0c;是大信号、非线性区域 锁定范围&#xff1a;没有周跳&#xff08;cycle-slipping&#xff0…

OpenAI CEO 奥特曼发长文《反思》

OpenAI CEO 奥特曼发长文《反思》 --- 引言&#xff1a;从 ChatGPT 到 AGI 的探索 ChatGPT 诞生仅一个多月&#xff0c;如今我们已经过渡到可以进行复杂推理的下一代模型。新年让人们陷入反思&#xff0c;我想分享一些个人想法&#xff0c;谈谈它迄今为止的发展&#xff0c;…

“AI智慧语言训练系统:让语言学习变得更简单有趣

大家好&#xff0c;我是你们的老朋友&#xff0c;一个热衷于探讨科技与教育结合的产品经理。今天&#xff0c;我想和大家聊聊一个让语言学习变得不再头疼的话题——AI智慧语言训练系统。这个系统可是我们语言学习者的福音&#xff0c;让我们一起来揭开它的神秘面纱吧&#xff0…

一、二极管(应用篇)

1.5普通二极管应用 1.5.1钳位电路 利用二极管的固定的导通电压&#xff0c;在二极管处并联用电器&#xff0c;达到用电器的工作电压相对稳定。如果电源处有尖峰电压&#xff0c;则可以通过二极管导入到5v的电源内&#xff0c;防止此尖峰电压干扰用电器 &#xff0c;起到对电路的…

Android Studio 安装配置(个人笔记)

Android studio安装的前提是必须保证安装了jdk1.8版本以上 一、查看是否安装jdk cmd打开命令行&#xff0c;输入java -version 最后是一个关键点 输入 javac &#xff0c;看看有没有相关信息 没有就下载jdk Android studio安装的前提是必须保证安装了jdk1.8版本以上 可以到…

unity学习14:unity里的C#脚本的几个基本生命周期方法, 脚本次序order等

目录 1 初始的C# 脚本 1.1 初始的C# 脚本 1.2 创建时2个默认的方法 2 常用的几个生命周期方法 2.1 脚本的生命周期 2.1.1 其中FixedUpdate 方法 的时间间隔&#xff0c;是在这设置的 2.2 c#的基本语法别搞混 2.2.1 基本的语法 2.2.2 内置的方法名&#xff0c;要求更严…

node.js|浏览器插件|Open-Multiple-URLs的部署和使用,实现一键打开多个URL的强大工具

前言&#xff1a; 在整理各类资源的时候&#xff0c;可能会面临资源非常多的情况&#xff0c;这个时候我们就需要一款能够一键打开多个URL的浏览器插件了 说简单点&#xff0c;其实&#xff0c;迅雷就是这样的&#xff0c;但是迅雷是基于内置nginx浏览器实现的&#xff0c;并…

HTML 显示器纯色亮点检测工具

HTML 显示器纯色亮点检测工具 相关资源文件已经打包成html等文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Html相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&#…

dbeaver导入导出数据库(sql文件形式)

目录 前言dbeaver导出数据库dbeaver导入数据库 前言 有时候我们需要复制一份数据库&#xff0c;可以使用dbeaver简单操作&#xff01; dbeaver导出数据库 选中数据库右键->工具->转储数据库 dbeaver导入数据库 选中数据库右键->工具->执行脚本 mysql 默…

接口测试-postman(使用postman测试接口笔记)

一、设置全局变量 1. 点击右上角设置按钮-》打开管理环境窗口-》选择”全局“-》设置变量名称&#xff0c;初始值和当前值设置一样的&#xff0c;放host放拼接的url&#xff0c;key放鉴权那一串字符&#xff0c;然后保存-》去使用全局变量&#xff0c;用{{变量名称}}形式 二、…

enzymejest TDD与BDD开发实战

一、前端自动化测试需要测什么 1. 函数的执行逻辑&#xff0c;对于给定的输入&#xff0c;输出是否符合预期。 2. 用户行为的响应逻辑。 - 对于单元测试而言&#xff0c;测试粒度较细&#xff0c;需要测试内部状态的变更与相应函数是否成功被调用。 - 对于集成测试而言&a…