Ubuntu 第11章 网络管理_常用的网络配置命令

        为了管理网络,Linux提供了许多非常有用的网络管理命令。利用这些命令,一方面可以有效地管理网络,另一方面出现网络故障时,可以快速进行诊断。本节将对Ubuntu提供的网络管理命令进行介绍。

11.2.1 ifconfig命令

        关于ifconfig命令,在11.1节中已经提到过了。通过该命令可以查看和配置网络接口。ifconfig是一个比较古老的命令,在Ubuntu22以及其他的许多发行版中,已经不太推荐使用该命令了。默认情况下,Ubuntu  22.04已经不提供该命令,用户可以通过安装net-tools软件包来获得该命令,如下所示:

root@node1:~# apt install net-tools

        ifconfig  命令的基本语法如下:

ifconfig [-v] interface [aftype] options | address ...

        在上面的语法中,参数interface表示要配置的网络接口。aftype表示地址类型,例如inet、inet6或者ddp等。options表示ifconfig命令的选项,常用的选项有:

  • -a:列出当前系统所有的可用网络接口,包括禁用状态的。
  • up:启用指定的网络接口。
  • down:  禁用指定的网络接口。
  • netmask:指定当前IP网络的子网掩码。
  • add:为指定网络接口增加一个IPv6地址。
  • del:从指定网络接口删除一个IPv6地址。
  • -broadcast:指定网络接口的广播地址。

address参数为指派给网络接口的IP地址。
例如,使用下面的命令查看当前系统所有的网络接口:

