当前位置: 首页 > news >正文

01、Linux网络设置

目录

1.1 查看及测试网络

1.1.1 查看网络配置

        1、查看网络接口地址

2、查看主机状态

3、查看路由表条目

4、查看网络连接qing

1.1.2 测试网络连接

1.测试网络连接

2.跟踪数据包的路由路径

3.测试DNS域名解析

1.2 设置网络地址参数

1.2.1 使用网络配置命令

        1.修改网卡地址、状态

2.添加、删除静态路由记录

3.修改主机的名称

1.2.2 修改网络配置文件

1.网络接口配置文件

2.启用、禁用网络接口配置

3.主机名称配置文件

4.域名解析服务


1.1 查看及测试网络

        查看及测试网络配置是管理 Linux 网络服务的第一步,本节将学习 Linux 操作系统中的网络查看及测试命令。其中讲解的大多数命令以普通用户权限就可以完成操作,但普通用户在执行/sbin/目录中的命令时需要指定命令文件的绝对路径。

1.1.1 查看网络配置

        1、查看网络接口地址

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

(1)查看活动的网络接口设备

        若采用mini版CentOS7安装的系统,默认是没有ifconfig命令的,需要先通过yum方式安装net-tools软件包,才有ifconfig命令。在不带任何选项和参数执行ifconfig命令时,将显示当前主机中已启用(活动)的网络接口信息。例如,直接执行ifconfig命令后可以看ens33、lo这两个网络接口信息,具体操作如下:

        在上述输出结果中,ens33 对应为第一块物理网卡,10对应为虚拟的回环接口。

  • ens33:第一块以太网卡的名称。“ens33"中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。由此可以得知,从 CentOS7开始,使用基于固件、硬件拓扑和设备位置信息分配的一致网络设备命名(Consistent Network Naming)。因为一致的网络设备名是基于系统硬件的,所以在不同的操作系统上,网络接口名称可能不同。
  • lo:“回环”网络接口,“o"是“loopback”的缩写,它不代表真正的网络接口,而是个虚拟的网络接口,其IP 地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试。

(2)查看指定的网络接口信息
        当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig 命令的参数(不论该网络接口是否处于激活状态)。例如,执行“ifconfig ens33”命令后可以只查看网卡 ens33 的配置信息,具体操作如下:

        从上述命令显示的结果中,可以获知 ens33 网卡的一些基本信息,如下所述

  • inet:表示网络接口的|P 地址,如“192.168.4.11”
  • netmask:表示网络接口的子网掩码,如“255.255.255.0”
  • broadcast:表示网络接口所在网络的广播地址,如“192.168.4.255”
  • ether:表示网络接口的物理地址(MAC 地址),如“00:0c:29:3a:81:cc”。网络接口的物理地址通常不能更改,是网卡在生产时确定的全球唯一的硬件地址。

        除此以外,还能够通过“TX"和“RX"等信息了解通过该网络接口发送和接收的数据包个数、流量等更多属性。

2、查看主机状态

        在 Linux 操作系统中,相当一部分网络服务都会通过主机名来识别主机,如果主机名配置不当,可能会导致程序功能出现故障。使用 hostname 命令可以查看当前主机的主机名,不用添加任何选项或参数,具体操作如下:

3、查看路由表条目

        Linux 操作系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。直接执行“route"命令可以査看当前主机中的路由表信息,在输出结果中,Destination 列对应目标网段的地址,Gateway 列对应下一跳路由器的地址,lface 列对应发送数据的网络接口。

        当目标网段为“default”时,表示此行是默认网关记录;当下一跳为“gateway"时,表示目标网段是与本机直接相连的。但是,直接执行“route”命令无法直接看出默认网关地址。

        若结合“-n”选项使用,可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度。例如,执行“route -n"命令后,输出信息中的“gateway"地址将显示为“192.168.4.1”,默认网关记录中的“default"也将显示为“0.0.0.0”,具体操作如下:

