【Linux系统学习】5.Linux实用操作 下

7.虚拟机配置固定IP

7.1 为什么需要固定IP

当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更

原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦

原因2:在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系

综上所述,我们需要IP地址固定下来,不要变化了。

7.2 在VMware Workstation中配置固定IP

配置固定IP需要2个大步骤:
在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
在Linux系统中手动修改配置文件,固定IP
首先让我们,先进行第一步,跟随图片进行操作

在这里插入图片描述

现在进行第二步,在Linux系统中修改固定IP
使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容

在这里插入图片描述

​ 执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130了

7.3 在VMware Fusion中配置固定IP

步骤一:先修改VMware Fusion的网络设置

  1. 打开Mac系统的终端程序,并执行如下命令:

在这里插入图片描述

  1. 在终端内执行:sudo su - 并输入个人系统密码切换到root用户

在这里插入图片描述

  1. 先备份一下文件:cp /Library/Preferences/VMware\ Fusion/networking /Library/Preferences/VMware\ Fusion/networking.bakcup
    通过vim编辑器修改文件:vim /Library/Preferences/VMware\ Fusion/networking

在这里插入图片描述

修改第11行为如图内容:192.168.88.0,并保存退出

  1. 备份文件:cp /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf.backup
    修改文件:vim /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf
    在这里插入图片描述

如图所示在 NAT gateway address下修改:ip为:192.168.88.2(这是网关的IP),并保存退出

  1. 启动VMware Fusion,进入Linux虚拟机

步骤2:在Linux中修改固定IP
在虚拟机的图形化页面中,打开终端,使用su - 切换到root用户

在这里插入图片描述

使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容

在这里插入图片描述

执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130了

8.网络传输(下载和网络请求)

8.1 ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法:

ping [-c num] ip或主机名

选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
参数:ip或主机名,被检查的服务器的ip地址或主机名地址
示例:
检查到baidu.com是否联通

在这里插入图片描述

结果表示联通,延迟8ms左右
检查到39.156.66.10是否联通,并检查3次

在这里插入图片描述

8.2 wget命令

wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法:

wget [-b] url

选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
参数:url,下载链接

示例:
下载apache-hadoop 3.3.0版本:wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

在这里插入图片描述

在后台下载:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
通过tail命令可以监控后台下载进度:tail -f wget-log

注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。

8.3 curl命令

curl可以发送http网络请求,可用于:下载文件、获取信息等
语法:

curl [-O] url

选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
参数:url,要发起请求的网络地址

示例:
向cip.cc发起网络请求:curl cip.cc

在这里插入图片描述

向python.itheima.com发起网络请求:curl python.itheima.com

通过curl下载hadoop-3.3.0安装包:curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

9.网络传输(端口)

9.1 端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类
物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

9.2 端口(虚拟)

物理端口我们日常生活中经常见到,也能知晓它的作用。
但是虚拟端口,有什么用?为什么需要它呢?

在这里插入图片描述

在这里插入图片描述

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。
通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址

9.3 端口

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:
公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口
非特殊需要,不要占用这个范围的端口
注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

在这里插入图片描述

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口
计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接9.4

9.4 查看端口占用

可以通过Linux命令去查看端口的占用情况
使用nmap命令,安装nmap:yum -y install nmap
语法:nmap 被查看的IP地址

在这里插入图片描述

可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。
其中:
22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口

可以通过netstat命令,查看指定端口的占用情况
语法:netstat -anp | grep 端口号,安装netstat:yum -y install net-tools

在这里插入图片描述

如图,可以看到当前系统6000端口被程序(进程号7174)占用了
其中,0.0.0.0:6000,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问

在这里插入图片描述

可以看到,当前系统12345端口,无人使用哦。

10.进程管理

10.1 查看进程

可以通过ps命令查看Linux系统中的进程信息
语法:

ps [-e -f]

选项:-e,显示出全部的进程
选项:-f,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是: ps -ef 列出全部进程的全部信息

在这里插入图片描述

