Sy8网络管理命令(ubuntu23.10和centos8)

前言、

本次实验主要是扩展学习,不仅限在课本的内容。毕竟课本的内容太过于陈旧了。需要的童鞋看看。

说明:(书本中sy9”第3.实验内容“大家还是要做下。)

1、使用ubuntu做实验的童鞋只要看第二、三、四、七章节的部分内容。

2、使用centos做实验的童鞋重点查看第五、六、七章节的内容。

实验环境:

宿主机为win11,网络:10.255.50.5 6389

WSL2 ubuntu

目标机的OS:Ubuntu 内核、版本如下:

linux@peggy0223:/$ uname -r

5.15.146.1-microsoft-standard-WSL2

linux@peggy0223:/$ cat /proc/version

Linux version 5.15.146.1-microsoft-standard-WSL2 (root@65c757a075e2) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37) #1 SMP Thu Jan 11 04:09:03 UTC 2024

实验9 网络管理命令

1.实验目的

1)了解网络配置文件。

2)掌握网络基本配置的正确方法。

3)掌握常用的网络操作命令的用法。

4)掌握telnet、rlogin等服务的配置。

2.复习常用命令

ping:测试本机与网络中其他计算机的联通性。 forle

ifconfig:查看或配置本地主机的网络。

netstat:获取网络连接和状态信息。

3.实验内容

1)用vi编辑器打开/etc/hosts.allow与/etc/hosts.deny文件,修改配置以允许或禁止同网段的其他主机访问。

2)用vi编辑器打开其他网络配置文件并了解其作用。

3)执行ping命令,测试与其他主机的联通性。

4)执行ifconfig命令,修改自己主机的IP、网络掩码和网关地址。

5)执行netstat命令,查看网络的连接和状态信息。

6)参考本书内容学习配置telnet服务。

7)参考本书内容学习配置rlogin等服务。

4.实验报告

以书面形式记录每一个实验内容,包括遇到的问题和解决方法。

5.思考题

1.如何禁止某个(子)网段主机的访问?

2.如何通过telnet等命令登录远程主机?

一、ubuntu网络故障的解决: 

Vmware workstation中安装的ubuntu 2204中配置网卡后出现网卡一个问号的未知状态?如何解决?

A.首先尝试了如下命令:(注意这些命令必须是在非root账户下才可以使用,才可以识别networking的相关服务变量)

systemctl restart networking.service,

Nmtui

Service networking restart

Systemctl restart NetworkManager

同时图形化界面也配置了,也无法解决这个网卡问号的状态。

解决方式:

在VM workstation上重启配置虚拟网卡,先删除再添加一个,同时重置虚拟网卡的缺省配置。

注意,重新restore defaults后可能会有新的网段,比如VMnet8的NAT的子网就可从之前192.168.248.0变成了192.168.105.0的网段了,同理若是使用VMnet1也是一样。

二、设置服务器镜像源:提高Ubuntu软件的安装/更新速度

配置apt 更新源-20240401:

root@testhost01:/home/test/Desktop#

root@testhost01:/home/test/Desktop# lsb_release -a

No LSB modules are available.

Distributor ID:        Ubuntu

Description:        Ubuntu 20.10

Release:        20.10

Codename:        groovy

root@testhost01:/home/test/Desktop#

图形界面:

等来了如下结果,于是我想是否用下国外的网络测试下:

这样以后排查问题也是个思路

升级之后:

同时再other software中删除旧的,新增清华和阿里的把.

更新源

1. 备份源sources.list文件

cp /etc/apt/sources.list /etc/apt/sources2.list

2. 更新源sources.list文件内容

gedit /etc/apt/sources.list ;选择下面其中一个源进行替换(推荐清华源)

apt-get update        ;替换后记得更新源列表

阿里云:

ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站

参考官网说明:

sed -i 's/https:\/\/mirrors.aliyun.com/http:\/\/mirrors.cloud.aliyuncs.com/g' /etc/apt/sources.list

清华源:

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