4、查看网络连接qing

        通过 netstat 命令可以査看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具。以下是 netstat 命令常用的几个选项。

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

        通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息。结合管道命令使用“grep"命令,还可以在结果中过滤出所需要的特定记录。例如,执行以下操作可以查看本机中是否有监听“TCP 80”端口(即标准 Web 服务)的服务程序,输出信息中包括 PID号和进程名称。

        除了 netstat,ss 命令也可以査看网络连接情况,它是 Socket Statistics 的缩写,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。要想使用 ss 命令,首先确保 iproute 程序包已被安装,可以通过 yum 方式进行安装。

  • -h:--help 通过该选项获取更多的使用帮助。
  • -V:--version 显示软件的版本号。
  • -t:--tcp 显示TCP 协议的 sockets.
  • -u:--udp 显示 UDP 协议的 sockets。
  • -n:--numeric 不解析服务的名称,如"22"端口不会显示成"ssh"。
  • -l: --listening 只显示处于监听状态的端口。
  • -p:--processes 显示监听端口的进程。
  • -a:--all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接。
  • -r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。

        ss 命令的输出结果,可以提供 TCP 和 UDP 的 socket 信息,以及各种服务建立的持久连结,熟悉这个命令有助于更好的发现与解决系统性能问题。例如,执行以下操作可以显示TCP 协议下已经建立的连接,“Local Address:Port"表示本地监听的 IP 和端口,“PeerAddress:Port”表示远端连接的 |P 和端口,具体 ss 的操作命令如下。

1.1.2 测试网络连接

        用户访问网络服务的前提是网络连接处于正常状态。若网络连接不稳定,甚至无法连接用户则无法正常访问网络服务。因此,当网络连接出现问题时,需要通过测试网络连接的命令来确定故障点。下面介绍几个常用的测试网络连接的命令。

1.测试网络连接

        使用 ping 命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按 Ctr+C 组合键后中止测试,并显示最终统计结果。例如,以下操作将测试从本机到另一台主机192.168.4.110 的连通性情况,连接正常时会收到返回的数据包。

        执行 ping 测试命令时,若不能获得从目标主机发回的反馈数据包,则表示在本机到目标主机之间存在网络连通性故障。例如,若看到“Destination Host Unreachable”的反馈信息则表示目的主机不可达,可能目标地址不存在或者主机已经关闭;若看到“Networkisunreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。

        当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,使用ping 命令测试可能会频繁看到“Request timeout”的反馈结果,表示与目标主机间的连接超时(数据包响应缓慢或丢失)。除此以外,当目标主机有严格的防火墙限制时,也可能收到“Request timeout”的反馈结果。

2.跟踪数据包的路由路径

        若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包。traceroute命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为""。例如,通过以下操作结果可以看出,从本机到目标主机 192.168.7.7 之间,中间需跨越一个路由器 192.168.4.1

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

3.测试DNS域名解析

        当域名解析出现异常时,将无法使用域名的形式访问网络中的 Web 站点、电子邮件系统等服务。nslookup 命令是用来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可。若在执行过程中提示无法找到nslookup命令,可通过yum安装bind-utils程序包的方式来解决。例如,执行“nslookup www.google.com”命令后,nslookup 程序将提交查询请求,询问站点 www.google.com 对应的 IP 地址是多少,具体操作如下:

        若能够成功反馈要查询域名的IP 地址,则表示域名解析没有问题,否则需要根据实际反馈情况来判断故障原因。例如,若出现"… no servers could be reached”的信息,则表示不能连接到指定的 DNS 服务器;若出现“..... can't find xxx.yyy.ZZZ:NXDOMAIN”的信息,则表示要查询的域名不存在。

        此外还有 dig 命令也可以用来测试域名解析,相对于 nslookup 命令,dig 可以得到更多的域名信息。dig 的全称是(domain information groper),它是一个用于査询 DNS 域名服务器的灵活的工具。大多数系统管理员都是利用 dig 作为 DNS 问题的故障诊断工具,因为它具有灵活性好、易用、输出清晰等特点。dig 命令最典型的用法就是查询单个主机的信息。

        dig 在查询过程中,还可以指定特点的 DNS 服务器。如果不指定 DNS 服务器,默认会使用/etc/resolve.conf 里面的地址作为 DNS 服务器


1.2 设置网络地址参数

        从本节开始将学习如何来修改 Linux 主机的各种网络地址参数。在 Linux 主机中,手动修改网络配置包括两种最基本的方法。

  • 临时配置:通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做的修改并没有固定地存放在静态的文件中,因此当重启 network服务或重启主机后将会失效。
  • 固定配置:通过配置文件来存放固定的各种网络地址,需要重启network 服务或重启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用。

