第7章 网络管理

第7章 网络管理

7.1 ip 命令

使用 ip 命令可以配置临时网络的连接信息,相关命令如下:

 ip link:显示网络设备运行状态ip -s link:显示更详细的设备信息ip link show [网络设备名]:仅显示指定的网络设备名的信息ip link show up :仅显示当前处于激活状态的设备信息ip link set [网络设备名] down:将指定的网络设备下线​​ip [-s] addr|a show [网络设备名]:查看指定网络设备(网卡名称)的配置信息,如果加了 -s 选项,则会添加相关的统计信息,如果接收到的或传送的数据包等ip [-4] addr|a add IP地址[/掩码] dev [网络设备名]:添加一个临时的 IPv4 的地址(重启后失效)ip -6 addr|a add IP地址[/掩码] dev [网络设备名]:添加一个临时的 IPv6 的地址ip [-4] addr|a del IP地址[/掩码] dev [网络设备名]:删除网卡的临时IPv4地址

使用示例:

 [root@bogon system-connections]# ip link1: 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:002: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffaltname enp3s0​[root@bogon system-connections]# ip -s link1: 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           2149      19      0       0       0       0 TX:  bytes packets errors dropped carrier collsns           2149      19      0       0       0       0 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffRX:  bytes packets errors dropped  missed   mcast           62860     738      0       0       0      12 TX:  bytes packets errors dropped carrier collsns           69299     698      0       0       0       0 altname enp3s0[root@bogon system-connections]# ip link show ens1602: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffaltname enp3s0​[root@bogon system-connections]# ip -s link show ens1602: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffRX:  bytes packets errors dropped  missed   mcast           70456     831      0       0       0      12 TX:  bytes packets errors dropped carrier collsns           75925     759      0       0       0       0 altname enp3s0​[root@bogon system-connections]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.72.128/24 brd 192.168.72.255 scope global dynamic noprefixroute ens160valid_lft 1562sec preferred_lft 1562secinet6 fe80::20c:29ff:fe08:daba/64 scope link noprefixroute valid_lft forever preferred_lft forever[root@bogon system-connections]# ip -s a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft foreverRX:  bytes packets errors dropped  missed   mcast           2149      19      0       0       0       0 TX:  bytes packets errors dropped carrier collsns           2149      19      0       0       0       0 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.72.128/24 brd 192.168.72.255 scope global dynamic noprefixroute ens160valid_lft 1544sec preferred_lft 1544secinet6 fe80::20c:29ff:fe08:daba/64 scope link noprefixroute valid_lft forever preferred_lft foreverRX:  bytes packets errors dropped  missed   mcast           73136     865      0       0       0      12 TX:  bytes packets errors dropped carrier collsns           79535     784      0       0       0       0[root@bogon system-connections]# ip -s a show ens1602: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.72.128/24 brd 192.168.72.255 scope global dynamic noprefixroute ens160valid_lft 1484sec preferred_lft 1484secinet6 fe80::20c:29ff:fe08:daba/64 scope link noprefixroute valid_lft forever preferred_lft foreverRX:  bytes packets errors dropped  missed   mcast           77056     915      0       0       0      12 TX:  bytes packets errors dropped carrier collsns           83451     814      0       0       0       0# 添加一个临时的 ip 地址        [root@bogon system-connections]# ip -4 a add 192.168.72.120/24 dev ens160[root@bogon system-connections]# ip a show ens1602: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.72.128/24 brd 192.168.72.255 scope global dynamic noprefixroute ens160valid_lft 1339sec preferred_lft 1339secinet 192.168.72.120/24 scope global secondary ens160valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe08:daba/64 scope link noprefixroute valid_lft forever preferred_lft forever​# 删除一个临时的 IP 地址[root@bogon system-connections]# ip -4 a del 192.168.72.120/24 dev ens160[root@bogon system-connections]# ip a show ens1602: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:08:da:ba brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.72.128/24 brd 192.168.72.255 scope global dynamic noprefixroute ens160valid_lft 1212sec preferred_lft 1212secinet6 fe80::20c:29ff:fe08:daba/64 scope link noprefixroute valid_lft forever preferred_lft forever

7.2 修改配置文件

在 redhat 9 中,已经不推荐修改配置文件了,而推荐使用命令的方式来进行配置。

要修改配置文件,我们需要编辑 /etc/NetworkManager/system-connections 目录下的 ens160.nmconnection 文件中。

注意:不同的电脑,这个文件的名称可能不同。