以上两个都有详细的配置方法!

三、ubuntu23.10下网络操作命令使用

为了操作方便,先切换到root。

vms中NAT方式获取的ip如下:

root@testhost01:/# ifconfig

结果:

root@testhost01:/# ifconfig ens36 down

root@testhost01:/# ifconfig

结果:

root@testhost01:/# ip addr add 192.168.105.200/24 dev ens36

root@testhost01:/# ip addr

底层网络设置 – ip

ip 和先前的 ifconfig 和 route 有相同功能的命令如下:

  • ip link show
  • ip route list
  • ip link set eth0 down
  • ip addr del dev eth0 local 192.168.0.3
  • ip addr add dev eth0 local 192.168.0.111/24 broadcast 192.168.0.255
  • ip link set eth0 up
  • ip route add dev eth0 to 10.0.0.0/8 src 192.168.0.111 via 192.168.0.1

运行的时候使用 help 参数,能让 ip 打印出命令的语法。 例如,ip link help 打印出:

Usage: ip link set DEVICE { up | down | arp { on | off } |
dynamic { on | off } |
multicast { on | off } | txqueuelen PACKETS |
name NEWNAME |
address LLADDR | broadcast LLADDR |
mtu MTU }
ip link show [ DEVICE ]

四、ubuntu23.10配置文件

注意UBUNTU23.04之后的版本网卡配置文件不一样了,使用netplan来配置。

先了解下Netplan —— 抽象网络配置生成器

1、Netplan配置流程

默认配置文件

/etc/netplan目录下。您可以查看: ls /etc/netplan/

2、查看配置文件内容