1.2.1 使用网络配置命令

        1.修改网卡地址、状态

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

(1)修改网卡的IP地址、子网掩码

        需要设置网卡的地址时,命令格式如下:或者

        通常后一种方式用得更多一些。当不指定子网掩码时,将使用IP地址所在分类的默认子网掩码。指定新的IP地址和子网掩码以后,原有的地址将会失效。例如,执行以下操作可以将网卡 ens33 的 IP 地址设置为 192.168.168.1,子网掩码长度为 24。

或者

(2)禁用、激活网络接口

        需要临时禁用或者重新激活指定的网络接口时,需要结合“down"和“up”"开关选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。例如,执行以下操作将会禁用网卡 ens37.

(3)为网卡绑定虚拟接口

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

        例如,执行以下操作可以为网卡 ens33 添加一个虚拟接口 ens33:0,并将这个虚拟接口的 IP 地址设置为 172.17.17.17。虚拟接口的|P 地址和网卡原有的 IP 地址都可以正常使用。        可以根据需要添加更多的虚拟接口,如“ens33:1"ens33:2”等

2.添加、删除静态路由记录

        route 命令不仅可以用于査看路由表信息,还可用来添加、删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)。

(1)通过“route add”操作可以添加路由记录,结合“-net”选项指定目标网段的地址,结合“gw选项指定下一跳路由器的IP 地址。例如,若要使本机访问另一个网段 192.168.3.0/24 的数据包都发送给 192.168.4.254,可以执行以下操作。需要注意的是,默认网关的 IP 地址应该与本机其中一个接口的IP 地址在同一个网段内。

        通过“route del”操作可以删除路由记录,只要结合“-net”选项指定对应路由记录中目标网段的地址即可。例如,执行以下操作可以删除前面添加到 192.168.3.0/24 网段的静态路由条目。

(2)添加、删除默认网关记录

        添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网段时只需简单地使用“default”表示即可,无须再使用“-net”选项指明网段地址。例如,执行以下操作将先删除已有的到 192.168.4.1 的默认网关记录,再添加新的 192.168.4.254 的默认网关记录。

        需要注意的是,在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障。

3.修改主机的名称

        hostname 命令不仅可以用于显示当前主机的名称,还可以修改当前主机的名称。在新登录的用户会话(She 环境)中,命令提示符中的主机名部分也会出现相应的变化。例如,执行“hostname www.bdqn.com"命令可以将主机名改为“www.bdqn.com”,具体操作如下:

1.2.2 修改网络配置文件

        当需要为 Linux 服务器设置固定的网络地址时,若仍用 ifconfig 等网络命令来进行设置,将会大大降低服务器运行的可靠性。若要使 Linux主机在重启系统以后仍然能够使用相同的网络配置,那么直接修改配置文件是最好的方法。
        下面将分别介绍常见的几个网络配置文件。

1.网络接口配置文件

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

        在网卡的配置文件 ifcfg-ens33 中,可以看到设置静态 IP 地址的部分内容如下:

        上述各配置项的含义及作用如下

  • TYPE:设置网卡类型,“Ethernet”表示以太网,
  • BOOTPROTO:设置网络接口的配置方式,值为“static”时表示使用静态指定的IP地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址。
  • DEVICE:设置网络接口的名称。
  • ONBOOT:设置网络接口是否在 Linux 操作系统启动时激活。
  • IPADDR:设置网络接口的IP 地址。
  • NETMASK:设置网络接口的子网掩码,
  • GATEWAY:设置网络接口的默认网关地址。

2.启用、禁用网络接口配置

        在 CentOS7操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动 network 服务或者重启主机,具体操作如下。默认情况下,重启 network 服务会先关闭所有的网络接口,再根据配置文件重新启用所有的网络接口。

        如果只是禁用、启用某一个网络接口(而不是所有接口),可分别使用两个接口控制脚本 ifdown、ifup。例如,执行以下操作将会先关闭 ens33 网卡,然后根据配置文件启用 ens33网卡。