[root@bogon system-connections]# cat ens160.nmconnection
[connection]	# 网络连接配置
id=ens160	# 网卡标识,这个名称可以和网卡名称不一致,只要唯一即可
uuid=1f212fa6-bb52-3c62-ab97-66818fb871a1	# 网络的标识
type=ethernet		# 网络类型,默认情况下是以太网
autoconnect-priority=-999	# 自动连接策略
interface-name=ens160		# 指定网卡名称
timestamp=1697397259[ethernet][ipv4]		# ipv4的配置
method=auto[ipv6]		# ipv6的配置
addr-gen-mode=eui64
method=auto[proxy]

下面我们把这个文件编辑一下,把我们固定 IP 写到这个文件中,并指定 dns 和 网关。

[root@bogon system-connections]# cd /etc/NetworkManager/system-connections/
[root@bogon system-connections]# ll
total 4
-rw-------. 1 root root 229 Oct 15 19:43 ens160.nmconnection
[root@bogon system-connections]# vim ens160.nmconnection

编辑这个文件的内容如下:

#省略
[ipv4]
address=192.168.72.121/24,192.168.72.2
dns=8.8.8.8;192.168.72.2
method=manual
# 省略

7.3 nmcli 命令*

7.3.1 查看网卡设备

语法:nmcli device 或者简写为 nmcli d

[root@localhost system-connections]# nmcli device 
DEVICE  TYPE      STATE                   CONNECTION 
ens160  ethernet  connected               ens160     
lo      loopback  connected (externally)  lo [root@localhost system-connections]# nmcli d
DEVICE  TYPE      STATE                   CONNECTION 
ens160  ethernet  connected               ens160     
lo      loopback  connected (externally)  lo# 查看网关
[root@localhost system-connections]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.72.2    0.0.0.0         UG    100    0        0 ens160
192.168.72.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160# 查看详细信息
[root@localhost system-connections]# nmcli d show
GENERAL.DEVICE:                         ens160
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:08:DA:BA
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens160
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/4
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.72.121/24
IP4.GATEWAY:                            192.168.72.2
IP4.ROUTE[1]:                           dst = 192.168.72.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.72.2, mt = 100
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             192.168.72.2
IP6.ADDRESS[1]:                         fe80::20c:29ff:fe08:daba/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          100 (connected (externally))
GENERAL.CONNECTION:                     lo
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/3
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            --# 显示指定设备的详细信息
[root@localhost system-connections]# nmcli d show ens160
GENERAL.DEVICE:                         ens160
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:08:DA:BA
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens160
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/4
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.72.121/24
IP4.GATEWAY:                            192.168.72.2
IP4.ROUTE[1]:                           dst = 192.168.72.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.72.2, mt = 100
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             192.168.72.2
IP6.ADDRESS[1]:                         fe80::20c:29ff:fe08:daba/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024# 查看当前连接设备信息
[root@localhost system-connections]# nmcli d connect ens160
Device 'ens160' successfully activated with '1f212fa6-bb52-3c62-ab97-66818fb871a1'.# 断开网络,也就是把网卡禁用了
[root@localhost system-connections]# nmcli d disconnect ens160
# 执行完上面的命令后,xshell 会断掉,要想重新连接上,我们需要在 虚拟机中执行
# nmcli d connet ens160

7.3.2 查看网卡配置

语法:nmcli connectioin 或简写为 nmcli c

# 查看网卡信息
[root@localhost ~]# nmcli connection
NAME    UUID                                  TYPE      DEVICE 
ens160  1f212fa6-bb52-3c62-ab97-66818fb871a1  ethernet  ens160 
lo      5a6a3e72-0ca9-46a8-82b3-8b6696d14cff  loopback  lo [root@localhost ~]# nmcli c
NAME    UUID                                  TYPE      DEVICE 
ens160  1f212fa6-bb52-3c62-ab97-66818fb871a1  ethernet  ens160 
lo      5a6a3e72-0ca9-46a8-82b3-8b6696d14cff  loopback  lo # 查看自动获取的网关地址
[root@localhost ~]# nmcli c show ens160 | grep -i gateway
connection.gateway-ping-timeout:        0
ipv4.gateway:                           192.168.72.2
ipv6.gateway:                           --
IP4.GATEWAY:                            192.168.72.2
IP6.GATEWAY:                            --# 查看当前网卡的dns配置
[root@localhost ~]# nmcli c show ens160 | grep -i dns
connection.mdns:                        -1 (default)
connection.dns-over-tls:                -1 (default)
ipv4.dns:                               8.8.8.8,192.168.72.2
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.ignore-auto-dns:                   no
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.ignore-auto-dns:                   no
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             192.168.72.2

7.3.3 配置网卡IP

1)非交互式*