从左到右分别是:
UID:进程所属的用户ID
PID:进程的进程号ID
PPID:进程的父ID(启动此进程的其它进程)
C:此进程的CPU占用率(百分比)
STIME:进程的启动时间
TTY:启动此进程的终端序号,如显示?,表示非终端启动
TIME:进程占用CPU的时间
CMD:进程对应的名称或启动路径或启动命令

11.主机状态

11.1 查看系统资源占用

可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出

在这里插入图片描述

11.2 top命令内容详解

第一行:

在这里插入图片描述

top:命令名称,14:39:58:当前系统时间,up 6 min:启动了6分钟,2 users:2个用户登录,load:1、5、15分钟负载
第二行:

在这里插入图片描述

Tasks:175个进程,1 running:1个进程子在运行,174 sleeping:174个进程睡眠,0个停止进程,0个僵尸进程
第三行:

在这里插入图片描述

%Cpu(s):CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,wa:IO等待CPU占用率,hi:CPU硬件中断率,si:CPU软件中断率,st:强制等待占用CPU率
第四、五行:

在这里插入图片描述

Kib Mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用
KibSwap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,buff/cache:buff和cache占用

在这里插入图片描述

PID:进程id
USER:进程所属用户
PR:进程优先级,越小越高
NI:负值表示高优先级,正表示低优先级
VIRT:进程使用虚拟内存,单位KB
RES:进程使用物理内存,单位KB
SHR:进程使用共享内存,单位KB
S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
%CPU:进程占用CPU率
%MEM:进程占用内存率
TIME+:进程使用CPU时间总计,单位10毫秒
COMMAND:进程的命令或名称或程序文件路径

11.3 top命令选项

top命令也支持选项:

在这里插入图片描述

11.4 top交互式选项

当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制

在这里插入图片描述

11.5 磁盘信息监控

可以使用iostat查看CPU、磁盘的相关信息
语法:

iostat [-x] [num1] [num2]

选项:-x,显示更多信息
num1:数字,刷新间隔,num2:数字,刷新几次

在这里插入图片描述

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输"意思是"一次I/O请求”。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。

使用iostat的-x选项,可以显示更多信息

在这里插入图片描述

rrqm/s: 每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge, 提高IO利用率, 避免重复调用);
wrqm/s: 每秒这个设备相关的写入请求有多少被Merge了。
rsec/s: 每秒读取的扇区数;sectors
wsec/: 每秒写入的扇区数。
rKB/s: 每秒发送到设备的读取请求数
wKB/s: 每秒发送到设备的写入请求数
avgrq-sz 平均请求扇区的大小
avgqu-sz 平均请求队列的长度。毫无疑问,队列长度越短越好。
await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。
svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)
%util: 磁盘利用率

11.6 网络状态监控

可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
语法:

sar -n DEV num1 num2

选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

在这里插入图片描述

如图,查看2次,隔3秒刷新一次,并最终汇总平均记录

信息解读:
IFACE 本地网卡接口的名称
rxpck/s 每秒钟接受的数据包
txpck/s 每秒钟发送的数据包
rxKB/S 每秒钟接受的数据包大小,单位为KB
txKB/S 每秒钟发送的数据包大小,单位为KB
rxcmp/s 每秒钟接受的压缩数据包
txcmp/s 每秒钟发送的压缩包
rxmcst/s 每秒钟接收的多播数据包

12.环境变量

12.1 环境变量

在讲解which命令的时候,我们知道使用的一系列命令其实本质上就是一个个的可执行程序。
比如,cd命令的本体就是:/usr/bin/cd 这个程序文件。

我们是否会有疑问,为何无论当前工作目录在哪里,都能执行:/usr/bin/cd这个程序呢?

这就是环境变量的作用啦。

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。
在Linux系统中执行:env命令即可查看当前系统中记录的环境变量
环境变量是一种KeyValue型结构,即名称和值,如下图:

在这里插入图片描述

如图,图中记录了:
HOME:/home/itheima,用户的HOME路径
USER:itheima,当前的操作用户
PWD:当前工作路径

