Linux网络的命令和配置

目录

一、网络配置命令

1、配置和管理网络接口

1.1 ifconfig

1.2 ip

1.2.2 ip addr

1.3 修改网络接口名

1.3.1  临时修改网络接口名

1.3.2 永久修改网络接口名

1.4 永久配置单网卡 

1.5 永久配置双网卡 

1.6 ethtool

2、查看和设置主机中路由表信息

2.1 route

2.2 添加路由

2.2.1 临时添加路由和静态路由

​2.2.2 永久添加路由

3、查看网络连接情况

3.1 netstat

3.2 ss

3.3 netstat和ss命令的区别

4、路由追踪

4.1 traceroute

5、域名解析

5.1 nslookup

5.2 dig

5.3 host

6、查看和修改主机名

6.1 hostname

 7、bonding多网卡绑定

7.1 网络绑定(bonding)的概念

7.2  Bonding聚合链路工作模式

7.3 永久配置主备模式(mode 1)的bonding

7.4 删除bonding

8、捕获网络数据包

8.1 tcpdump


一、网络配置命令

1、配置和管理网络接口

1.1 ifconfig

ifconfig 是一个传统的网络工具,用于查看和配置网络接口的信息。它可以显示接口的 IP 地址、MAC 地址、子网掩码、广播地址

ifconfig      #查看当前系统正在活动的网卡信息
ifconfig -a   #查看所有网卡信息
ifconfig -s   #网络通讯情况
ifconfig 网卡名称 down          #关闭该网卡
ifconfig 网卡名称 up            #开启该网卡
ifconfig ens33:0 ip地址/子网掩码    #临时设置虚拟网卡
ifconfig ens33 ip地址/子网掩码      #临时设置ens33网络接口的IP地址

1.2 ip

ip 命令是一个更现代化和功能更强大的网络管理工具,用于配置和管理网络接口、路由表、网络命名空间

ip link 命令用于管理网络接口。它提供了各种选项和子命令,用于配置、显示和操作网络接口

ip link    #显示所有网络接口的状态和信息
ip link set 网卡名 up    #启用该网卡
ip link set 网卡名 down  #禁用该网卡
ip link delete 网卡名    #删除该网卡
ip link set 网卡名 name 新网卡名    #修改网卡的命名
1.2.2 ip addr

ip addr用于显示和管理网络接口的命令,可以列出系统中所有的网络接口信息,包括接口名称、MAC 地址、IP 地址、子网掩码、广播地址

ip addr     #显示和管理网络接口信息
ip address add ip地址/子网掩码 dev 网卡名
#临时增加网卡ip address add ip地址/子网掩码 dev ens33 label ens33:1
#临时增加虚拟网卡ip address del ip地址/子网掩码 dev 网卡名
#临时删除网卡ip address del ip地址/子网掩码 dev ens33 label ens33:1
#临时删除虚拟网卡

1.3 修改网络接口名

1.3.1  临时修改网络接口名

设备重启,会恢复旧网络接口名

[root@localhost ~]#ifconfig ens36       #查看指定网卡ens36的信息
[root@localhost ~]#ip link set ens36 down    #关闭网卡
[root@localhost ~]#ip link set ens36 name eth1   #修改网卡名
[root@localhost ~]#ip link set eth1 up       #开启网卡
[root@localhost ~]#ifconfig eth1        #查看指定网卡eth1的信息

1.3.2 永久修改网络接口名

写入/etc/default/grub配置文件和修改网卡配置文件,就能完成永久修改了

#添加net.ifnames=0到/etc/default/grub文件
[root@localhost ~]#vim /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"#重新生成grub配置文件
[root@localhost ~]#grub2-mkconfig -o /boot/grub2/grub.cfg    #修改网卡配置文件,统一网卡名
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens36
NAME=eth1
DEVICE=eth1#重启网络服务
[root@localhost ~]#systemctl restart network   

1.4 永久配置单网卡 

修改网卡的配置文件

[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=Ethernet      #网卡类型
BOOTPROTO=static   #静态获取ip地址方式
NAME=ens33         #网卡的名称
DEVICE=ens33       #网卡的描述
ONBOOT=yes         #开机自启
IPADDR=172.16.12.10     #设置ip地址
NETMASK=255.255.255.0   #设置子网掩码
GATEWAY=172.16.12.2     #设置网关
DNS1=8.8.8.8            #设置dns服务器1
DNS2=114.114.114.114    #设置dns服务器2

1.5 永久配置双网卡 

#切换到有网卡配置文件的目录下
[root@localhost ~]#cd /etc/sysconfig/network-scripts/**************************************************************
#复制ens33网卡配置文件作为模板成ens36网卡配置文件,再进行修改
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]#vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=172.16.12.100
NETMASK=255.255.255.0
GATEWAY=172.16.12.2
DNS1=8.8.8.8
DNS2=114.114.114.114***************************************************************
#重启网络服务,查看网络连接状态
[root@localhost network-scripts]#systemctl restart network
[root@localhost network-scripts]#ifconfig ens33
[root@localhost network-scripts]#ifconfig ens36