需求:修改 ens160 的 ip 地址为 192.168.72.128,并且是 ipv4,自动连接,dns为 114.114.114.114,网关为 192.168.72.2,子网掩码为 255.255.255.0,然后再添加一个 ip 地址:192.168.72.125

# 配置网卡
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual autoconnect yes ipv4.addresses 192.168.72.128/24 ipv4.gateway 192.168.72.2 ipv4.dns 114.114.114.114 +ipv4.addresses 192.168.72.125/24# 查看配置的结果
[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.nmconnection 
[connection]
id=ens160
uuid=1f212fa6-bb52-3c62-ab97-66818fb871a1
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1702817105[ethernet][ipv4]
address1=192.168.72.128/24,192.168.72.2
address2=192.168.72.125/24
dns=114.114.114.114;
method=manual[ipv6]
addr-gen-mode=eui64
method=auto[proxy]

命令说明:

  • nmcli c modify ens160:表示要修改的网卡

  • ipv4.method manual:表示网络连接方式为手动配置

  • autoconnect yes:表示自动连接,即系统一启动网络就可以用

  • ipv4.addresses 192.168.72.128/24:配置 ipv4 格式的 IP 地址和子网掩码

  • ipv4.gateway 192.168.72.2:配置网关信息

  • ipv4.dns 114.114.114.114:配置dns服务

  • +ipv4.addresses 192.168.72.125/24:表示再添加一个 IP 地址

2)交互式

[root@localhost ~]# nmcli c edit ens160===| nmcli interactive connection editor |===Editing existing '802-3-ethernet' connection: 'ens160'Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, hostname, tc, proxy
nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, dns-options, dns-priority, addresses, gateway, routes, route-metric, route-table, routing-rules, replace-local-rule, ignore-auto-routes, ignore-auto-dns, dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, required-timeout, dad-timeout, dhcp-vendor-class-identifier, link-local, dhcp-reject-servers, auto-route-ext-gw
nmcli ipv4> set dns 192.168.72.2
nmcli ipv4> activate
Error: connection is not saved. Type 'save' first.
nmcli ipv4> save
Connection 'ens160' (1f212fa6-bb52-3c62-ab97-66818fb871a1) successfully updated.
nmcli ipv4> activate
Monitoring connection activation (press any key to continue)
nmcli ipv4> quit[root@localhost ~]# nmcli c show ens160 | grep -i dns
connection.mdns:                        -1 (default)
connection.dns-over-tls:                -1 (default)
ipv4.dns:                               114.114.114.114,192.168.72.2
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.ignore-auto-dns:                   no
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.ignore-auto-dns:                   no
IP4.DNS[1]:                             114.114.114.114
IP4.DNS[2]:                             192.168.72.2

7.3.4 ping命令

这个命令是用于测试网络是否申通。

语法:ping [options] <destination>

# 测试本机的网卡是否可用,按 ctrl + c 退出
[root@localhost ~]# ping 192.168.72.121
PING 192.168.72.121 (192.168.72.121) 56(84) bytes of data.
64 bytes from 192.168.72.121: icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from 192.168.72.121: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.72.121: icmp_seq=3 ttl=64 time=0.115 ms
64 bytes from 192.168.72.121: icmp_seq=4 ttl=64 time=0.083 ms
64 bytes from 192.168.72.121: icmp_seq=5 ttl=64 time=0.091 ms
64 bytes from 192.168.72.121: icmp_seq=6 ttl=64 time=0.063 ms
64 bytes from 192.168.72.121: icmp_seq=7 ttl=64 time=0.066 ms
64 bytes from 192.168.72.121: icmp_seq=8 ttl=64 time=0.067 ms
64 bytes from 192.168.72.121: icmp_seq=9 ttl=64 time=0.085 ms
^C
--- 192.168.72.121 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8211ms
rtt min/avg/max/mdev = 0.033/0.075/0.115/0.021 ms# 测试网络是否申通
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=1 ttl=128 time=68.3 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=2 ttl=128 time=57.4 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=3 ttl=128 time=67.2 ms# 指定发送包的次数,通过 -c选项来指定,后面跟上发包的次数
[root@localhost ~]# ping -c2 www.baidu.com
PING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=1 ttl=128 time=60.3 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=2 ttl=128 time=59.8 ms--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 59.762/60.038/60.314/0.276 ms

7.3.5 连接、断开和删除设备

# 连接网络,即让网卡可用
[root@localhost ~]# nmcli c up ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)# 断开网络
[root@localhost ~]# nmcli c down ens160# 删除网络,注意这个命令不要执行
[root@localhost ~]# nmcli c delete ens160

7.4 nmtui 命令