等等一系列信息,用于辅助系统在运行的时候
从环境变量中获取关键信息

12.2 环境变量:PATH

在前面提出的问题中,我们说无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。

在这里插入图片描述

PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开):
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/itheima/.local/bin
/home/itheima/bin
当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体
比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行

12.3 $符号

在Linux系统中, 符号被用于取”变量”的值。环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。取得环境变量的值就可以通过语法: 符号被用于取”变量”的值。 环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。 取得环境变量的值就可以通过语法: 符号被用于取变量的值。环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。取得环境变量的值就可以通过语法:环境变量名 来取得
比如: echo $PATH
就可以取得PATH这个环境变量的值,并通过echo语句输出出来。

又或者:echo ${PATH}ABC
在这里插入图片描述

当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁

12.4 自行设置环境变量

Linux环境变量可以用户自行设置,其中分为:
临时设置,语法:export 变量名=变量值
永久生效
针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
针对所有用户生效,配置在系统的: /etc/profile文件中
并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效

在这里插入图片描述

12.5 自定义环境变量PATH

环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径我们也可以自行添加到PATH中去。

测试:
在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha
通过vim编辑器,在mkhaha文件内填入:echo 哈哈哈哈哈
完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行

修改PATH的值
临时修改PATH:export PATH= P A T H : / h o m e / i t h e i m a / m y e n v ,再次执行 m k h a h a ,无论在哪里都能执行了或将 e x p o r t P A T H = PATH:/home/itheima/myenv,再次执行mkhaha,无论在哪里都能执行了 或将export PATH= PATH:/home/itheima/myenv,再次执行mkhaha,无论在哪里都能执行了或将exportPATH=PATH:/home/itheima/myenv,填入用户环境变量文件或系统环境变量文件中去

13.上传、下载

13.1 上传、下载

我们可以通过FinalShell工具,方便的和虚拟机进行数据交换。
在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:
浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑
浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中

在这里插入图片描述

13.2 rz、sz命令

当然,除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。
rz、sz命令需要安装,可以通过:yum -y install lrzsz,即可安装。
rz命令,进行上传,语法:直接输入rz即可\

在这里插入图片描述

sz命令进行下载,语法:sz 要下载的文件

在这里插入图片描述

文件会自动下载到桌面的:fsdownload文件夹中。
注意,rz、sz命令需要终端软件支持才可正常运行
FinalShell、SecureCRT、XShell等常用终端软件均支持此操作

14.压缩、解压

14.1 压缩格式

市面上有非常多的压缩格式
zip格式:Linux、Windows、MacOS,常用
7zip:Windows系统常用
rar:Windows系统常用
tar:Linux、MacOS常用
gzip:Linux、MacOS常用
在Windows系统中常用的软件如:winrar、bandizip等软件,都支持各类常见的压缩格式,这里不多做讨论。
我们现在要学习,如何在Linux系统中操作:tar、gzip、zip这三种压缩格式
完成文件的压缩、解压操作。

14.2 tar命令

Linux和Mac系统常用有2种压缩格式,后缀名分别是:
.tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
.gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
语法:

tar [-c -v -x -f -z -C] 参数1,参数2 ... 参数N

-c,创建压缩文件,用于压缩模式
-v,显示压缩、解压过程,用于查看进度
-x,解压模式
-f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z,gzip模式,不使用-z就是普通的tarball格式
-C,选择解压的目的地,用于解压模式

14.3 tar 命令压缩

tar的常用组合为:
tar -cvf test.tar 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt 压缩到test.tar文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式

注意:
-z选项如果使用的话,一般处于选项位第一个
-f选项,必须在选项位最后一个

14.4 tar 解压

常用的tar解压组合有
tar -xvf test.tar
解压test.tar,将文件解压至当前目录
tar -xvf test.tar -C /home/itheima
解压test.tar,将文件解压至指定目录(/home/itheima)
tar -zxvf test.tar.gz -C /home/itheima
以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)

注意:
-f选项,必须在选项组合体的最后一位
-z选项,建议在开头位置
-C选项单独使用,和解压所需的其它参数分开