1.6 ethtool

用于查看和修改以太网接口驱动程序和硬件参数的工具

ethtool eth0            #显示以太网接口的状态信息
ethtool -i eth0         #查看以太网接口的驱动程序信息
ethtool -S eth0         #显示以太网接口的统计信息
ethtool -p eth0         #让ens33网口的灯快速闪烁,可分辨现实中的eth0网络接口

2、查看和设置主机中路由表信息

2.1 route

route -n         #显示数字格式的路由表,包括目标地址、网关、子网掩码和接口等信息

路由表主要构成详解:
Destination:目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
Genmask:目标网络对应的netmask
Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
Gateway: 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
Metric: 开销cost,值越小,路由记录的优先级最高 

2.2 添加路由

2.2.1 临时添加路由和静态路由
#设置一条去往10.0.0.0段的路由通过172.16.12.2网关转发
[root@localhost ~]#route add -net 10.0.0.0/8 gw 172.16.12.2
[root@localhost ~]#route -n#删除去往10.0.0.0段的路由
[root@localhost ~]#route del -net 10.0.0.0/8

#添加默认路由
[root@localhost ~]#route add -net 0.0.0.0(default)  gw 172.16.12.2
[root@localhost ~]#systemctl restart network
[root@localhost ~]#route -n#删除默认路由
[root@localhost ~]#route del -net 0.0.0.0(default)
[root@localhost ~]#route -n

2.2.2 永久添加路由
#永久添加路由
[root@localhost ~]#vim /etc/sysconfig/network-scipts/route-ens33
10.0.0.0/24 via 172.16.12.10
[root@localhost ~]#systemctl restart network
[root@localhost ~]#route -n

3、查看网络连接情况

3.1 netstat

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

3.2 ss

3.3 netstat和ss命令的区别

区别netstatss
性能在处理大量连接时可能性能较差,因为它需要遍历文件查看系统状态使用新的内核接口,因此通常比 netstat 更快速和高效
功能提供了查看网络连接、路由表、接口统计等信息的功能不仅提供与 netstat 类似的功能,还可以显示更多的套接字信息,如 TCP/UDP 连接、监听端口
未来前景ss会替代netstat,因为ss在性能上更优秀

4、路由追踪

4.1 traceroute

traceroute IP地址    #追踪经过该ip地址的路由

5、域名解析

5.1 nslookup

nslookup主要用于简单的 DNS 查询,提供基本的 DNS 信息

nslookup 域名     #将域名解析成ip地址

5.2 dig

dig 提供了更为灵活和详细的查询功能,可以显示更多类型的 DNS 记录

dig 域名     #将域名解析成ip地址

5.3 host

host 主要用于简单的 DNS 查询,提供基本的 DNS 信息

host 域名     #将域名解析成ip地址

 

6、查看和修改主机名

6.1 hostname

hostname               #查看主机名#临时修改主机名
hostname  新主机名
su            #切换    #命令永久修改主机名
hostnamectl set-hostname 新主机名     #永久修改主机名
reboot                                #重启生效
原理:使用hostnamectl命令最后是在/etc/hostname文件中添加一条记录,hostnamectl实际是修改了hostname文件

#将新主机名写入配置文件,只有写在第一行的主机名有效
vim /etc/hostname           #永久修改主机名
reboot                      #重启生效

 7、bonding多网卡绑定

7.1 网络绑定(bonding)的概念

  • 在 Linux 中,网络绑定(bonding)是一种将多个物理网络接口组合成一个逻辑接口的技术
  • 直接给两块网卡设置同一IP地址是不可以的,而通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址
  • 这种技术可以提高网络带宽、提供冗余性和容错能力