3.主机名称配置文件

        若要修改 Linux 操作系统的主机名,可以修改配置文件/etc/hostname。将要设置的主机名写入此文件内,如果文件内输入了多行内容,此时系统仅识别第一行的内容为系统主机名。例如,执行以下操作可以将主机名由默认的 localhost.localdomain 改为 www.bdqn.com。

        通过修改/etc/hostname 来更改的主机名,如果要让其生效,需重启 Linux 系统。
        此外,还可以通过 hostnamectl 命令来修改主机名,命令操作如下。

4.域名解析服务

        在 Linux 操作系统中有两个与域名解析相关的配置文件,下面逐一介绍。

(1)指定为本机提供 DNS 解析的服务器地址

        /etc/resolv.conf文件中记录了本机默认使用的 DNS 服务器的地址信息,对该文件所做的修改将会立刻生效。Linux操作系统中最多可以指定3个(第3个以后的将被忽略)不同的 DNS 服务器地址,优先使用第一个 DNS 服务器。例如,执行以下操作可以指定默认使用的两个 DNS 服务器地址分别位于 202.106.0.20 和 202.106.148.1。

        resolv.conf 文件中的“search localdomain”行用来设置默认的搜索域(域名扩展名)例如,当访问主机“localhost”时,就相当于访问“localhost.localdomain”。
        但是,在 CentOS7环境下,如果按照上面方式配置,过一段时间会被系统重新覆盖或者清除,此时需要修改/etc/NetworkManager/NetworkManager.conf 文件,在 main 部分添
加“dns=none”配置项。

        之后需要重启 NetworkManager 服务。确保/etc/resolv.conf 内有配置信息,此时就可以正常解析域名了。

(2)本地主机映射文件

        /etc/osts 文件中记录着一份主机名与IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
        例如,若在/etc/hosts 文件中添加“119.75.218.70 ww.baidu.com”的映射记录,则当访问网站 www.baidu.com 时,将会直接向 IP 地址 119.75.218.70 发送 Web 请求,省略了向 DNS 服务器解析 IP 地址的过程。

        对于经常访问的一些网站,可以通过在/etc/hosts 文件添加正确的映射记录,减少 DNS查询过程,从而提高上网速度。当然,若添加了错误的映射记录,则可能导致网站访问出现异常。另外,因为 hosts 文件只保存在本地,所以其中的映射记录也只适用于当前主机,而无法作用于整个网络。

相关文章:

01、Linux网络设置

目录 1.1 查看及测试网络 1.1.1 查看网络配置 1、查看网络接口地址 2、查看主机状态 3、查看路由表条目 4、查看网络连接qing 1.1.2 测试网络连接 1.测试网络连接 2.跟踪数据包的路由路径 3.测试DNS域名解析 1.2 设置网络地址参数 1.2.1 使用网络配置命令 1.修改网卡…...

ssm160基于Java技术的会员制度管理的商品营销系统的设计与实现+vue

商品营销系统计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本商品营销系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理…...

边缘计算网关在智慧厕所远程监测与管理的应用

随着智慧城市建设的不断深入,城市公共设施的智慧化管理成为了提升城市品质和居民生活质量的关键建设。公厕作为城市基础设施的重要组成部分,其管理效率和卫生状况直接影响着市民的日常生活体验。在公厕设施建设背景下,边缘计算网关技术的应用…...

嵌入式linux中设备树使用of函数操作基本方法

各位开发者大家好,今天主要给大家分享一下,如何使用of操作函数,获取对应设备树节点先关的属性信息。 第一:of_find_property函数 of_find_property 函数用于在设备树中查找节点下具有指定名称的属性。如果找到了该属性,可以通过返回的属性结构体指针进行进一步的操作,比…...

10.GLM

智谱AI GLM 大模型家族 最强基座模型 GLM-130B GLM (General Language Model Pretraining with Autoregressive Blank Infilling) 基于自回归空白填充的通用语言模型(GLM)。GLM通过增加二维位置编码并允许以任意顺序预测跨度来改进空白填充预训练&…...

【深度学习】Transformer分类器,CICIDS2017,入侵检测,随机森林、RFE、全连接神经网络