14.5 zip 命令压缩文件

可以使用zip命令,压缩文件为zip压缩包
语法:

zip [-r] 参数1,参数2 ... 参数N

-r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

示例:
zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt 压缩到test.zip文件内
zip -r test.zip test itheima a.txt
将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

14.6 unzip 命令解压文件

使用unzip命令,可以方便的解压zip压缩包
语法:

unzip [-d] 参数

-d,指定要解压去的位置,同tar的-C选项
参数,被解压的zip压缩包文件

示例:
unzip test.zip,将test.zip解压到当前目录
unzip test.zip -d /home/itheima,将test.zip解压到指定文件夹内(/home/itheima)

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

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

相关文章

顺序表、链表(ArrayList、LinkedList)

目录 前言: 顺序表(ArrayList): 顺序表的原理: ArrayList源码: 的含义:​编辑 ArrayList的相关方法:​编辑 向上转型List: 练习题(杨辉三角&#x…

Go 语言中如何大小端字节序?int 转 byte 是如何进行的?

嗨,大家好!我是波罗学。 本文是系列文章 Go 技巧第十五篇,系列文章查看:Go 语言技巧。 我们先看这样一个问题:“Go 语言中,将 byte 转换为 int 时是否涉及字节序(endianness)&#x…

《Git 简易速速上手小册》第4章:Git 与团队合作(2024 最新版)

文章目录 4.1 协作流程简介4.1.1 基础知识讲解4.1.2 重点案例:为 Python Web 应用添加新功能4.1.3 拓展案例 1:使用 CI/CD 流程自动化测试4.1.4 拓展案例 2:处理 Pull Request 中的反馈 4.2 使用 Pull Requests4.2.1 基础知识讲解4.2.2 重点案…

MES生产制造管理:汽车零部件生产MES解决方案

某某汽车部件科技有限公司是一家铝合金零部件研发、压铸和精加工为一体的高新技术企业,拥有先进压铸、机加、检测等设备,并配套自动化生产线。为解决发动机支架等产品的全程生产质量追溯和实现机台设备联网,梅施科技提供了车间级的MES解决方案,如图所示: 梅施科技采…

[项目管理] 如何使用git客户端管理gitee的私有仓库

最近发现即使翻墙也无法g使用ithub了,需要把本地的项目搬迁到新的git托管平台。 gitee 是一个国内开源项目托管平台,是开源开发者、团队、个人进行 git 代码管理和协作的首选平台之一。本文将详细介绍如何向 gitee 提交私有项目。 注册 Gitee 账号并创建…

每日五道java面试题之java基础篇(一)

第一题 什么是java? PS:碎怂 Java,有啥好介绍的。哦,⾯试啊。 Java 是⼀⻔⾯向对象的编程语⾔,不仅吸收了 C语⾔的各种优点,还摒弃了 C⾥难以理解的多继承、指针等概念,因此 Java 语⾔具有功能强⼤和简单易…

Flask 入门7:使用 Flask-Moment 本地化日期和时间

如果Web应用的用户来自世界各地,那么处理日期和时间可不是一个简单的任务。服务器需要统一时间单位,这和用户所在的地理位置无关,所以一般使用协调世界时(UTC)。不过用户看到 UTC 格式的时间会感到困惑,他们…

C#静态数组删除数组元素不改变数组长度 vs 动态数组删除数组元素改变数组长度

目录 一、使用的方法 1.对静态数组删除指定长度并不改变数长度的方法 (1)静态数组 (2)对静态数组删除元素不得改变其长度 2.对动态数组删除指定长度并改变数长度的方法 (1)动态数组 (2&a…

Linux 命令基础

Shell概述 Linux操作系统的Shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 Shell是用户和Linux内核之间的接口程序,如果把硬件想象成一个球体的中心,内核围绕在硬件的外层管理着…

vscode +git +gitee 文件管理

文章目录 前言一、gitee是什么?2. Gitee与VScode连接大概步骤 二、在vscode中安装git1.安装git2.安装过程3.安装完后记得重启 三、使用1.新建文件夹first2.vscode 使用 四、连接git1.初始化仓库2.设置git 提交用户和邮箱3.登陆gitee账号新建仓库没有的自己注册一个4…

python进行批量搜索匹配替换文本文字的matlab操作实例

在进行一些数据处理时,可能需要抓取原文中的一些内容,批量替换原文另外的一些内容,而且事先还需要一步搜索匹配的步骤。 举个例子,如下matlab输出的txt文件,原文件有几万行数据,这里只摘取3行对应的 文件文…

单片机学习笔记---DS1302时钟

上一节我们讲了DS1302的工作原理,这一节我们开始代码演示。 新创建一个工程写上框架 我们需要LCD1602进行显示,所以我们要将LCD1602调试工具那一节的LCD1602的模块化代码给添加进来 然后我们开始创建一个DS1302.c和DS1302.h 根据原理图,为了…

spring boot(2.4.x之前版本)和spring cloud项目中配置文件的作用

spring 版本以及相关的组件一直在变化&#xff0c;其中一些类或者功能在低版本中有&#xff0c;高版本中去掉了&#xff0c;有的新功能只在高版本有。 为了防止理解问题&#xff0c;pom.xml 版本依赖如下 <parent><groupId>org.springframework.boot</groupId…

leetcode 3027. 人员站位的方案数 II【离散化前缀和+枚举】

原题链接&#xff1a;3027. 人员站位的方案数 II 题目描述&#xff1a; 给你一个 n x 2 的二维数组 points &#xff0c;它表示二维平面上的一些点坐标&#xff0c;其中 points[i] [xi, yi] 。 我们定义 x 轴的正方向为 右 &#xff08;x 轴递增的方向&#xff09;&#x…

STM32Cubmax DAC 采集

一、概念 DMA&#xff0c;全称为&#xff1a; Direct Memory Access&#xff0c;即直接存储器访问&#xff0c; DMA 传输将数据从一个 地址空间复制到另外一个地址空间。 当 CPU 初始化这个传输动作&#xff0c;传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动…

怎么理解 Redis 事务

背景 在面试中经常会被问到&#xff0c;redis支持事务吗&#xff1f;事务是怎么实现的&#xff1f;事务会回滚吗&#xff1f;又是一键三连&#xff0c;我下面分析下&#xff0c;看看能不能吊打面试官 什么是Redis事务 事务是一个单独的隔离操作&#xff1a;事务中的所有命令…

嵌入式学习之Linux入门篇笔记——17,makefile基本语法(上)

配套视频学习链接&#xff1a;http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p4&share_sourcecopy_web&vd_sourcea0ef2c4953d33a9260910aaea45eaec8 目录 一&#xff0e;设置 vim 首行缩进 二.Makefile 基本语法…

golang windows 环境搭建 环境配置

golang windows 环境搭建 环境配置 Golang学习之路一环境搭建 MacBook Linux 树莓派raspberrypi安装Golang环境 官网下载地址: https://go.dev/dl/ https://golang.google.cn/dl/ 下载对应系统版本&#xff0c;例如windows 64位系统&#xff0c;下载&#xff1a;xxx.window…

云计算市场分析

目录 一、云计算市场概述 1.1 概述 二、国外云计算厂商 2.1 亚马逊AWS 2.2 微软AzureAzure 2.3 Apple iCloud 三、国内云计算厂商 3.1 阿里云 3.2 腾讯云 3.3 华为云 3.4 百度智能云 一、云计算市场概述 1.1 概述 云计算从出现以来&#xff0c;其发展就非常迅速。以…

【数据结构】前缀树的模拟实现

目录 1、什么是前缀树&#xff1f; 2、模拟实现 2.1、前缀树节点结构 2.2、字符串的添加 2.3、字符串的查寻 2.3.1、查询树中有多少个以字符串"pre"作为前缀的字符串 2.3.2、查询某个字符串被添加过多少次 2.4、字符串的删除 3、完整代码 1、什么是前缀树&…