网络配置命令

文章目录

  • 一、查看网络接口信息 `ifconfig`
      • 1.1 网络接口名称
      • 1.2 使用 `ifconfig` 查看网络接口信息
        • 1.2.1 输出示例
        • 1.2.2 输出解释
      • 1.3 查看特定网络接口信息
        • 1.3.1 输出示例
      • 1.4 查看所有网络接口信息
      • 1.5 特殊网络接口
  • 二、修改网络配置文件
      • 2.1 配置文件示例
      • 2.2 使配置生效
      • 2.3 关闭 NetworkManager 服务
  • 三、设置网络接口参数 `ifconfig`
      • 3.1 启用、禁用网络接口配置
      • 3.2 使用 `ifup` 和 `ifdown` 控制网络接口
      • 3.3 为网卡绑定虚拟接口
  • 四、查看主机名称 `hostname`
      • 4.1 查看主机名
      • 4.2 修改主机名
        • 4.2.1 临时修改
        • 4.2.2 永久修改
  • 五、查看路由表条目 `route`
      • 5.1 查看当前路由表信息
      • 5.2 查看数字形式的路由表
      • 5.3 使用 `ip route` 查看路由配置
      • 5.4 添加和删除静态路由
        • 5.4.1 添加静态路由
        • 5.4.2 删除静态路由
      • 5.5 添加和删除默认网关
        • 5.5.1 添加默认网关
        • 5.5.2 删除默认网关
  • 六、`netstat` 命令
      • 6.1 常用参数
      • 6.2 使用示例
        • 6.2.1 显示所有 TCP 连接
        • 6.2.2 显示所有 UDP 连接
        • 6.2.3 显示所有活动的网络连接
        • 6.2.4 显示所有监听状态的网络连接及端口信息
        • 6.2.5 显示所有监听状态的 TCP 连接
        • 6.2.6 显示所有监听状态的 UDP 连接
      • 6.3 `netstat` 和 `ss` 命令的对比
  • 七、`ss` 命令
      • 7.1 `ss` 命令参数
      • 7.2 使用示例
        • 7.2.1 显示所有 TCP 连接
        • 7.2.2 显示 Sockets 摘要
        • 7.2.3 显示所有打开的网络连接端口
        • 7.2.4 查看进程使用的 socket
        • 7.2.5 找出打开特定端口的应用程序
        • 7.2.6 显示所有 UDP Sockets
        • 7.2.7 显示所有状态为 established 的 HTTP 连接
        • 7.2.8 列举处于 FIN-WAIT-1 状态的源端口为 80 或 443 的所有 TCP 套接字
  • 八、测试网络连通性:`ping`
      • 8.1 常用示例
        • 8.1.1 测试与某 IP 地址的连通性
        • 8.1.2 指定发送的 ICMP 数据包数
        • 8.1.3 设置 ping 的间隔时间
        • 8.1.4 设置 ping 的超时时间
      • 8.2 错误反馈信息
  • 九、跟踪数据包 `traceroute`
      • 9.1 使用 `traceroute` 跟踪数据包
  • 十、配置网络参数
      • 10.1 临时配置
      • 10.2 永久配置
  • 十一、查看本主机 IP
  • 十二、域名解析 `nslookup`
      • 12.1 安装 `bind-utils`
      • 12.2 使用 `nslookup` 查询域名
  • 十三、域名解析配置文件
      • 13.1 修改 `/etc/resolv.conf` 文件
      • 13.2 本地主机映射文件
  • 十四、查询 DNS 记录 `dig`
      • 14.1 使用 `dig` 查询域名

一、查看网络接口信息 ifconfig

主机的网络接口卡(网卡)通常称为网络接口。在 Linux 操作系统中,使用 ifconfig 命令可以查看网络接口的地址配置信息(Interface Configuration)。

若采用 mini 版 CentOS 7 安装的系统,默认是没有 ifconfig 命令的,需要先通过 yum 方式安装 net-tools 软件包,才有 ifconfig 命令。

1.1 网络接口名称

  • ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。
  • lo:回环网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试。

1.2 使用 ifconfig 查看网络接口信息