cat /etc/netplan/*.yaml

3、使用vim\nano来编辑yaml文件

vim /etc/netplan/*.yaml

根据您的网络需要更新配置文件。对于静态 IP 寻址,添加 IP 地址、网关、DNS 信息,而对于动态 IP 寻址,无需添加此信息,因为它将从 DHCP 服务器获取此信息。使用以下语法编辑配置文件。

4、测试配置文件并修改生效:sudo netplan try,如果没有问题,它将返回配置接受消息。如果配置文件未通过测试,它将恢复为以前的工作配置。

5、重启网络服务

如果是桌面版:

sudo systemctl restart system-networkd

如果您使用的是 Ubuntu 服务器,请改用以下命令:

sudo systemctl restart network-manager

6、验证IP是否生效:ip addr

2、Netplan配置文件注解:

2.1、使用DHCP

network:

  version: 2

  renderer: networkd

  ethernets:

    enp3s0:

      dhcp4: true

2.2、使用staticIP

network:

  version: 2

  renderer: networkd

  ethernets:

    enp3s0:

      addresses:

        - 10.0.0.10/8

      gateway4: 10.0.0.1

      nameservers:

          search: [mydomain, otherdomain]

          addresses: [10.0.0.5, 1.1.1.1]

2.3、多个网卡DHCP

network:

  version: 2

  ethernets:

    enred:

      dhcp4: yes

      dhcp4-overrides:

        route-metric: 100

    engreen:

      dhcp4: yes

      dhcp4-overrides:

        route-metric: 200

2.4、在单网卡配置多个IP(同一个网段)

network:

  version: 2

  renderer: networkd

  ethernets:

    enp3s0:

     addresses:

       - 10.0.0.10/8

       - 10.0.0.10/8

     gateway4: 10.0.0.1

2.5、在单网卡配置不同网段的IP

network:

  version: 2

  renderer: networkd

  ethernets:

    enp3s0:

     addresses:

       - 9.0.0.9/24

       - 10.0.0.10/24

       - 11.0.0.11/24

     #gateway4:    # unset, since we configure routes below

     routes:

       - to: 0.0.0.0/0

         via: 9.0.0.1

         metric: 100

       - to: 0.0.0.0/0

         via: 10.0.0.1

         metric: 100

       - to: 0.0.0.0/0

         via: 11.0.0.1

         metric: 100

2.6、连接wifi网络

 Connect to WPA encrypted WiFi:

network:

  version: 2

  renderer: networkd

  wifis:

    wlp2s0b1:

      dhcp4: no

      dhcp6: no

      addresses: [10.0.0.10/8]

      gateway4: 10.0.0.1

      nameservers:

        addresses: [10.0.0.5, 8.8.8.8]

      access-points:

        "network_ssid_name":

          password: "**********"

Connect to open WiFi (without password):

network:

  version: 2

  wifis:

    wl0:

      access-points:

        opennetwork: {}

      dhcp4: yes

3、配置本机的网络

先用ip addr 查看网卡名称,如ens33,然后找对应的yaml文件。

root@testhost01:/etc/netplan#  cp 90-NM-c9079332-b430-3d27-aefc-c81bc607a273.yaml 90-NM-c9079332-b430-3d27-aefc-c81bc607a273.yaml0

root@testhost01:/etc/netplan# ls

90-NM-9052ccd1-2d87-4272-88c0-c515a52f8ac7.yaml

90-NM-c9079332-b430-3d27-aefc-c81bc607a273.yaml

90-NM-c9079332-b430-3d27-aefc-c81bc607a273.yaml0

root@testhost01:/etc/netplan#  vi 90-NM-c9079332-b430-3d27-aefc-c81bc607a273.yaml

再编辑修改ip

注意缩进

然后

netplan try

netplan apply

最后重启网络验证:

systemctl restart NetworkMangager

五、centos8的网络操作命令

参考:

Centos8的版本如下:

[root@k8s-m1 ~]# uname -a

Linux k8s-m1 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

[root@k8s-m1 ~]# lsb_release -a

LSB Version:        :core-4.1-amd64:core-4.1-noarch

Distributor ID:        CentOS

Description:        CentOS Linux release 8.5.2111

Release:        8.5.2111

Codename:        n/a

[root@k8s-m1 ~]#

Centos8使用NetworkManager.service(检测NM)管理网络服务,之前早期的centos7/rhel7用的时network.service,centos8/rhel8目前已经不怎么使用,默认没有安装network.service。

NetworkManager.service(检测NM)对应的工具命令为:nmcli/nmtui

nmcli使用方法

nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全(详见本文最后的Tips),也可在命令最后通过-h、--help、help查看帮助。在nmcli中有2个命令最为常用:

nmcli connection

译作连接,可理解为配置文件,相当于ifconfig。可以简写为nmcli c

nmcli device

译作设备网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d

在NM里,有2个维度:连接(connection)设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。

设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。

connection有2种状态

▷ 活跃(带颜色字体):表示当前该connection生效

▷ 非活跃(正常字体):表示当前该connection不生效

device有4种常见状态

▷ connected:已被NM纳管,并且当前有活跃的connection

▷ disconnected:已被NM纳管,但是当前没有活跃的connection

▷ unmanaged:未被NM纳管

▷ unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)

如上图操作,使用了ip link set ens33 down之后nm device的颜色并没有发生变化,而且也不是断开的状态,但是效果时一样的。!

nmcli常用命令参数: 

# 查看ip(类似于ifconfig、ip addr)

 nmcli

 ​

 # 创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)

nmcli c add type ethernet con-name ens33 ipv4.addresses 192.168.105.199/24 ipv4.gateway 192.168.105.2 ipv4.method manual

以上命令会在/etc/sysconfig/network-scripts/下生成一个ifcfg-ens33-1的文件,文件内容见“第六部分的配置文件 cat ifcfg-ens33-1”,因只有一个ens33网卡(ens33-1是另外一个状态),所以nmcli c查看的时候只有一个状态是活跃的。

 ​

 # 创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)

 nmcli c add type ethernet con-name ens33 ifname ethX ipv4.method auto

 ​

 # 修改ip(非交互式)这里是针对ifcfg-ens33这个文件生效了。

 nmcli c modify ens33 ipv4.addr '192.168.105.99/24'

 nmcli c up ens33

 ​

 # 还可以交互式

  ​

 # 启用connection(相当于ifup)

 nmcli c up ens33

 ​

 # 停止connection(相当于ifdown)

 nmcli c down

 ​

 # 删除connection(类似于ifdown并删除ifcfg)

 nmcli c delete ens33

 ​

 # 查看connection列表

 nmcli c show

 ​

 # 查看connection详细信息

 nmcli c show ens33

 ​

 # 重载所有ifcfg或route到connection(不会立即生效)

 nmcli c reload

 ​

 # 重载指定ifcfg或route到connection(不会立即生效)

 nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX

 nmcli c load /etc/sysconfig/network-scripts/route-ethX

 ​

 # 立即生效connection,有3种方法

 nmcli c up ethX

 nmcli d reapply ethX

 nmcli d connect ethX

 ​

 # 查看device列表

 nmcli d

 ​

 # 查看所有device详细信息

 nmcli d show

 ​

 # 查看指定device的详细信息

 nmcli d show ethX

 ​

 # 激活网卡

 nmcli d connect ethX

 ​

 # 关闭无线网络(NM默认启用无线网络)

 nmcli r all off

 ​

 # 查看NM纳管状态

 nmcli n

 ​

 # 开启NM纳管

 nmcli n on

 ​

 # 关闭NM纳管(谨慎执行)

 nmcli n off

 ​

 # 监听事件

 nmcli m

 ​

 # 查看NM本身状态

 nmcli

 ​

 # 检测NM是否在线可用

 nm-online

重启查看网络服务的命令:

 systemctl stauts NetworkManager

 systemctl stop NetworkManager

 systemctl start NetworkManager

 systemctl restart NetworkManager

六、centos8的网络配置文件

配置文件名

文件功能说明

/etc/sysconfig/network-scripts/ifcfg-ens33

网络配置接口文件

/etc/hostname

本地主机名配置文件

/etc/hosts

完成主机名映射为IP的解析功能

/etc/networks

完成域名与网络地址(网络ID)的映射

/etc/host.conf

配置域名服务客户端的控制文件

/etc/resolv.conf

配置域名服务客户端的配置文件,用于指定域名服务器的位置

/etc/protocols

当前linux支持的协议以及各个协议号

/etc/services

当前linux支持的网络服务及端口号

以上配置文件实例内容。

/etc/protocols和

/etc/services的内容比较多,未列出。

网络接口配置文件:

[root@k8s-m1 network-scripts]# cat ifcfg-ens33-1

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

IPADDR=192.168.105.199

PREFIX=24

GATEWAY=192.168.105.2

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=0c00bd60-9cab-4e99-b812-5ec4c88631ba

ONBOOT=yes

[root@k8s-m1 network-scripts]#

这里可以使用以下方法来对ifcfg-ethxx进行配置:

  • 1. 手工配置ifcfg,通过NM来生效
  •  2. 通过NM自带工具配ip,比如nmcli

第1种直接写文件。

#这里需要 nmcli c reload,

# nmcli c up eth0 # 如果之前没有eth0的connection,则上一步reload后就已经自动生效

操作命令如下:

cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF

 NAME=eth0

 DEVICE=eth0

 ONBOOT=yes

 BOOTPROTO=none

 TYPE=Ethernet

 IPADDR=192.168.1.10

 NETMASK=255.255.255.0

 GATEWAY=192.168.1.1

 EOF

 第2种如上述第五部分所讲的,NM其实也就是对配置文件ifcfg的修改。

最后这里补下nmtui的工具使用:

输入nmtui进入:

使用TAB键来上下移动,ENTER选择对应的选项,比如进入“编辑连接”选项:

然后选择其中一个以太网的网卡,ENTER后进入编辑界面:

这里可以手动输入对应的ip,gw,route等信息。输入后TAB到确定返回上一步保存退出。

这里我举个自己的例子对照:

首先使用ip addr查看:

[root@k8s-m1 network-scripts]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

    link/ether 00:0c:29:59:bb:f9 brd ff:ff:ff:ff:ff:ff

    inet 192.168.105.130/24 brd 192.168.105.255 scope global dynamic noprefixroute ens33

       valid_lft 923sec preferred_lft 923sec

    inet 192.168.52.200/24 scope global ens33

       valid_lft forever preferred_lft forever

    inet 192.168.105.99/24 brd 192.168.105.255 scope global secondary noprefixroute ens33

       valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe59:bbf9/64 scope link noprefixroute

       valid_lft forever preferred_lft forever

3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default

    link/ether 02:42:1e:5d:d5:9e brd ff:ff:ff:ff:ff:ff

其次通过ifconfig查看:

[root@k8s-m1 network-scripts]# ifconfig -a

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 02:42:1e:5d:d5:9e  txqueuelen 0  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.105.130  netmask 255.255.255.0  broadcast 192.168.105.255

        inet6 fe80::20c:29ff:fe59:bbf9  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:59:bb:f9  txqueuelen 1000  (Ethernet)

        RX packets 21257  bytes 29228819 (27.8 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 12071  bytes 939917 (917.8 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 18  bytes 1238 (1.2 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 18  bytes 1238 (1.2 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

然后通过nmcli 查看:

[root@k8s-m1 network-scripts]# nmcli connection

NAME   UUID                                  TYPE      DEVICE

ens33  b5fbcdf1-cac3-4839-9015-886dc7546a68  ethernet  ens33 

ens33  0c00bd60-9cab-4e99-b812-5ec4c88631ba  ethernet  --    

[root@k8s-m1 network-scripts]# nmcli

ens33: 已连接 到 ens33

        "Intel 82545EM"

        ethernet (e1000), 00:0C:29:59:BB:F9, 硬件, mtu 1500

        ip4 默认

        inet4 192.168.105.99/24

        inet4 192.168.105.130/24

        inet4 192.168.52.200/24

        route4 0.0.0.0/0

        route4 192.168.105.0/24

        route4 192.168.105.0/24

        route4 192.168.52.0/24

        inet6 fe80::20c:29ff:fe59:bbf9/64

        route6 fe80::/64

docker0: 已断开

        "docker0"

        bridge, 02:42:1E:5D:D5:9E, 软件, mtu 1500

lo: 未托管

        "lo"

        loopback (unknown), 00:00:00:00:00:00, 软件, mtu 65536

DNS configuration:

        servers: 192.168.105.2

        domains: localdomain

        interface: ens33

使用 "nmcli device show" 获取关于已知设备的完整信息,以及

"nmcli connection show" 获取活动连接配置集的概述。

完整的用法细节,可参考 nmcli(1) 和 nmcli-examples(7) 手册页。

这里验证下,我从宿主机[192.168.105.1]win11ping了两个地址都是ok的,说明可用

这里我通过secCRT ssh的地址为192.168.105.130这个肯定必须可用的。

接下来通过nmtui修改查看对比:

nmtui执行:

这里设备为ens33(mac后4位--BB:F9)

修改为192.168.105.98/24

然后进入

这里第二个ens33,设备名就是空的了。

修改为192.168.105.198/24

保存退出。

再来查看,发现没有变化:

同时查看对应的ifcfg文件,发现通过nmtui修改生效了

Ifcfg-ens33对应的nutui界面上的第一个ens33,设备名后4位为BBF9

Ifcfg-ens33-1对应的刚才第二个ens33,设备名为空。

这里我

使用nmcli conn reload和systemctl restart NetworkManger之后还是一样

没有看到更改后的效果,这里必须重新连接网卡接口才可以生效!

重新连接网络接口:

 nmcli conn down ens33

nmcli conn up ens33

我重启了,失去了105.130的ssh连接,通过vm控制台进入查看后生效了。

如果重启这里192.168.105.130的IP就会失效,如果不重起这个92.168.105.130还是存在的,可能是vmware的原因。

这里给大家演示了,过程,有出错调试的。感觉更让人信服。

七、关于以上网络配置的说明

linux下的网络配置操作方法有以上两种,但是按配置后生效的结果又可以区分为临时性网络配置和永久性网络配置。

a、临时性网络配置

通过命令修改当前内核中的网络相关参数实现,比如使用命令(ip、 ifconfig、route、sysctl –w等),配置后立即生效,重启失效。

b、永久性网络配置

通过修改网络相关的配置文件实现,比如使用(vim/nano编辑器直接编辑)或是通过nmcli/nmtui工具(其实也就是针对配置文件编辑的)。修改后需重新连接指定的网络接口,重新开机后保留所有配置。

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

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

相关文章

单片机为什么有多组VDD?

以前我在画尺寸小的PCB时&#xff0c;比较头痛&#xff0c;特别是芯片引脚又多的&#xff0c;芯片底下&#xff0c;又不能打太多过孔。 可能有些老铁也比较好奇&#xff0c;为什么一个单片机芯片&#xff0c;有这么多组VDD和VSS。 比如下面这个100个引脚的STM32单片机。 有5组…

Blender基础操作

1.移动物体&#xff1a; 选中一个物体&#xff0c;按G&#xff0c;之后可以任意移动 若再按X&#xff0c;则只沿X轴移动&#xff0c;同理可按Y与Z 2.旋转物体&#xff1a; 选中一个物体&#xff0c;按R&#xff0c;之后可以任意旋转 若再按X&#xff0c;则只绕X轴旋转&…

STM32、GD32等驱动AMG8833热成像传感器源码分享

一、AMG8833介绍 1简介 AMG8833是一种红外热像传感器&#xff0c;也被称为热感传感器。它可以用来检测和测量物体的热辐射&#xff0c;并将其转换为数字图像。AMG8833传感器可以感知的热源范围为-20C到100C&#xff0c;并能提供8x8的像素分辨率。它通过I2C接口与微控制器或单…

全面解析平台工程与 DevOps 的区别与联系

平台工程的概念非常流行&#xff0c;但很多开发人员仍然不清楚它是如何实际运作的&#xff0c;这是非常正常的。 平台工程是与 DevOps 并行吗&#xff1f;还是可以相互替代&#xff1f;或者 DevOps 和平台工程是两个完全不同的概念&#xff1f; 一种比较容易将两者区分开来的方…

Feign负载均衡

Feign负载均衡 概念总结 工程构建Feign通过接口的方法调用Rest服务&#xff08;之前是Ribbon——RestTemplate&#xff09; 概念 官网解释: http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明式WebService客户端。使用Feign能让…

AI大模型探索之路-训练篇5:大语言模型预训练数据准备-词元化

系列文章目录&#x1f6a9; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据…

法律知识学习考试系统 C#+uniapp+asp.net微信小程序

技术要求&#xff1a;后端C#&#xff0c;安卓app&#xff0c;mysql数据库 系统分为管理员、教师端和学生端: 管理员端实现管理员的注册登录以及教师和学生的注册、法律法规内容的发布与更新、法律法规页面的评论的添加与删除、内容查询、知识小测的内容发布与删除、问卷调查的发…

云计算和边缘计算究竟有什么不同

在数据时代&#xff0c;无论是人的活动还是机器的运作都会产生各种各样海量的数据。在对数据梳理和筛选过程中&#xff0c;计算机的运算处理必不可少。为了减少本地计算机算力成本等限制&#xff0c;越来越多的企业选择了云计算和边缘计算。今天&#xff0c;德迅云安全就带您来…

SpikingJelly笔记之梯度替代

文章目录 前言一、梯度替代二、网络结构三、MNIST分类1、单步模式2、多步模式 总结 前言 在SpikingJelly使用梯度替代训练SNN&#xff0c;构建单层全连接SNN实现MNIST分类任务。 一、梯度替代 1、梯度替代&#xff1a; 阶跃函数不可微&#xff0c;无法进行反向传播 g ( x ) …

miniTry:Python实现web搜索(全自动+程序操控)

声明&#xff1a;本问给出了全部代码--可以复现--亲测有效 :) [ 代码为图片--> 强制自己去敲一次 又不多] 1.打开网站&#xff1a; 2.利用id去定位到我们要进行输入的内容&#xff08;bing可以直接进行搜索&#xff0c;而csdn需要登录&#xff0c;所以我们用csdn做演示&…

HODL、FUD、FOMO 等其他比特币俚语是什么意思?

作者&#xff1a;Paxful Team 1、FOMO&#xff08;惧怕错失机会&#xff09; FOMO 是惧怕错失机会的缩写&#xff0c;可用于日常生活。它指的是当其他人都在谈论比特币时&#xff0c;产生的购买比特币的紧迫感。 2、Shill&#xff08;不断推广吹捧&#xff09; Shilling 是指…

linux支持vGPU方案

1&#xff0c;查询gpu型号&#xff1a;lspci | grep "NVIDIA\|VGA" PCI Devices 2&#xff0c;下载驱动 官方驱动 | NVIDIA 3&#xff0c;安装 sudo sh NVIDIA-Linux-x86_64-440.118.02.run -no-x-check -no-nouveau-check -no-opengl-files参数说明&#xff1a; …

自定义View-旋转变色圆角三角形的绘制

本文字数&#xff1a;3151字 预计阅读时间&#xff1a;20分钟 在现代设计中&#xff0c;动效图在APP的UI界面中所起到的作用无疑是显著的。相比于静态的界面&#xff0c;动效更符合人类的自然认知体系&#xff0c;它有效地降低了用户的认知负载&#xff0c;UI动效俨然已经成为了…

汽车新四化,会发生什么?

北京国际汽车展览会正如火如荼地进行中,作为国内外汽车行业瞩目的盛会&#xff0c;众多车企纷纷亮出了自家的“杀手锏”。 这场汽车的盛宴不仅集中展示了众多汽车品牌的最新技术和产品&#xff0c;更深刻体现了汽车新四化的发展趋势。汽车新四化&#xff0c;即电动化、网联化、…

DS进阶:AVL树和红黑树

一、AVL树 1.1 AVL树的概念 二叉搜索树&#xff08;BST&#xff09;虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-…

使用Keil移植工程时修改单片机型号参数

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 当使用Keil对STM32系列单片机开发时&#xff0c;如果使用的是库函数&#xff0c;那么不同型号单片机的工程项目文件是可以直接移植的。只需要按照下面的步骤修改对应的芯片&#xff0c;就可以直接将工程移植过去&a…

JVM垃圾收集器--分区收集器

G1收集器 属性 G1&#xff08;Garbage-First Garbage Collector&#xff09;在 JDK 1.7 时引入&#xff0c;在 JDK 9 时取代 CMS 成为了默认的垃圾收集器。G1 有五个属性&#xff1a;分代、增量、并行、标记整理、STW。 分代 G1收集器 将内部分为多个大小相等的区域&#x…

Java8 Stream常见用法

Stream流的常见用法&#xff1a; 1.利用stream流特性把数组转list集合 //定义一个数组Integer[] array {5,2,1,6,4,3};//通过stream特性把数组转list集合List<Integer> list Arrays.stream(array).collect(Collectors.toList());//打印结果System.out.println(list);…

全球数据爬取的解决方案-国外数据爬取

引言 随着经济的持续低迷和对外贸易的需求扩大&#xff0c;各个公司为了更好的了解海外客户情况&#xff0c;最简单直接的办法就是从全球收集公共的网络数据。 无论是海外电商用户的消费习惯还是训练自己的通用人工智能chatgpt&#xff0c;都是需要海量和多种类型数据的支持。…

【Linux】进程间通信(共享内存、消息队列、信号量)

一、System V —— 共享内存&#xff08;详解&#xff09; 共享内存区是最快的 IPC 形式。一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到内核&#xff0c;换句话说&#xff0c;就是进程不再通过执行进入内核的系统调用来传递彼此的数…