这个命令是用于可视化的方式来进行配置,要想实现这个功能,我们需要先执行如下的操作。

# 启用 cockpit 服务
[root@localhost ~]# systemctl start cockpit

打开浏览器,然后访问:https://192.168.72.128:9090/,并用普通用户登录。

7.5 从网站上下载文件

7.5.1 wget

下面以 QQ 安装文件为例:

[root@localhost ~]# wget https://dldir1.qq.com/qqfile/qq/QQNT/06d558c3/linuxqq_3.2.3-19189_x86_64.rpm
--2023-12-17 21:24:57--  https://dldir1.qq.com/qqfile/qq/QQNT/06d558c3/linuxqq_3.2.3-19189_x86_64.rpm
Resolving dldir1.qq.com (dldir1.qq.com)... 175.153.171.177
Connecting to dldir1.qq.com (dldir1.qq.com)|175.153.171.177|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 129160016 (123M) [application/octet-stream]
Saving to: ‘linuxqq_3.2.3-19189_x86_64.rpm’linuxqq_3.2.3-19189_x86 100%[============================>] 123.18M  4.71MB/s    in 26s     2023-12-17 21:25:24 (4.68 MB/s) - ‘linuxqq_3.2.3-19189_x86_64.rpm’ saved [129160016/129160016]

7.5.2 curl

这个命令是一个网络工具,其主要是通过 http、https、ftp 等方式下载或上传文件

[root@localhost ~]# curl www.baidu.com -o index.html% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  2381  100  2381    0     0  11787      0 --:--:-- --:--:-- --:--:-- 11787[root@localhost ~]# cat index.html 
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>

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

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

相关文章

MacBook安装虚拟机VMware Fusion

MacBook安装虚拟机VMware Fusion 官方下载地址: https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_fusion/11_0 介绍 之前的版本都要收费,现在出了对个人免费的版本, 棋哥给的破解版的版本是8,升级系统后用不了了. 官方去下载…

Flink实时数仓同步:流水表实战详解

一、背景 在大数据领域&#xff0c;初始阶段业务数据通常被存储于关系型数据库&#xff0c;如MySQL。然而&#xff0c;为满足日常分析和报表等需求&#xff0c;大数据平台采用多种同步方式&#xff0c;以适应这些业务数据的不同存储需求。这些同步存储方式包括离线仓库和实时仓…

【Qt 多线程+opencv 读取和显示图像】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言工程需要Qt多线程opencv 结合信号与槽读取和显示图像 一、例程二、线程的开启和关闭三、判断线程是否还在运行总结 前言 提示&#xff1a;这里可以添加本文要记…

【2024美赛】A题(中英文):资源可用性与性别比例Problem A: Resource Availability and Sex Ratios

【2024美赛】A题&#xff08;中英文&#xff09;&#xff1a;资源可用性与性别比例Problem A: Resource Availability and Sex Ratios 写在最前面2024美赛翻译 —— 跳转链接 中文赛题问题A&#xff1a;资源可用性与性别比例需要检查的问题包括&#xff1a; 英文赛题Problem A:…

【HarmonyOS应用开发】Web组件的使用(十三)

文章末尾含&#xff1a;Web组件抽奖案例&#xff08;ArkTS&#xff09;-示例源码下载 Web组件的使用 一、概述 相信大家都遇到过这样的场景&#xff0c;有时候我们点击应用的页面&#xff0c;会跳转到一个类似浏览器加载的页面&#xff0c;加载完成后&#xff0c;才显示这个页…

数据结构 归并排序详解

1.基本思想 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide andConquer&#xff09;的一个非常典型的应用。 将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff0c;即先使每个子序列有序…

05:容器镜像技术揭秘|发布容器服务器|私有镜像仓库

容器镜像技术揭秘&#xff5c;发布容器服务器&#xff5c;私有镜像仓库 创建镜像使用commit方法创建自定义镜像。Dockerfile打包镜像创建apache服务镜像制作 php 镜像 微服务架构创建nginx镜像 发布服务通过映射端口发布服务容器共享卷 docker私有仓库 创建镜像 使用commit方法…

elk之基本crud

写在前面 本文看下工作中用的最多的CRUD。让我们一起来做一个帅帅的CRUD BOY吧&#xff01;&#xff01;&#xff01; 1&#xff1a;基本操作 Create 格式1(指定ID)&#xff1a;PUT 索引名称/_create/文档ID {文档json} 格式2&#xff08;不指定ID&#xff09;:POST 索引名称…

【Algorithms 4】算法(第4版)学习笔记 03 - 1.3 背包、队列和栈