7.2  Bonding聚合链路工作模式

  • mode 0(balance-rr):将传输的数据包轮流发送到各个接口,实现负载平衡和带宽聚合
  • mode 1(active-backup):只有一个接口处于活动状态,其他接口处于备用状态,实现故障转移
  • mode 2(balance-xor):使用源和目的 IP 地址、源和目的 MAC 地址进行哈希计算,将数据包发送到相应的接口,实现负载平衡和带宽聚合
  • mode 3(broadcast):将数据包发送到所有接口,适用于无法确定接收方 MAC 地址的情况
  • mode 4(802.3ad):基于 IEEE 802.3ad 协议的链路聚合控制协议(LACP),实现带宽聚合和故障转移
  • mode 5(balance-tlb):使用传输负载平衡(TLB)算法,将数据包发送到活动接口,实现负载平衡和带宽聚合
  • mode 6(balance-alb):使用自适应负载平衡(ALB)算法,将传输负载分布到所有接口,实现负载平衡和带宽聚合

常用的模式为 mode 0、mode 1、mode 3、mode 6
mode 1、mode 5、mode 6 不需要交换机的任何特殊配置
mode 0、mode 2、mode 3、mode 4需要交换机设置,以便整合链接

 7.3 永久配置主备模式(mode 1)的bonding

要求:配置永久的主备模式(mode 1)的bonding,让ens33成为主网卡,ens36成为备网卡。测试关闭ens33,主机网络能否联通,bond0工作状态又有何变化

方法一:写入配置文件添加bonding

#复制ens33网卡配置文件为模版成bond0的配置文件,在此基础上进行修改
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-bond0
[root@localhost network-scripts]#vim ifcfg-bond0
TYPE=bond
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=172.16.12.100
NETMASK=255.255.255.0
GATEWAY=172.16.12.2
DNS1=8.8.8.8
DNS2=114.114.114.114
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路**************************************************************************************
#修改ens33网卡的配置文件
[root@localhost network-scripts]#vim ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes**************************************************************************************
#复制ens33网卡配置文件为模版成ens36的配置文件,在此基础上进行修改
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]#vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
MASTER=bond0
SLAVE=yes**************************************************************************************
#测试
[root@localhost ~]#ping 172.16.12.100              #查看能否ping通bond0设置的主机ip地址
[root@localhost ~]#cat /proc/net/bonding/bond0     #查看bond0状态信息
[root@localhost ~]#ifconfig bond0                  #查看bond0网络接口信息

① 复制ens33网卡配置文件为模版成bond0的配置文件,在此基础上进行修改

②修改ens33网卡的配置文件 

③复制ens33网卡配置文件为模版成ens36的配置文件,在此基础上进行修改 

 ④测试

 ⑤测试关闭ens33,主机网络可以联通,bond0状态变为ens36网卡工作,提高容错能力

注:

重新连接ens33网卡,ens33也不会抢占成为主网卡,而是成为备网卡,依旧是ens36网卡是主网卡在工作

方法二:使用命令永久配置bonding

#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 172.16.12.100/24******************************************************************************************* 
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0*******************************************************************************************
#启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36
nmcli con up mybond0

7.4 删除bonding

[root@localhost ~]#ifconfig bond0 down     #关闭bond0
[root@localhost ~]#rmmod bonding           #删除bond0
[root@localhost ~]#ifconfig bond0          #查看是否还有bond0

8、捕获网络数据包

8.1 tcpdump

tcpdump一个强大的网络协议分析器,它主要用于监控和捕获网络流量数据包,并能够以易于阅读的格式显示这些信息。在Linux和其他类Unix系统中广泛使用,是网络管理员、安全专家和开发者进行网络故障排查、性能分析以及安全审计的重要工具。

通式:tcpdump  【选项】 【表达式】
选项说明
-a尝试将网络和广播地址转换成名称
-c收到指定的数据包数目后,就停止进行倾倒操作
-d把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出
-dd把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出
-ddd把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出

-e