root@node1:~# ifconfig -a
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255ether 06:6c:3a:20:1c:30  txqueuelen 0  (以太网)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 24 overruns 0  carrier 0  collisions 0ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.6.101  netmask 255.255.255.0  broadcast 192.168.6.255inet6 fe80::fc0:15fc:cb36:c90a  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:da:76:27  txqueuelen 1000  (以太网)RX packets 1383  bytes 611544 (611.5 KB)RX errors 0  dropped 85  overruns 0  frame 0TX packets 791  bytes 118578 (118.5 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0device interrupt 19  base 0x2000  ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.8.150  netmask 255.255.255.0  broadcast 192.168.8.255inet6 fe80::20c:29ff:feda:7631  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:da:76:31  txqueuelen 1000  (以太网)RX packets 80  bytes 29877 (29.8 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 129  bytes 15218 (15.2 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0device interrupt 19  base 0x2080  lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (本地环回)RX packets 238  bytes 25070 (25.0 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 238  bytes 25070 (25.0 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        在上面的输出中,一共有四个网络接口,其名称分别为docker0、ens33、ens37和lo。关于各个网络接口的详细信息,在前面已经介绍过了,不再重复。

        如果想要禁用某个网络接口,可以使用down选项。例如,使用下面的命令禁用名称为ens37的网络接口:

root@node1:~# ifconfig ens37 down

        网络接口被禁用之后,其状态信息中就不再包含RUNNING属性了,如下所示:

root@node1:~# ifconfig ens37
ens37: flags=4098<BROADCAST,MULTICAST>  mtu 1500ether 00:0c:29:da:76:31  txqueuelen 1000  (以太网)RX packets 88  bytes 30757 (30.7 KB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 129  bytes 15218 (15.2 KB)TX errors 0  dropped 2 overruns 0  carrier 0  collisions 0device interrupt 19  base 0x2080  

被禁用的网络可以使用以下命令重新启动:

root@node1:~# ifconfig ens37 up

11.2.2 ip命令

        与前面介绍的ifconfig命令不同,ip命令是一个Linux系统中比较新的、功能强大的网络管理工具。ip命令是iproute2软件包中的核心命令。通过ip命令可以显示或操纵Linux主机的路由、网络设备、策略路由、多播地址和隐道。ip命令的基本语法如下:

ip [ OPTIONS ] OBJECT { COMMAND | help }

        在上面的语法中,options表示命令选项,常用的选项有:

  • -h:输出可读的信息。
  • -f:指定协议族,该选项可以取inet。inet6、bridge、ipx以及dnet五个值、如果没有指定协议族,则ip命令会从其他的参数判断,如果无法判断,则默认为inet。
  • -4:指定协议族为inet,即IPv4。
  • -6:指定协议族为inet6,即IPv6。
  • -B:指定协议族为bridge,即桥接。
  • -D:指定协议族为decnet。
  • -l:指定协议族为ipx,即IPX协议。
  • -s:显示详细信息。

object为命令操作的对象。常见的对象有:

  • Address:IPv4或者IPv6地址。
  • 12tp:L2TP隙道协议。
  • link:网络设备。
  • maddress:多播地址。
  • route:路由表。
  • rule:路由策略。
  • tunnel:隧道

        command  为命令,常用的命令有add、delete、show、set或者list等。根据不同的对象,会有不同的命令。下面分别介绍ip命令的使用方法。

1. 管理网络设备

        网络设备包括交换机、路由器以及网络接口等。ip命令最常管理的网络设备就是网络接口。
        例如,使用下面的命令显示网络设备的运行状态:

root@node1:~# ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000link/ether 00:0c:29:da:76:27 brd ff:ff:ff:ff:ff:ffaltname enp2s1
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000link/ether 00:0c:29:da:76:31 brd ff:ff:ff:ff:ff:ffaltname enp2s5
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default link/ether 06:6c:3a:20:1c:30 brd ff:ff:ff:ff:ff:ff

        在上面的命令中,link为对象,即网络设备,list为命令,所以整个命令的含义为列出所有的网络设备。如果想要显示更详细的信息,可以使用-s选项,如下所示:

root@node1:~# ip -s link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00RX:  bytes packets errors dropped  missed   mcast           25216     240      0       0       0       0 TX:  bytes packets errors dropped carrier collsns           25216     240      0       0       0       0 
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000link/ether 00:0c:29:da:76:27 brd ff:ff:ff:ff:ff:ffRX:  bytes packets errors dropped  missed   mcast           2409588    4048      0     316       0       0 TX:  bytes packets errors dropped carrier collsns           232332    2109      0       0       0       0 altname enp2s1
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000link/ether 00:0c:29:da:76:31 brd ff:ff:ff:ff:ff:ffRX:  bytes packets errors dropped  missed   mcast           56836     142      0       0       0       0 TX:  bytes packets errors dropped carrier collsns           23342     210      0       2       0       0 altname enp2s5
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default link/ether 06:6c:3a:20:1c:30 brd ff:ff:ff:ff:ff:ffRX:  bytes packets errors dropped  missed   mcast           0       0      0       0       0       0 TX:  bytes packets errors dropped carrier collsns           0       0      0      26       0       0 

使用下面的命令禁用网络接口ens37:

root@node1:~# ip link set ens37 down 

        在上面的命令中,由于操作的对象为网络接口,因此使用link。set命令用来设置属性。down为禁用状态,up为启用状态。

注意:以上命令等同于ifconfig  ens37  down。

设置完成之后,使用ip命令查看其状态,如下所示:

root@node1:~# ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000link/ether 00:0c:29:da:76:27 brd ff:ff:ff:ff:ff:ffaltname enp2s1
3: ens37: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000link/ether 00:0c:29:da:76:31 brd ff:ff:ff:ff:ff:ffaltname enp2s5
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default link/ether 06:6c:3a:20:1c:30 brd ff:ff:ff:ff:ff:ff

        从上面的输出可以得知,网络接口ens37的状态中不再含有UP标识。

        若想把ens37重新启用,则可以使用以下命令:

root@node1:~# ip link set ens37 up

        使用下面的命令改变网络设备的最大传输单元,即MTU的值为1400:

root@node1:~# ip link set ens37 mtu 1400

        其中,dev表示网络接口。因此,上面的命令把网络接口enp0s3的MTU值设置为1400。

        使用下面的命令修改网络设备的MAC地址,把网络接口enp0s3的MAC地址修改为
00:0c:29:da:76:31:

root@node1:~# ip link set ens37 address 00:0c:29:da:76:31

2. 管理 IP 地址

        利用ip命令可以管理网络接口的IP地址,包括添加、删除、显示以及清除等。其中需要使用address  对象。通常情况下,address可以缩写为a、add或者addr。

        使用下面的命令为网络接口ens37添加一个新的IP地址:

root@node1:~# ip address add 192.168.8.151/24 dev ens37

        在上面的命令中,IP地址采用CIDR地址表示法,斜线前面为IP地址,斜线后面为二进制子网掩码中1的个数。

        如果想要删除指定网络接口的IP地址,可以使用以下命令;

root@node1:~# ip addr del 192.168.8.151/24 dev ens37

        在上面的命令中,采用缩写addr,delete表示要执行的命令。

        ip命令中的show可以显示指定网络接口的IP地址信息,如下所示:

root@node1:~# ip a show dev ens37
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000link/ether 00:0c:29:da:76:31 brd ff:ff:ff:ff:ff:ffaltname enp2s5inet 192.168.8.150/24 brd 192.168.8.255 scope global noprefixroute ens37valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:feda:7631/64 scope link proto kernel_ll valid_lft forever preferred_lft forever

        同样,以下两个命令也可以显示同样的结果:

root@node1:~# ip addr ls ens37
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000link/ether 00:0c:29:da:76:31 brd ff:ff:ff:ff:ff:ffaltname enp2s5inet 192.168.8.150/24 brd 192.168.8.255 scope global noprefixroute ens37valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:feda:7631/64 scope link proto kernel_ll valid_lft forever preferred_lft forever

        在上面的例子中,使用list命令代替show,list可以缩写为ls。从上面的例子可以得知,ip命令的语法是非常灵活的。

        如果想要清除某个网络接口的IP地址,则可以使用flush,如下所示:

root@node1:~# ip -4 addr flush ens37

        上面的命令使用-4选项来表示清除IPv4类型的IP地址,同时指定网络接口为ens37。

        注意:通过ip命令修改的IP地址重启后会消失。如果想永久保存,请修改网络配置文件。

3. 管理路由表

        在ip命令中,路由表使用route对象表示。route可以缩写为r或者ro。从Linux内核2.2版本开始,内核把路由归纳到许多路由表中,并对这些表都进行编号,编号的范围是1~255。另外,为了方便,还可以在/etc/iproute2/rt_tables中为路由表命名。例如,下面的代码为一个默认的rt_tables文件的内容:

itadmin@lenovo-07:~$ cat /etc/iproute2/rt_tables
#
# reserved values
#
255	local
254	main
253	default
0	unspec
#
# local
#
#1	inr.ruhep

        在上面的文件中,每行定义一个路由表,前面的数字为路由表编号,后面为路由表名称,例如local、main以及default等。上面的几个路由表为默认路由表,用户不可以修改。用户可以修改该文件,增加新的路由表,但是前面的编号不可以重复。

        默认情况下,所有的路由都会被插入编号为254的main表中。在进行路由查询时,内核只使用路由表  main。

        默认情况下,ip命令会显示出main路由表的路由信息,如下所示:

root@node1:~# ip route show
default via 192.168.6.1 dev ens33 proto dhcp src 192.168.6.101 metric 100 
default via 192.168.8.2 dev ens37 proto static metric 101 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.6.0/24 dev ens33 proto kernel scope link src 192.168.6.101 metric 100 
192.168.8.0/24 dev ens37 proto kernel scope link src 192.168.8.150 metric 101

        从上面的输出可以得知,当前系统的main路由表中一共有5条路由信息。其中第1~2行都为默认路由,使用关键字default表示。第1行为网络接口ens33指定默认网关为192.168.6.1,其跳数为100。第2行为网络接口ens37指默认网关为192.168.8.2,其跳数为101。默认网关是必须要有的路由信息,当系统在发送数据包的时候,查不到相应的路由信息,便直接从默认路由发送。

        如果想要显示其他路由表的路由记录,则可以通过table关键字来指定路由表,如下所示:

root@node1:~# ip route show table local
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 
local 172.17.0.1 dev docker0 proto kernel scope host src 172.17.0.1 
broadcast 172.17.255.255 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
local 192.168.6.101 dev ens33 proto kernel scope host src 192.168.6.101 
broadcast 192.168.6.255 dev ens33 proto kernel scope link src 192.168.6.101 
local 192.168.8.150 dev ens37 proto kernel scope host src 192.168.8.150 
broadcast 192.168.8.255 dev ens37 proto kernel scope link src 192.168.8.150 

        上面的命令显示了local路由表的路由信息。

        注意:如果没有指定table关键字,则默认为main路由表。

        下面的例子删除一条默认路由:

root@node1:~# ip route del default

        执行完以上命令之后,再次显示路由表信息,结果如下:

root@node1:~# ip route list 
default via 192.168.8.2 dev ens37 proto static metric 101 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.6.0/24 dev ens33 proto kernel scope link src 192.168.6.101 metric 100 
192.168.8.0/24 dev ens37 proto kernel scope link src 192.168.8.150 metric 101 

        可以得知,网络接口  ens37的默认路由已经被删除了。由于当前系统还有一条通过网络接口ens37的默认路由,因此该系统仍然可以访问其他所有的网络。如果再执行一次上面的命令,把网络接口ens37的默认路由也删除,则该系统便不能访问其他的网络了,如下所示:

root@node1:~# ip route del default 
root@node1:~# ping 8.8.8.8
ping: connect: 网络不可达

        但是由于通向网络192.168.6.0/24和192.168.8.0/24的路由还存在,因此这两个网络仍然可以访问,如下所示:

root@node1:~# ping 192.168.8.2
PING 192.168.8.2 (192.168.8.2) 56(84) bytes of data.
64 bytes from 192.168.8.2: icmp_seq=1 ttl=128 time=0.232 ms
64 bytes from 192.168.8.2: icmp_seq=2 ttl=128 time=0.085 ms

        为了使得系统能够访问其他的网络,使用以下命令添加一条默认路由:

root@node1:~# ip route add default via 192.168.6.1 dev ens33
root@node1:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=3 ttl=114 time=10.3 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=114 time=10.6 ms

        ip  route  get命令可以获取通向某个IP地址的路由信息,如下所示:

root@node1:~# ip route get 8.8.8.8
8.8.8.8 via 192.168.6.1 dev ens33 src 192.168.6.101 uid 0 cache 

        上面的命令告诉我们,发送到8.8.8.8的数据包经过网络接口ens37,并且通过网关192.168.6.1。

4. 管理策略路由

        在某些情况下,我们不只是需要通过数据包的目的地址决定路由,可能还需要通过其他一些信息,例如源地址、IP协议、传输层端口甚至数据包的负载。这叫作策略路由。策略路由是Linux提供的一种比较高级的路由功能。策略路由由路由规则来表示,在IP命令中,其对象为rule。同样,

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt解决自定义窗口样式不生效问题

方法一&#xff1a; this->setAttribute(Qt::WA_StyledBackground, true); 方法二&#xff1a; 将类继承QWidget 改成继承 QFrame class MyWidget : public QFrame {} 方法三&#xff1a;重新实现QWidget的paintEvent函数时&#xff0c;使用QStylePainter绘制。 void p…

HNUST湖南科技大学-软件测试期中复习考点(保命版)

使用说明&#xff1a;本复习考点仅用于及格保命。软件测试和其他专业课不太一样&#xff0c;记忆的太多了&#xff0c;只能说考试的时候&#xff0c;想到啥就写啥&#xff0c;多写一点&#xff01;多写一点&#xff01;多写一点&#xff01;&#xff08;重要事情说三遍&#xf…

ES6 知识点整理

一、变量声明&#xff1a;var、let、const 的区别 作用域 var&#xff1a;函数作用域&#xff08;函数内有效&#xff09;。let/const&#xff1a;块级作用域&#xff08;{} 内有效&#xff0c;如 if、for&#xff09;。 变量提升 var 会提升变量到作用域顶部&#xff08;值为…

分布式爬虫去重:Python + Redis实现高效URL去重

1. 引言 在互联网数据采集&#xff08;爬虫&#xff09;过程中&#xff0c;URL去重是一个关键问题。如果不对URL进行去重&#xff0c;爬虫可能会重复抓取相同页面&#xff0c;导致资源浪费、数据冗余&#xff0c;甚至触发目标网站的反爬机制。 对于单机爬虫&#xff0c;可以使…

C# WPF 颜色拾取器

x:Name=Color Picker 语言:C# WPF 下载:https://download.csdn.net/download/polloo2012/90780640 主界面 颜色库 关于我们 颜色拾取器是一种能够帮助用户获取颜色信息,并进行颜色选择、识别和调整的工具,以下将从其常见类型、使用场景及部分软件工具这几个维度展开介绍…

Git 使用的全流程以及SourceTree工具的使用操作和忽略文件的配置

1. 安装 Git 要使用 Git&#xff0c;首先得在你的系统上安装它。你可以按照不同操作系统的安装指南来操作&#xff1a; Windows&#xff1a;访问 Git 官方下载页面&#xff0c;下载安装程序并运行。 macOS&#xff1a;可以使用 Homebrew 来安装&#xff0c;命令为 brew inst…

《深入理解Linux网络》笔记

《深入理解Linux网络》笔记 前言参考 前言 前段时间看了《深入理解Linux网络》这本书&#xff0c;虽然有些地方有以代码充篇幅的嫌疑&#xff0c;但总体来说还是值得一看的。在这里简单记录一下笔记&#xff0c;记录下对网络新的理解。 内核是如果接受网络包的&#xff1f; 如…

数仓-可累计,半累加,不可累加指标,是什么,举例说明及解决方案

目录 1. 可累计指标定义&#xff1a;举例&#xff1a;解决方案&#xff1a; 2. 半累加指标定义&#xff1a;举例&#xff1a;解决方案&#xff1a; 3. 不可累加指标定义&#xff1a;举例&#xff1a;解决方案&#xff1a; 4. 总结对比5. 实际场景中的注意事项 这是数据仓库设计…

NestJS 的核心构建块有哪些?请简要描述它们的作用(例如,Modules, Controllers, Providers)

NestJS 核心构建块解析&#xff08;Modules、Controllers、Providers&#xff09; NestJS 是一个基于 TypeScript 的渐进式 Node.js 框架&#xff0c;核心设计借鉴了 Angular 的模块化思想。下面从实际开发角度解析它的三大核心构建块&#xff0c;并附代码示例和避坑指南。 一…

vue2 上传pdf,拖拽盖章,下载图片

效果图片&#xff1a; 不多废话上代码&#xff1a; <template><div class"pdf-stamp" onbeforecopyreturn false onselectdocument.selection.empty() ondragstartreturn false onselectstart return false ><div class"scroll-box" scro…

理性地倾听与表达:检索算法的语言学改进

论文标题 Rational Retrieval Acts: Leveraging Pragmatic Reasoning to Improve Sparse Retrieval 论文地址 https://arxiv.org/pdf/2505.03676 代码地址 https://github.com/arthur-75/Rational-Retrieval-Acts 作者背景 巴黎萨克雷大学&#xff0c;索邦大学&#xff…

MySQL及线程关于锁的面试题

目录 1.了解过 MySQL 死锁问题吗&#xff1f; 2.什么是线程死锁&#xff1f;死锁相关面试题 2.1 什么是死锁&#xff1a; 2.2 形成死锁的四个必要条件是什么&#xff1f; 2.3 如何避免线程死锁&#xff1f; 3. MySQL 怎么排查死锁问题&#xff1f; 4.Java线上死锁问题如…

【Reality Capture 】Reality Capture1.5中文版安装教程(附安装包下载)

文章目录 一、Reality Capture1.5中文版安装教程二、拷贝中文补丁三、Reality Capture1.5中文版下载地址一、Reality Capture1.5中文版安装教程 1. Reality Capture v1.4.0汉化版安装包下载并解压 2. 运行EpicInstaller-15.17.1-4a91a118786f4c2aa3c0093b23f83863.msi 3. 更改…

SVG数据可视化设计(AI)完全工作流解读|计育韬

AI 的 SVG 创作极限在哪里&#xff1f;绝不是那些初级的流程图生成和粗糙的商业模型设计。以下是由我们 JZ Creative Studio 通过 Claude 和 Deepseek 开展的专业级 SVG Data Visualization 创作&#xff0c;应广大读者强烈要求&#xff0c;专程直播讲授了一期 AI 工作流分享。…

not a genuine st device abort connection的问题

1.魔法棒里面电机Settings 2.然后在Other里面把Enabled的钩子去掉

uv简单使用

通过uv创建项目和虚拟环境 初始化项目 uv init --package my-project 初始化一个名为 my-project 的新项目&#xff0c;并生成必要的文件结构。 创建虚拟环境 uv venv .venv 激活虚拟环境 # For Windows .venv\Scripts\activate# For macOS/Linux source .venv/bin/acti…

测试左移系列-产品经理实战-实战认知1

课程&#xff1a;B站大学 记录产品经理实战项目系统性学习&#xff0c;从产品思维&#xff0c;用户画像&#xff0c;用户体验&#xff0c;增长数据驱动等不同方向理解产品&#xff0c;从0到1去理解产品从需求到落地的全过程&#xff0c;测试左移方向&#xff08;靠近需求、设计…

从需求到用例的AI路径:准确率与挑战

用工作流生成测试用例和自动化测试脚本&#xff01; 引言&#xff1a;用例的黄金起点 在软件工程中&#xff0c;“测试用例”是连接需求理解与质量保障之间的关键桥梁。一份高质量的测试用例&#xff0c;不仅是验证功能实现是否符合需求的工具&#xff0c;更是产品风险感知、用…

大语言模型中的“温度”参数到底是什么?如何正确设置?

近年来&#xff0c;市面上涌现了大量调用大模型的工具&#xff0c;如 Dify、Cherry Studio 等开源或自研平台&#xff0c;几乎都提供了 “温度”&#xff08;Temperature&#xff09; 选项。然而&#xff0c;很多人在使用时并不清楚该如何选择合适的温度值。 今天&#xff0c;…

如何删除网上下载的资源后面的文字

这是我在爱给网上下载的音效资源&#xff0c;但是发现资源后面跟了一大段无关紧要的文本&#xff0c;但是修改资源名称后还是有。解决办法是打开属性然后删掉资源的标签即可。