文章目录 前言参考目录学习笔记0&#xff1a;预热1&#xff1a;栈1.1&#xff1a;栈的链表实现1.1.1 代码实现1.2&#xff1a;栈的数组实现1.2.1&#xff1a;定容栈1.2.2&#xff1a;可调整大小数组1.2.3&#xff1a;代码实现1.3&#xff1a;链表与数组的取舍2&#xff1a;队列…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(37)-掌握Fiddler中Fiddler Script用法,你会有多牛逼-下篇

1.简介 Fiddler是一款强大的HTTP抓包工具&#xff0c;它能记录所有客户端和服务器的http和https请求&#xff0c;允许你监视&#xff0c;设置断点&#xff0c;甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说&#xff0c;都有很大的帮助。Fiddler提供的功能基本上能满…

【Python】Python异常处理(一)

使用特定的异常 捕获特定的异常类似于使用专门的工具来完成不同的任务。 捕获特定的异常类型至关重要&#xff0c;而不是依赖于通用的包罗万象的语句。 这种做法使你能够区分各种错误并提供准确的错误消息&#xff0c;从而更有效地识别和解决问题。 try:# 可能引发特定异常的…

【LVGL环境搭建】

LVGL环境搭建 win模拟器环境搭建一.二.三.四.五. Ubuntu模拟器环境搭建一. 前置准备二. 下载LVGL Source code&#xff1a;三. 安装sdl2&#xff1a;四. 开启VScode执行五. 安装扩展套件六. 按F5执行七. 执行结果 win模拟器环境搭建 一. 二. 三. 四. 五. Ubuntu模拟器环境…

基于muduo网络库开发服务器程序和CMake构建项目 笔记

跟着施磊老师做C项目&#xff0c;施磊老师_腾讯课堂 (qq.com) 一、基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数在当前服务器类的构造函数当中,注册处理连接的回调函数和处理…

介绍msvcp140.dll丢失的解决方法的关键方法,关于msvcp140.dll文件

在使用电脑过程中&#xff0c;我们有时会遇到一些错误提示&#xff0c;比如msvcp140.dll丢失的问题。而这个问题的解决方法对于用户来说就显得尤为重要。本文旨在为大家简要介绍解决msvcp140.dll丢失问题的关键方法。 一.msvcp140.dll丢失的解决方法的详细步骤教程 重新安装相…

Leetcode 热门百题斩(第二天)

介绍 针对leetcode的热门一百题&#xff0c;解决大多数实习生面试的基本算法题。通过我自己的思路和多种方法&#xff0c;供大家参考。 1.两数之和&#xff08;题号&#xff1a;1) 方法一 最先想到的就是两个for去遍历匹配。 class Solution {public int[] twoSum(int[]…

C语言标准库所有字符串操作库函数汇总

以下是C语言标准库中字符串操作相关的API列表&#xff0c;这些函数通常在 <string.h> 头文件中定义&#xff1a; 1. strlen - 计算字符串长度&#xff0c;不包括结尾的空字符\0&#xff1a; size_t strlen(const char *str); 2. strcpy - 复制字符串&#xff1a; c…

Spring Bean 生命周期常见错误

虽然说 Spring 容器上手简单&#xff0c;可以仅仅通过学习一些有限的注解&#xff0c;即可达到快速使用的目的。但在工程实践中&#xff0c;我们依然会从中发现一些常见的错误。尤其当你对 Spring 的生命周期还没有深入了解时&#xff0c;类初始化及销毁过程中潜在的约定就不会…

HAL库配置片内FLASH读写

一、FLASH简介 不同型号的 STM32F40xx/41xx&#xff0c;其 FLASH 容量也有所不同&#xff0c;最小的只有 128K 字节&#xff0c;最大 的则达到了 1024K 字节。我们的探索者开发板选择的是 STM32F407ZGT6 的 FLASH 容量为 1024K 字节。 主存储器&#xff0c;存放代码和数据常数&…

在ESP32上使用MicroPython

ESP32是一款非常好用的物联网芯片&#xff0c;MicroPython可以充分利用ESP32的各种资源,本文会对MicroPython在ESP32上的应用进行说明&#xff0c;包括初始使用、提示信息、使用 WebREPL、连接网络与互联网通信、使用硬件外设以及控制外部组件等等。 准备开发板 在进行下面的…

PHP的线程安全与非线程安全模式选哪个

曾经初学PHP的时候也很困惑对线程安全与非线程安全模式这块环境的选择&#xff0c;也未能理解其中意。近来无意中看到一个教程对线程安全&#xff08;饿汉式&#xff09;&#xff0c;非线程安全&#xff08;懒汉式&#xff09;的描述&#xff0c;虽然觉得现在已经能够很明了透彻…