文章目录 1 前言2 随机森林训练3 递归特征消除 RFE Recursive feature elimination4 DNN5 Transformer5.1. 输入嵌入层(Input Embedding Layer)5.2. 位置编码层(Positional Encoding Layer)5.3. Transformer编码器层(T…...

pdf压缩到指定大小的简单方法

压缩PDF文件是许多人在日常工作和学习中经常需要面对的问题。PDF文件因其跨平台、易阅读的特性而广受欢迎,但有时候文件体积过大,会给传输和存储带来不便。因此,学会如何有效地压缩PDF文件,就显得尤为重要。本文将详细介绍几种常见…...

关于FPGA对 DDR4 (MT40A256M16)的读写控制 I

关于FPGA对 DDR4 (MT40A256M16)的读写控制 I 语言 :Verilg HDL EDA工具:ISE、Vivado 关于FPGA对 DDR4 (MT40A256M16)的读写控制 I一、引言二、DDR4的特性(MT40A256M16)(1…...

JavaWeb_SpringBootWeb案例

环境搭建: 开发规范 接口风格-Restful: 统一响应结果-Result: 开发流程: 第一步应该根据需求定义表结构和定义接口文档 注意: 本文代码从上往下一直添加功能,后面的模块下的代码包括前面的模块&#xff0c…...

Linux中FTP安装

文章目录 一、FTP介绍1.1、FTP是什么1.2、FTP的工作原理1.3、FTP的传输模式1.4、FTP用户类别1.5、FTP的优点与缺点1.6、FTP数据传输格式 二、FTP客户端与服务端2.1、服务端2.2、客户端 三、FTP服务器软件介绍3.1、WU-FTPD3.2、ProFtpD3.3、vsftpd3.4、Pure-FTP3.5、FileZilla S…...

【Spring EL<二>✈️✈️ 】SL 表达式结合 AOP 注解实现鉴权

目录 🍻前言 🍸一、鉴权(Authorization) 🍺二、功能实现 2.1 环境准备 2.2 代码实现 2.3 测试接口 🍹三、测试功能 3.1 传递 admin 请求 ​ 3.2 传递普通 user 请求 🍻四、章末 &a…...

冯喜运:6.13美盘外汇黄金原油趋势分析及操作策略

【黄金消息面分析】:美国5月生产者价格指数(PPI)的意外下降,为市场带来了通胀可能见顶的积极信号。与此同时,初请失业金人数的上升,为劳动力市场的现状增添了一层不确定性。美国劳工统计局公布的数据显示&a…...

Lecture2——最优化问题建模

一,建模 1,重要性 实际上,我们并没有得到一个数学公式——通常问题是由某个领域的专家口头描述的。能够将问题转换成数学公式非常重要。建模并不是一件容易的事:有时,我们不仅想找到一个公式,还想找到一个…...

unidbg讲解V1

前言 unidbg是什么? unidbg是一个Java项目,可以帮助我们去模拟一个安卓或IOS设备,用于去执行so文件中的算法,从而不需要再去逆向他内部的算法。最终会产出一个jar包,可以被python进行调用。 如何使用unidbg? 下载github上开源的项目:https://github.com/zhkl0228/un…...

软设之敏捷方法

敏捷方法的总体目标是通过尽可能早地,持续地对有价值的软黏的交付,使客户满意 适用于:小步快跑的思想,适合小项目小团队 极限编程XP 4大价值观: 沟通 简单 反馈 勇气 5大原则 快速反馈 简单性假设 逐步修改…...

【设计模式深度剖析】【7】【行为型】【观察者模式】

👈️上一篇:中介者模式 设计模式-专栏👈️ 文章目录 观察者模式英文原文直译如何理解? 观察者模式的角色类图代码示例 观察者模式的应用观察者模式的优点观察者模式的缺点观察者模式的使用场景 观察者模式 观察者模式(Observer…...

列表的C++实

自动扩容 List item 扩容基数为2 可以设置扩容因子&#xff08;这里我没有设置&#xff09; 代码实现如下: // // Created by shaoxinHe on 2024/6/4. //#ifndef CPRIMER_MYLIST_H #define CPRIMER_MYLIST_H#include <stdexcept> #include <vector>namespace st…...

Chisel入门——在windows系统下部署Chisel环境并点亮FPGA小灯等实验

Chisel入门——在windows系统下部署Chisel环境并点亮FPGA小灯等实验 一、chisel简介二、vscode搭建scala开发环境2.1 安装Scala官方插件2.2 java版本&#xff08;本人用的是jdk18&#xff09;2.3 下载Scala Windows版本的二进制文件2.4 配置环境变量2.5 scala测试2.6 vscode运行…...

Python和C++赋值共享内存、Python函数传址传值、一些其他的遇到的bug

1、Numpy共享内存的情况&#xff1a; array1 np.array([1, 2, 3]) array2 array1 array2[0] 0 # array1也会跟着改变&#xff0c;就地操作 array2 array2 * 2 # array2不会跟着改变&#xff0c;属于非就地操作&#xff0c;会创建一个新的地址给array2array2 array1…...

深度解析ONLYOFFICE协作空间2.5版本新功能

深度解析ONLYOFFICE协作空间2.5版本新功能 上个月&#xff0c;4月份&#xff0c;ONLYOFFICE协作空间推出了V2.5版本&#xff0c;丰富了一些很实用的新功能&#xff0c;之前已经有文章介绍过了&#xff1a; ONLYOFFICE 协作空间 2.5 现已发布https://blog.csdn.net/m0_6827469…...

Java I/O模型

引言 根据冯.诺依曼结构&#xff0c;计算机结构分为5个部分&#xff1a;运算器、控制器、存储器、输入设备、输出设备。 输入设备和输出设备都属于外部设备。网卡、硬盘这种既可以属于输入设备&#xff0c;也可以属于输出设备。 从计算机结构的视角来看&#xff0c;I/O描述了…...

【简单介绍下Sass,什么是Sass?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

bat脚本—快速修改网络配置

一、bat编写前注意事项 windows桌面用文本文件打开把批命令输入在文本框中&#xff0c;保存采用ANSI编码&#xff0c;后缀用.bat 可参考博客——bat脚本简介学习原理以及具体创建方式 &#xff08;文件扩展名位置&#xff09; 语法准确性&#xff1a;严格遵循 BAT 脚本的语…...

node.js漏洞——

一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境&#xff0c;基于 Google 的 V8 引擎&#xff0c;V8 引擎执行 Javascript 的速度非常…...

Qt多线程之moveToThread()函数

文章目录 一、moveToThread()执行后&#xff0c;当前代码线程没有改变。二、对象执行moveToThread()后&#xff0c;哪些成员加入了子线程1、创建对象时不指定父对象2、对属性对象使用moveToThread加入子线程作用域3、将属性对象的创建放到子线程中执行 三、C内存模型 在使用“继…...

【WEB前端2024】智体OS:poplang编程控制成本小千元的长续航robot机器人底盘(开源)

【WEB前端2024】智体OS&#xff1a;poplang编程控制成本小千元的长续航robot机器人底盘&#xff08;开源&#xff09; 前言&#xff1a;dtns.network是一款主要由JavaScript编写的智体世界引擎&#xff08;内嵌了three.js编辑器的定制版-支持以第一视角游览3D场馆&#xff09;…...

动态规划法学习

当然&#xff0c;让我们用更生活化的语言和一个实际的例子来解释动态规划&#xff0c;以及如何在实践中应用它。 动态规划通俗理解 想象一下&#xff0c;你是个水果摊老板&#xff0c;每天要决定订购多少苹果&#xff0c;目标是最大化利润。但苹果的价格每天波动&#xff0c;…...

前端技术回顾系列 10|TS 泛型在类和接口中的应用

在微信中阅读,关注公众号:CodeFit。 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注 我的公众号:CodeFit,为我的持续创作提供动力。 上文回顾:约束泛型(Generic Constraints) 上一篇文章我们回顾了 泛型 在 TypeScript 中的高级用法 —— 泛型…...

【Ardiuno】实验ESP32单片机自动配置Wifi功能(图文)

这里小飞鱼按照ESP32的示例代码&#xff0c;实验一下wifi的自动配置功能。所谓的自动配置&#xff0c;就是不用提前将wifi的名称和密码写到程序里&#xff0c;这样可以保证程序在烧录上传后&#xff0c;可以通过手机端的软件来进行配置&#xff0c;可以避免反复修改代码&#x…...

xml数据解析

XML Pull Parser&#xff08;使用Android的XmlPullParser&#xff09; 原理 Pull Parser允许应用程序代码从XML数据中“拉取”事件&#xff0c;而不是像SAX那样通过事件处理程序被“推送”。应用程序代码可以决定何时拉取下一个事件&#xff0c;如开始元素、结束元素或文本内…...