在每列倾倒资料上显示连接层级的文件头
-f用数字显示网际网络地址
-F 表达文件指定内含表达方式的文件
-i 网络接口使用指定的网络截面送出数据包
-l使用标准输出列的缓冲区
-n不把主机的网络地址转换成名字
-nn显示ip地址、端口号
-N不列出域名
-O不将数据包编码最佳化
-p不让网络界面进入混杂模式
-q快速输出,仅列出少数的传输协议信息
-r 数据包文件从指定的文件读取数据包数据
-s 数据包大小设置每个数据包的大小
-S用绝对而非相对数值列出TCP关联数
-t在每列倾倒资料上不显示时间戳记
-tt在每列倾倒资料上显示未经格式化的时间戳记
-T 数据包类型强制将表达方式所指定的数据包转译成设置的数据包类型
-v详细显示指令执行过程
-vv更详细显示指令执行过程
-x用十六进制字码列出数据包资料
-w 数据包文件把数据包数据写入指定的文件
#查看系统当前所有网卡的信息
#tcpdump -D#监听特定网卡
tcpdump -i ens33#监听特定主机,监听主机172.16.12.10的通信包,注意:出、入的包都会被监听
tcpdump host 172.16.12.10#特定来源的通信
tcpdump src host hostname或ip地址/子网掩码
#特定目标地址的通信
tcpdump dst host hostname或ip地址/子网掩码
#如果不指定src跟dst,那么来源或者目标是hostname或ip地址/子网掩码的通信都会被监听
tcpdump host hostname或ip地址/子网掩码#捕获从ip地址为172.16.12.10的主机发送到ip地址为172.16.12.12的主机的icmp报文
tcpdump -i eth0 -nn icmp and src host 172.16.12.10 and dst host 172.16.12.12#捕获特定端口的数据包
tcpdump port 3000#监听TCP/UDP,服务器上不同服务分别用了TCP、UDP作为传输层,假如只想监听TCP的数据包
tcpdump tcp#来源主机+端口+TCP,监听来自主机172.16.12.10在端口22上的TCP数据包
tcpdump tcp port 22 and src host 172.16.12.10#监听特定主机之间的通信
tcpdump ip host 172.16.12.10 and 172.16.12.12#172.16.12.10和除了172.16.12.12之外的主机之间的通信
tcpdump ip host 172.16.12.10 and ! 172.16.12.12#在eth1接口上抓取前100个源IP地址在172.16.12.0/24网段内、目标端口不为SSH的TCP 数据包,并将这些数据包保存到target.cap文件中,以便后续分析和处理
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 172.16.12.0/24 
-w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数
据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 172.16.12.0/24 : 数据包的源网络地址为172.16.12.0/24
(8)-w ./target.cap : 保存成cap文件,方便用wireshark分析#限制抓包的数量,如下,抓到1000个包后,自动退出
tcpdump -c 1000#保存到本地,tcpdump默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者tcpdump退出时,才会将输出写到本地磁盘,可以加上-U强制立即写到本地磁盘(一般不建议,性能相对较差)
tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap

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

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

相关文章

国芯科技荣膺高工智能汽车“年度车规MCU高成长供应商”,加速产品精准化系列化布局

2023年12月13—15日,2023(第七届)高工智能汽车年会在上海召开,大会以“寻找拐点”为主题,通过超80场主题演讲及多场圆桌对话,为智能汽车赛道参与者「备战2024」提供全方位的决策支持。 作为汽车电子芯片领…

基于uniapp封装的card容器 带左右侧两侧标题内容区域

代码 <template><view class"card"><div class"x_flex_header"><div><title v-if"title ! " class"title" :title"title" :num"num"></title></div><div><s…

【C++】十大排序算法

文章目录 十大排序算法插入排序O(n^2^)冒泡排序O(n^2^)选择排序O(n^2^)希尔排序——缩小增量排序O(nlogn)快速排序O(nlogn)堆排序O(nlogn)归并排序(nlogn)计数排序O(nk)基数排序O(n*k)桶排序O(nk) 十大排序算法 排序算法的稳定性&#xff1a;在具有多个相同关键字的记录中&…

【面试高频算法解析】算法练习8 单调队列

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

Hive之set参数大全-6

L 指定是否启用延迟评估&#xff08;lazy evaluation&#xff09;的扩展布尔字面量 在 Apache Hive 中&#xff0c;hive.lazysimple.extended_boolean_literal 是一个配置属性&#xff0c;用于指定是否启用延迟评估&#xff08;lazy evaluation&#xff09;的扩展布尔字面量。…

C++-UI入门

1、QWidget类 QWidget类时所有组件和窗口的基类。内部包含了一些最基础的界面特性。 常用属性&#xff1a; 1.1修改坐标 x : const int 横坐标&#xff0c;每个图形的左上角为定位点&#xff0c;横轴的零点在屏幕的最左边&#xff0c;正方向向右。 y : const int 纵坐标&#x…

【Machine Learning】Generalization Theory

本笔记基于清华大学《机器学习》的课程讲义中泛化理论相关部分&#xff0c;基本为笔者在考试前一两天所作的Cheat Sheet。内容较多&#xff0c;并不详细&#xff0c;主要作为复习和记忆的资料。 No free lunch For algroithm A ′ A A′, exsits f f f that is perfect answ…

Python数据类型转换