ifconfig   # 显示已启用的网络接口,不包括禁用的设备
1.2.1 输出示例
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.245.211  netmask 255.255.255.0  broadcast 192.168.245.255
        inet6 fe80::20c:29ff:fef4:bf17  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:bf:17  txqueuelen 1000  (Ethernet)
        RX packets 117334  bytes 171217990 (163.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17699  bytes 1155659 (1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
inet 192.168.245.211  # ip地址
netmask 255.255.255.0  # 子网掩码
broadcast 192.168.245.255  # 广播地址
ether 00:0c:29:f4:bf:17   # mac地址

image-20240714185735120

1.2.2 输出解释
  1. 第一行:以太网卡的名字不是常见的 eth0,变成了 ens33。

    • en 代表以太网卡。
    • ens33 代表 PCI 接口的物理位置为 (0,3),其中横坐标代表 bus,纵坐标代表 slot。
    • UP:代表此网络接口为启用状态(down 为关闭状态)。
    • RUNNING:代表网卡设备已连接。
    • MULTICAST:表示支持组播。
    • MTU:为数据包最大传输单元。
  2. 第二行:网卡的 IP 地址、子网掩码、广播地址。

  3. 第三行:IP v6 地址。

  4. 第四行:Ethernet(以太网)表示连接类型;ether 表示为网卡的 MAC 地址。

  5. 第五行:接收数据包个数、大小统计信息。

  6. 第六行:异常接收包的个数,如丢包量、错误等。

  7. 第七行:发送数据包个数、大小统计信息。

  8. 第八行:发送包的个数,如丢包量、错误等。

1.3 查看特定网络接口信息

ifconfig ens33    # 只查看网卡 ens33 的配置信息
1.3.1 输出示例
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.245.211  netmask 255.255.255.0  broadcast 192.168.245.255
        inet6 fe80::20c:29ff:fef4:bf17  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:bf:17  txqueuelen 1000  (Ethernet)
        RX packets 117396  bytes 171222511 (163.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17724  bytes 1159336 (1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.4 查看所有网络接口信息

ifconfig -a  # 显示所有活动及非活动的连接

image-20240714185807935

1.5 特殊网络接口

  • lo:表示主机的回环地址,IP 地址固定为 127.0.0.1,子网掩码为 8 位,表示本机。用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD 服务器的指定到回环地址,在浏览器输入 127.0.0.1 就能看到你所架设的 WEB 网站,但只是您能看得到,局域网的其它主机或用户无从知道。

  • virbr0:是一个虚拟的网络连接端口,默认为 0 号虚拟网络连接端口。一般在通过虚拟机进行移植操作系统时,默认会以 nat 的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是 CentOS 镜像的虚拟机,所以会有这一行)。

二、修改网络配置文件

网络接口的配置文件默认位于 /etc/sysconfig/network-scripts/ifcfg-ens33。文件名格式为 “ifcfg-XXX”,其中“XXX”是网络接口的名称。例如,网卡 ens33 的配置文件是 “ifcfg-ens33”,回环接口 lo 的配置文件是 “ifcfg-lo”。

2.1 配置文件示例

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="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="769b6c3c-8981-44ca-8920-26b48cad5496"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.78.22
NETMASK=255.255.255.0
GATEWAY=192.168.78.2
DNS1=114.114.114.114

image-20240714185914568

2.2 使配置生效

在 CentOS 7 操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动 network 服务或者重启主机。

systemctl restart network  # 重启网络服务

2.3 关闭 NetworkManager 服务

建议关闭 NetworkManager 服务,否则有时启动 network 会报错。

systemctl stop NetworkManager
systemctl disable NetworkManager

三、设置网络接口参数 ifconfig

ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的 IP 地址、子网掩码,也可以绑定虚拟网络接口、激活或禁用网络接口。

3.1 启用、禁用网络接口配置

ifconfig ens37 down  # 禁用网络接口
ifconfig ens37 up    # 启用网络接口

3.2 使用 ifupifdown 控制网络接口

ifup ens37    # 启用网络接口
ifdown ens37  # 禁用网络接口

3.3 为网卡绑定虚拟接口

在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的 IP 地址,但是又不能覆盖原有 IP 地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的 IP 地址(相当于一块网卡配多个 IP 地址)。

ifconfig ens37:0 192.168.10.20 netmask 255.255.255.0   #

 临时配置网卡的 IP 地址
ifconfig ens37:0 192.168.10.20/24  # 当不指定子网掩码时,将使用 IP 地址所在分类的默认子网掩码

image-20240714190048399

四、查看主机名称 hostname

主机名在 Linux 操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。

4.1 查看主机名

hostname

示例输出:

localhost.localdomain

4.2 修改主机名

4.2.1 临时修改
hostname newhostname
4.2.2 永久修改
hostnamectl set-hostname newhostname

也可以直接编辑 /etc/hostname 文件。

image-20240714190116352

五、查看路由表条目 route

路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。

5.1 查看当前路由表信息

route

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    0      0        0 ens33
link-local      0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.245.0   0.0.0.0         255.255.255.0   U     0      0        0 ens33

image-20240714190204407

5.2 查看数字形式的路由表

route -n

示例输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.245.2   0.0.0.0         UG    0      0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.245.0   0.0.0.0         255.255.255.0   U     0      0        0 ens33

image-20240714190334333

5.3 使用 ip route 查看路由配置

ip route show

示例输出:

default via 192.168.245.2 dev ens33 
169.254.0.0/16 dev ens33 scope link metric 1002 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 
192.168.245.0/24 dev ens33 proto kernel scope link src 192.168.245.211 

image-20240714190402609

5.4 添加和删除静态路由

5.4.1 添加静态路由
route add -net 192.168.3.0/24 gw 192.168.10.1
5.4.2 删除静态路由
route del -net 192.168.3.0/24

5.5 添加和删除默认网关

5.5.1 添加默认网关
route add default gw 192.168.10.1
5.5.2 删除默认网关
route del default gw 192.168.10.1

六、netstat 命令

netstat 命令用于查看当前操作系统的网络连接状态、路由表、接口统计等信息,是了解网络状态及排除网络服务故障的有效工具。

6.1 常用参数

  • -n:以数字的形式显示相关的主机地址、端口等信息。
  • -r:显示路由表信息。
  • -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
  • -l:显示处于监听状态的网络连接及端口信息。
  • -t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。
  • -u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。
  • -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。

6.2 使用示例

6.2.1 显示所有 TCP 连接
netstat -at
6.2.2 显示所有 UDP 连接
netstat -au
6.2.3 显示所有活动的网络连接
netstat -a
6.2.4 显示所有监听状态的网络连接及端口信息
netstat -l
6.2.5 显示所有监听状态的 TCP 连接
netstat -lnpt
6.2.6 显示所有监听状态的 UDP 连接
netstat -lnpu

6.3 netstatss 命令的对比

当服务器的 socket 连接数量变得非常大时,使用 netstat 命令可能会很慢。相比之下,ss 命令更快速更高效,尤其是在服务器维持大量连接时。

image-20240714190445464

image-20240714190506719

七、ss 命令

ss 命令(Socket Statistics)用于获取 socket 统计信息,显示和 netstat 类似的内容,但能显示更多更详细的有关 TCP 和连接状态的信息,比 netstat 更快速更高效。

7.1 ss 命令参数

  • -h:–help,获取更多使用帮助。
  • -V:–version,显示软件版本号。
  • -t:–tcp,显示 TCP 协议的 sockets。
  • -u:–udp,显示 UDP 协议的 sockets。
  • -n:–numeric,不解析服务的名称。
  • -l:–listening,只显示处于监听状态的端口。
  • -p:–processes,显示监听端口的进程。
  • -a:–all,显示所有套接字(sockets)。
  • -r:–resolve,把 IP 解释为域名,把端口号解释为协议名称。

7.2 使用示例

7.2.1 显示所有 TCP 连接
ss -t -a
7.2.2 显示 Sockets 摘要
ss -s
7.2.3 显示所有打开的网络连接端口
ss -l
7.2.4 查看进程使用的 socket
ss -pl
7.2.5 找出打开特定端口的应用程序
ss -lp | grep 3306
7.2.6 显示所有 UDP Sockets
ss -u -a
7.2.7 显示所有状态为 established 的 HTTP 连接
ss -o state established '( dport = :http or sport = :http )'
7.2.8 列举处于 FIN-WAIT-1 状态的源端口为 80 或 443 的所有 TCP 套接字
ss -o state fin-wait-1 '( sport = :http or sport = :https )' dst 193.233.7/24

image-20240714190549137

image-20240714190628776

八、测试网络连通性:ping

使用 ping 命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 Ctrl+C 组合键后中止测试,并显示最终统计结果。

8.1 常用示例

8.1.1 测试与某 IP 地址的连通性
ping 192.168.10.10
8.1.2 指定发送的 ICMP 数据包数
ping -c 10 192.168.10.10
8.1.3 设置 ping 的间隔时间
ping -c 10 -i 0

.5 192.168.10.10
8.1.4 设置 ping 的超时时间
ping -w 5 www.baidu.com

image-20240714190716741

8.2 错误反馈信息

  • “Destination Host Unreachable”:目的主机不可达,可能目标地址不存在或者主机已经关闭。
  • “Network is unreachable”:没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。
  • “Request timeout”:目标主机有严格的防火墙限制,或者网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)。

九、跟踪数据包 traceroute

若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包。

9.1 使用 traceroute 跟踪数据包

traceroute 192.168.245.201

traceroute 命令能够比 ping 命令更加准确地定位网络连接的故障点(中断点),因此执行速度会比 ping 命令稍慢。在网络测试与排错过程中,通常会先使用 ping 命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用 traceroute 命令跟踪查看是在哪个中间结点存在故障。

image-20240714190756228

十、配置网络参数

10.1 临时配置

通过命令行直接修改当前正在使用的网络地址,修改后立即生效。这种方式操作简单快速,执行效率高,一般在调试网络的过程中使用。但由于所做的修改没有固定地存放在静态的文件中,因此当重启 network 服务或重启主机后将会失效。

10.2 永久配置

通过配置文件来存放固定的各种网络地址,需要重启 network 服务或重启主机后才会生效。这种方式操作上相对复杂,但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用。

十一、查看本主机 IP

hostname -i

示例输出:

fe80::20c:29ff:fe4f:e948%ens33 192.168.245.151 192.168.122.1

image-20240714190834564

十二、域名解析 nslookup

12.1 安装 bind-utils

yum install -y bind-utils

12.2 使用 nslookup 查询域名

nslookup www.google.com

示例输出:

Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
Name:	www.google.com
Address: 31.13.87.19
Name:	www.google.com
Address: 2001::45ab:f20b

image-20240714190919107

十三、域名解析配置文件

13.1 修改 /etc/resolv.conf 文件

vi /etc/resolv.conf 

内容示例:

search localdomain 
nameserver 202.106.0.20 
nameserver 202.106.148.1

resolv.conf 文件中的“search localdomain”行用来设置默认的搜索域(域名扩展名)。例如,当访问主机“localhost”时,就相当于访问“localhost.localdomain”。一行一个 DNS,最多配置三个 DNS。

image-20240714191136027

13.2 本地主机映射文件

/etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。

若在 /etc/hosts 文件中添加“119.75.218.70 www.baidu.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 119.75.218.70 发送 Web 请求,省略了向 DNS 服务器的查询。

119.75.218.70 www.baidu.com

image-20240714191318336

十四、查询 DNS 记录 dig

dig 是一个在类 Unix 命令行模式下查询 DNS 记录(包括 NS 记录、A 记录、MX 记录等)相关信息的工具,系统默认安装。

14.1 使用 dig 查询域名

dig www.baidu.com

示例输出:

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15827
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		882	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	189	IN	A	180.101.49.12
www.a.shifen.com.	189	IN	A	180.101.49.11

;; Query time: 14 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 一 621 19:51:19 CST 2021
;; MSG SIZE  rcvd: 101

P2.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15827
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A

;; ANSWER SECTION:
www.baidu.com. 882 IN CNAME www.a.shifen.com.
www.a.shifen.com. 189 IN A 180.101.49.12
www.a.shifen.com. 189 IN A 180.101.49.11

;; Query time: 14 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 一 6月 21 19:51:19 CST 2021
;; MSG SIZE rcvd: 101


![image-20240714191346253](https://img-blog.csdnimg.cn/img_convert/9df56a0729a922aa1a5d9239299a7906.png)

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

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

相关文章

JavaScript日期对象倒计时案例

思路&#xff1a;1.先求出当前时间的总毫秒数 2.再求出所需要求的时间的总毫秒数 3.用所求时间的减去当前时间的可得到倒计时剩余时间 4.最后将所求的倒计时剩余时间转换为天&#xff0c;小时&#xff0c;分钟&#xff0c;秒即可 <!DOCTYPE html> <html lang"en…

1.31、基于长短记忆网络(LSTM)的发动机剩余寿命预测(matlab)

1、基于长短记忆网络(LSTM)的发动机剩余寿命预测的原理及流程 基于长短期记忆网络(LSTM)的发动机剩余寿命预测是一种常见的机器学习应用&#xff0c;用于分析和预测发动机或其他设备的剩余可用寿命。下面是LSTM用于发动机剩余寿命预测的原理和流程&#xff1a; 数据收集&#…

可观察性优势:掌握当代编程技术

反馈循环是我们开发人员工作的关键。它们为我们提供信息&#xff0c;并让我们从用户过去和现在的行为中学习。这意味着我们可以根据过去的反应进行主动开发。 TestComplete 是一款自动化UI测试工具&#xff0c;这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的…

C++ 类和对象 赋值运算符重载

前言&#xff1a; 在上文我们知道数据类型分为自定义类型和内置类型&#xff0c;当我想用内置类型比较大小是非常容易的但是在C中成员变量都是在类(自定义类型)里面的&#xff0c;那我想给类比较大小那该怎么办呢&#xff1f;这时候运算符重载就出现了 一 运算符重载概念&…

npm发布的包如何快速在cnpm上使用

npm发布的包如何快速在cnpm上使用 解决方案 前往淘宝npm镜像官网 搜索插件库并点击同步 等待一分钟即可查看最新版本

Nuxt.js 错误侦探:useError 组合函数

title: Nuxt.js 错误侦探&#xff1a;useError 组合函数 date: 2024/7/14 updated: 2024/7/14 author: cmdragon excerpt: 摘要&#xff1a;文章介绍Nuxt.js中的useError组合函数&#xff0c;用于统一处理客户端和服务器端的错误&#xff0c;提供statusCode、statusMessage和…

PostgreSQL修改最大连接数

在使用PostgreSQL 的时候&#xff0c;经常会遇到这样的错误提示&#xff0c; sorry, too many clients already&#xff0c;这是因为默认PostgreSQL最大连接数是 100, 一般情况下&#xff0c;个人使用时足够的&#xff0c;但是在生产环境&#xff0c;这个连接数是远远不够的&am…

内存函数(C语言)

内存函数 以下函数的头文件&#xff1a;string.h 针对内存块进行处理的函数 memcpy 函数原型&#xff1a; void* memcpy(void* destination, const void* source, size_t num);目标空间地址 源空间地址num&#xff0c;被拷贝的字节个数 返回目标空间的起始地…

火星全球彩色影像图介绍(中分辨率相机)

一、数据基本信息 该数据是利用天问一号轨道器中分辨率相机获取的影像经光度校正、几何校正、全球制图等制作而成的全火星地图数据DOM&#xff0c;每个数据包含一个tif数据文件。该影像图分辨率为76米。 任务型号&#xff1a;天问一号 搭载平台&#xff1a;环绕器 数据获…

2.The DispatcherServlet

The DispatcherServlet Spring的Web MVC框架与许多其他Web MVC框架一样&#xff0c;是请求驱动的&#xff0c;围绕一个中央Servlet&#xff08;即DispatcherServlet&#xff09;设计&#xff0c;该Servlet将请求分派给控制器&#xff0c;并提供其他功能以促进Web应用程序的开发…

实现keepalive+Haproxyde 的高可用

需要准备五台实验机 一台客户机&#xff1a;test1 两台&#xff1a;一主一备的实验机&#xff1a;test2 test3 两台真实服务器&#xff1a;nginx1 nginx2 实验 首先在两台实验机上安装Haproxy 安装依赖环境&#xff0c;并将Haproxy的包进行解压处理 yum install -y pcre…

redis redisson(仅供自己参考)

redis 通过setnx实现的分布式锁有问题 如图&#xff1a; 解决的新的工具为&#xff08;闪亮登场&#xff09;&#xff1a;redisson redisson可重入锁的原理 实现语言lua&#xff1a; 加锁实现脚本语言&#xff1a; 释放锁的脚本语言&#xff1a; 加锁的lua -- 首先判断这个锁…

【算法专题】归并排序

1. 排序数组 912. 排序数组 - 力扣&#xff08;LeetCode&#xff09; 今天我们使用归并排序来对数组进行排序&#xff0c;实际上&#xff0c;归并排序和快速排序是有一定相似之处的&#xff0c;都运用了分而治之的思想提升了排序效率。快速排序的实现思路是每次排序把区间划分…

【Linux】进程间通信——命名管道和共享内存

目录 命名管道&#xff08;named pipe&#xff09; 命令行中使用 代码中使用 共享内存&#xff08;shared memory&#xff09; shmget ipcs命令 shmctl shmat/shmdt 简单通信 命名管道&#xff08;named pipe&#xff09; 之前我们说了匿名管道&#xff0c;但是匿名管道…

Spring-Spring、IoC、DI、注解开发

1、Spring是什么 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。 Spring整体架构 Spring优点&#xff1a; Spring属于低侵入设计。IOC将对象之间的依赖关系交给Spring,降低组件之间的耦合&#xff0c;实现各个层之间的解耦&#xff0c;让我们更专注于业务…

【python】基于随机森林和决策树的鸢尾花分类

目录 引言 决策树&#xff08;Decision Tree&#xff09; 随机森林&#xff08;Random Forest&#xff09; 数据集 结果 代码实现 引言 随机森林&#xff08;Random Forest&#xff09;和决策树&#xff08;Decision Tree&#xff09;是两种在机器学习中广泛使用的分类和…

红色文化3D虚拟数字展馆搭建意义深远

在房地产与土地市场的浪潮中&#xff0c;无论是新城规划、乡村振兴&#xff0c;还是商圈建设&#xff0c;借助VR全景制作、虚拟现实和web3d开发技术打造的全链条无缝VR看房新体验。不仅极大提升了带看与成交的转化率&#xff0c;更让购房者足不出户&#xff0c;即可享受身临其境…

【填坑指南】PHP8报:Unable to load dynamic library ‘zip.so’ 错误

1.原因分析 这种情况多数发生在PHP安装时因为各种原因失败后&#xff0c;残余的库与最后安装的PHP版本不兼容导致的。 2.我的路径 一开始我按照以前摸索出来的安装PHP7.3的成功经验来编译方法安装PHP8.3&#xff0c;发现以前的套路已经失效了。反复重装PHP8.3失败后&#xf…

Sentinel 学习笔记

Sentinel 学习笔记 作者&#xff1a;王珂 邮箱&#xff1a;49186456qq.com 文章目录 Sentinel 学习笔记[TOC] 前言一、基础概念二、Sentinel控制台2.1 安装控制台2.2 簇点链路2.3 请求限流2.4 线程隔离2.5 服务降级2.6 服务熔断 三、Sentinel客户端3.1 原始Jar包客户端3.2 Sp…

python条件

条件语句 if语句 if...else语句 if...elif...else语句 嵌套 is is 是一个身份运算符&#xff0c;用于比较两个对象的身份&#xff0c;即它们在内存中的地址是否相同。这与比较两个对象是否相等的 运算符不同。 运算符比较的是两个对象的值是否相等。 比较对象 比较基本数据…