数据类型的不一致可能导致分析错误&#xff0c;因此在数据清洗中通常需要对数据类型进行转换。 主要包括一下几个方面&#xff1a; 整数&#xff08;int&#xff09;和浮点数&#xff08;float&#xff09;之间的转换 字符串&#xff08;str&#xff09;和整数&#xff08;in…

Python——数据类型转换

# 将数字类型转换成字符串 num_str str(111) print(type(num_str), num_str) \# 将浮点类型转换成字符串 float_str str(12.34) print(type(float_str), float_str) # 将字符串转变成数字 num int("234") print(type(num)) # 将字符串转变成浮点型 num2 float(&q…

BitMap解析(一)

文章目录 前言数据结构添加与删除操作 JDK中BitSet源码解析重要成员属性初始化添加数据清除数据获取数据size和length方法集合操作&#xff1a;与、或、异或 前言 为什么称为bitmap&#xff1f; bitmap不仅仅存储介质以及数据结构不同于hashmap&#xff0c;存储的key和value也…

centos 8 安装docker

一&#xff0c;安装依赖&#xff1a; yum install -y yum-utils device-mapper-persistent-data lvm2 二&#xff0c;安装docker仓库源&#xff1a; #docker官方仓库源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #国内阿里仓…

4D激光雷达

什么是4D激光雷达 4D激光雷达,也称为4D成像雷达,是一种利用回声定位和飞行时间测量概念来绘制三维环境中物体并附加速度信息的技术。相比于传统的3D激光雷达,4D激光雷达可以生成点云的3D坐标,并提供关于环境的第四维度信息,通常是速度。这种技术被广泛应用于自动驾驶汽车…

微服务使用过程中 常见的问题 解决方案

随着现代软件开发和实践的发展&#xff0c;微服务架构已经成为许多企业和技术团队的首选架构。然而&#xff0c;在微服务使用过程中&#xff0c;也会遇到一些常见的问题。本文将论述这些问题以及相应的解决方案。 常见问题 服务间通信&#xff1a;在微服务架构中&#xff0c;服…

根据方程组解,生成n个n元一次方程组

为了生成一个方程组&#xff0c;今天搓了一个 利用增广矩阵进行操作 #include <stdio.h> #include<iostream> #include <stdlib.h> #include <time.h> #include <unistd.h> using namespace std; #define MAX_SIZE 200int var_num0;int matr…

Spring之Bean生命周期源码解析

Bean的生成过程 1. 生成BeanDefinition Spring启动的时候会进行扫描&#xff0c;会先调用 org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider#scanCandidateComponents(String basePackage) 扫描某个包路径&#xff0c;并得到BeanDefini…

ML:2-2neural network layer

文章目录 1. 神经网络层2. 更复杂的神经网络3. 神经网络的前向传播 【吴恩达机器学习笔记p47-49】 1. 神经网络层 input&#xff1a;4个数字的向量。3个神经元分别做logistic regression。下角标&#xff1a;标识第 i 个神经元的值。上角标&#xff1a;表示第 j 层layer的值。…

打PTA 分数 15

传说这是集美大学的学生对话。本题要求你做一个简单的自动问答机&#xff0c;对任何一个问句&#xff0c;只要其中包含 PTA 就回答 Yes!&#xff0c;其他一概回答 No.。 输入格式&#xff1a; 输入第一行给出一个整型范围内的正整数 N&#xff0c;随后 N 行&#xff0c;每行给…

单片机原理及应用:中断系统结构与控制寄存器

大家好啊&#xff0c;这几天因为考试断更了一段时间&#xff0c;现在放假了也可以恢复正常的更新速度了。今天我们来认识一下单片机的中断系统&#xff0c;这里可以说是我们学习单片机以来第一个核心功能&#xff0c;我们会分几期内容来深入了解中断系统的作用原理和应用方式。…

系列十五、Java中常见的修饰符

一、Java中常见的修饰符 1.1、概述 Java中常见的修饰符有&#xff1a;默认、private&#xff08;私有&#xff09;、protected&#xff08;保护&#xff09;、public&#xff08;公有&#xff09;&#xff0c;访问修饰符可以修饰成员变量、方法。 1.2、详解 private &#xff…

搜索插入位置【二分查找】

Problem: 35. 搜索插入位置 文章目录 思路 & 解题方法复杂度调用函数手写 思路 & 解题方法 二分查找&#xff0c;可以手写一下&#xff0c;也可以直接用bisect。 复杂度 时间复杂度: 添加时间复杂度, 示例&#xff1a; O ( l o g n ) O(logn) O(logn) 空间复杂度: 添…