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

Linux基础开发工具一(yum/apt ,vim)

前言

Linux下,如何进行软件安装,查找,卸载

1.源代码安装

2. rpm安装方式,安装包的本质,就是把源代码在Linux下编译好,然后打包(别人把自己编译好的软件打包给你让你去安装)

上面这两种安装方式都有一些编译和对应库的问题,因为软件是存在依赖关系的。

比如 vim 一个c语言文件需要有对应的 lib64/libc.so.6 C语言标准库。

3. yum/apt 工具级别的安装 --- 自动解决依赖关系!


一、软件包管理器

1. 1 什么是软件包

  1. 在Linux下安装软件, ⼀个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。
  2. 但是这样太麻烦了, 于是有些⼈把⼀些常用的软件提前编译好, 做成软件包RPM(可以理解成windows上的安装程序)放在⼀个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 把它下载下来然后安装到linux操作系统的特定目录下,直接进行安装。软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系。
  3. yum(Yellow dog Updater, Modified)是Linux下非常常用的⼀种包管理器. 主要应⽤在Fedora, RedHat, Centos等发行版上.yum提供了自动解决依赖关系、下载和安装软件包的功能。Ubuntu:主要使⽤apt(Advanced Package Tool)作为其包管理器。apt同样提供了自动解决依 赖关系、下载和安装软件包的功能
yum和apt命令就类似于在手机上的应用商店,搜索你想要下载的软件然后安装的这个过程。


Linux操作系统的内核一样,源代码一样,但是各个发行版本的生态不一样所以就有了多种Linux操作系统。

1. 2 Linux软件生态

  • Linux各个发行版本下载软件的过程(Ubuntu、Centos、other)

这里自己的云服务器就类似于手机的应用商店,这个应用商店里面会内置上我要下载软件时所对应的软件包服务器对应的网络地址,在远端服务器找到对应的app并安装在本地 

我们下载的软件是在远端的,所以我们在网络中把他下载安装到本地

Linux操作系统的各个发行版本都有自己的软件包服务器,开发者会把自己写好的软件编译形成二进制程序打包放在对应的软件包服务器上,让用户下载并安装;

  • 为什么开发者会免费为特定社区提供软件,还发布?还提供云服务器让你下载安装?

因为这些软件也是Linux操作系统生态的一部分!!!要和其他发行版本的操作系统竞争,当然还要盈利!

提到下载的前提就是要:找到软件的地址!!

应该先找到软件包服务器的地址,而软件包服务器也是某种云服务器。

各个操作系统社区除了需要准备好软件还要有自己的云服务器把软件包传到云服务器上,还要把自己的云服务器的地址链接打包内置到他对应发行版本的操作系统发布的apt/yum的软件包的配置文件里,然后用户通过apt/yum工具就可找到对应的软件进行下载安装。

我们自己用的云服务器部署各种服务,做开发,测试,实际上这个云服务器上直接就可以部署某种网络文件传输的服务,把文件包括软件文件传输就是因为已经内置好了一切。

  • 操作系统的好坏评估--- 生态问题

 

Linux操作系统的开发者,肯定是希望让更多的人用他这个发行版本 !

那么 开发者就不仅得写操作系统,还得维护社区论坛,官网文档等生态,还要支持和欢迎更多的开发者来给linux操作系统开发大量的上层应用,全方位的搭建linux操作系统的生态!!!           

  • 软件包依赖的问题

  • 国内外镜像源切换

国内的软件包服务器把国外的软件包服务器镜像到国内让我们使用,同时修改一系列配置文件和给你提供国内的下载链接。

1.3 yum的具体操作

我们用到的指令其实是linux下特定路径下的二进制文件,我们yum/apt工具下载的软件也会到指定的系统目录下。

安装软件要以超级用户root身份进行安装,因为要拷贝下载下来的软件到指定系统目录,这里涉及到了权限的约束,所以需要以root身份来进行安装。

普通用户用 sudo 以超级用户(root)权限执行后续命令,避免普通用户权限不足的问题。

1.3.1 查看软件包

通过 yum list 命令可以罗列出当前⼀共有哪些软件包. 由于包的数目可能⾮常之多, 这⾥我们需要使⽤ grep 命令只筛选出我们关注的包. 例如:

我们也可以使用search命令来查找
sudo yum search sl | grep sl.x86

注意事项:

  • 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  • "x86_64" 后缀表⽰64位系统的安装包, "i686" 后缀表⽰32位系统安装包. 选择包时要和系统匹配.
  •  在 Linux 系统中,sl.x86_64 指的是适用于 x86_64 架构(64 位 Intel/AMD 处理器)的Steam Locomotive命令行工具包。 
  • "el7" 表示操作系统发行版的版本.5.02 - 1.el7   5.02 - 1是代表的版本号  el7是指这个文件是在centos release 7下有效的
  • 最后⼀列, @epel 表示的是 "软件源" 的名称, 表示是谁提供的,类似于 "小米应用商店", "华为应用商店" 这样的概念.
     

其实也不太需要用到查找这些工具,如果以后有需求需要下载软件直接可以通过AI大模型工具来搜索辅助你下载。


1.3.2 安装软件

通过 yum, 我们可以通过很简单的⼀条命令完成 lrzsz 的安装.

 lrzsz是在Linux 终端实现文件上传和下载功能的工具。

# Centos
$ sudo yum install -y lrzsz# Ubuntu
$ sudo apt install -y lrzsz
  1. yum/apt 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装. 如果在命令行中加上 -y 就可以省去这一需要你确定的步骤
  2. 出现 "complete" 字样或者中间未出现报错, 说明安装完成.

注意事项:

  • 安装软件时由于需要向系统目录中写入内容, ⼀般需要 sudo 或者切到 root 账户下才能完成.
  •  yum/apt 安装软件只能⼀个装完了再装另⼀个, 正在yum/apt安装⼀个软件的过程中, 如果再尝试用yum/apt安装另外⼀个软件, yum/apt会报错。

这种情况是当前发行版本的操作系统没有更新扩展源导致不支持下载这个软件 ,我们可以更新一下扩展源。

sudo yum install -y epel-release


1.3.3 卸载软件

也是通过命令行来卸载

# Centos
sudo yum remove [-y] lrzsz# Ubuntu
sudo apt remove [-y] lrzsz


注意事项:

关于 yum / apt 的所有操作必须保证主机(虚拟机)网络畅通!!!

可以通过 ping 指令验证。

ping www.baidu.com例如;[zky1@hcss-ecs-0c30 ~]$ ping www.baidu.com
PING www.a.shifen.com (110.242.70.57) 56(84) bytes of data.
64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=1 ttl=48 time=11.6 ms
64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=2 ttl=48 time=11.6 ms
64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=3 ttl=48 time=11.6 ms
64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=4 ttl=48 time=11.6 ms
64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=5 ttl=48 time=11.6 ms
64 bytes from 110.242.70.57 (110.242.70.57): icmp_seq=6 ttl=48 time=11.6 ms
^C

1.3.4 安装源

Cetnos 安装源路径:

$ ll /etc/yum.repos.d/
total 16
-rw-r--r-- 1 root root 676 Oct 8 20:47 CentOS-Base.repo # 标准源
-rw-r--r-- 1 root root 230 Aug 27 10:31 epel.repo # 扩展源# 安装扩展源,
# $ sudo yum install -y epel-release

Ubuntu 安装源路径:
 

$ cat /etc/apt/sources.list   # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源
# ubuntu 安装扩展源,就结合未来具体场景

我们没有告诉yum / apt这些工具我们要下载的软件在哪里他就能下载安装,是因为centos/ubuntu系统里已经内置了软件源的链接地址。

这个命令可以看到安装源
ls /etc/yum.repos.d/

在 Linux 系统中,.repo后缀通常用于软件仓库配置文件。

软件仓库是存储软件包的地方,系统通过读取.repo文件来获取软件仓库的相关信息,如仓库的地址、包含的软件包类型、更新频率等。这样,当用户使用包管理工具(如 yum、dnf 等)安装、更新软件时,包管理工具就会根据.repo文件中定义的仓库信息去查找和获取相应的软件包。

例如,在 CentOS 系统中,/etc/yum.repos.d/目录下存放着各种.repo文件,用于配置不同的软件源,包括官方源、第三方源等。每个.repo文件对应一个软件仓库,通过修改这些文件中的配置信息,可以灵活地管理系统的软件来源和更新策略。

Centos-Base.repo 就是稳定软件源;

 epel.repo 就是扩展软件源;

有些软件yum命令之后没安装成功可以看看是不是么有更新扩展源;

 

首先检查系统是否已安装扩展源(如 EPEL):

yum repolist enabled | grep -i epel
# 如果有输出(如epel/x86_64),说明已安装

如果已安装扩展源,直接使用yum update更新所有软件包(包括扩展源中的包):

sudo yum update -y

更新源配置后,建议清除 yum 缓存并重新生成:

sudo yum clean all      # 清除缓存
sudo yum makecache     # 重新生成缓存

 

二、编辑器Vim

2.1 vim的基本概念

vim是一款在linux系统中广泛使用的强大文本编辑器,具有高度的可定制性和效率以下是关于vim的核心介绍

我们讲解vim的三种模式(其实有好多模式,前掌握这3种即可),分别是命令模(commandmode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

命令模式(Normal Mode):

启动 Vim 后默认进入的模式,用于导航和执行命令,不能直接输入文本。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode等模式下。

插入模式(Insert Mode):

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
在此模式下可以输入和编辑文本。进入方法:按 i(在当前光标前插入)、a(在当前光标后插入)、o(在当前行下方插入新行)等。

底行模式(last line mode):

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,按 " : " 即可进⼊该模式。要查看你的所有模式:打开 vim,底⾏模式直接输⼊ :help vim-modes

2.2 vim的基本操作

进入vim,在系统提示符号输入vim及文件名称后,就进⼊vim全屏幕编辑画面:

vim code.c

不过有⼀点要特别注意,就是你进入vim之后,是处于[命令模式],你要切换到[插入模式]才能够输入文字。
 

【命令模式】 切换至 【插入模式】:

   输入a

   输入 i

   输入o

【插入模式】切换至【命令模式】:


  可以先按⼀下「ESC」键转到[正常模式]
 

【命令模式】切换至【底行模式】:

【shift + ;】, 其实就是输⼊【:】

退出vim及保存文件,在【命令模式】下,按⼀下【:】冒号键进入【底行模式】:

•  : w   (输入 w  , 保存当前文件)

•  : wq   (输入 wq ,存盘并退出vim)

•  : q!     (输入  q!  ,不存盘强制退出vim)

2.3 vim命令模式命令集

1. 【插入模式】:

首先先从默认的命令模式转到插入模式。

按「i」切换进入插入模式「insert mode」,按“i”进⼊插⼊模式后是从光标当前位置开始输入文件;

按「a」进⼊插入模式后,是从目前光标所在位置的下⼀个位置开始输入文字;

按「o」进⼊插入模式后,是插入新的一行,从行首开始输入文字;

然后就可以开始在里面编写代码等

 2. 写好代码以后从【插入模式】 ---> 【命令模式】

 3.在命令模式下,用命令进行文本编辑(增删改查),提升编辑效率。

  移动光标:

  1.   vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移⼀格。
  2. 按「G」 也就是shift + g :移动到文章的最后;n  + G 代表光标移动到第n行;gg 光标快速回到文本开始;
  3. 按「$」:移动到光标所在行的"行尾"
  4. 按「^」:移动到光标所在行的"行首"
  5. 按「w」:光标跳到下个字的开头
  6. 按「e」:光标跳到下个字的字尾
  7. 按「b」:光标回到上个字的开头
  8. 按「#l」:从光标位置处移到光标后面的第#个位置,如:5l,56l
  9. 按「ctrl」+「b」:屏幕往“后”移动一页
  10. 按「ctrl」+「f」:屏幕往“前”移动一页
  11. 按「ctrl」+「u」:屏幕往“后”移动半页
  12. 按「ctrl」+「d」:屏幕往“前”移动半页

删除文字:

  1. 「x」    :每按⼀次,删除光标所在位置的⼀个字符
  2. 「#x」   :例如,「6x」表⽰删除光标所在位置的“后⾯(包含⾃⼰在内)”6个字符
  3. 「X」    :⼤写的X,每按⼀次,删除光标所在位置的“前⾯”⼀个字符
  4. 「#X」  :例如,「20X」表⽰删除光标所在位置的“前⾯”20个字符
  5. 「dd」  :删除光标所在行  dd删除之后配合 p 就是剪切的功能
  6. 「#dd」:从光标所在行开始删除#行

复制:

  1. 「yw」  :将光标所在之处到字尾的字符复制到缓冲区中
  2. 「#yw」:复制#个字到缓冲区
  3. 「yy」   :   复制光标所在行到缓冲区
  4. 「#yy」 :「6yy」拷贝从光标所在位置往下数的6行文本
  5. 「p」     :将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能

替换:

  1. 「r」:替换光标所在处的字符。
  2. 「R」:让vim进入替换模式(replace)可覆盖式替换,直到按下「ESC」键为止

撤销上⼀次操作:

  1. 「u」:如果您误执行⼀个命令,可以马上按下「u」,回到上⼀个操作。按多次“u”可以执行多次恢复
  2. 「ctrl + r」: 撤销恢复

大小写变换:

  1. shift + ~ : 把光标所在位置的大小写字母进行替换(大写变小写,小写变大写)

选中光标位置的文本,高亮语法

  1. shift + # , 选中以后高亮,点击n可以跳转到下一个 

上面的大多数命令都可前面配合n使用,一次多行。

【底行模式】:

注:在使⽤末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进⼊末⾏模式。

列出行号:

  1. 「set nu」: 输⼊「set nu」后,会在⽂件中的每⼀⾏前⾯列出行号
  2. 「set nonu」: 取消行号

保存文件:

  1. 「w」: 在冒号输⼊字⺟「w」就可以将⽂件保存起来

离开vim:

  1. 「q」:按「q」就是退出,如果⽆法离开vim,可以在「q」后跟⼀个「!」强制离开vim
  2. 「wq」:⼀般建议离开时,搭配「w」⼀起使⽤,这样在退出的时候还可以保存⽂件。
     

代码复用的时候查找和替换(substitute):

(%)s/xxx/yyy/ + 命令提示符, 具体搜索AI大模型

在底行模式中可以不用退出执行各种命令:

!command

 

直接用vim也可以新建文件。vim hello.c 保存退出即可新建文件

 

vs newfile 可支持多文件协同工作

ctrl + ww 在两个文件中间切换光标


 

如果gcc编译报错可以直接用vim code.c +n  直接定位到报错行

 

直接快捷打开最近编辑过的文件
!v

2.4 简单的vim配置

配置文件的位置在目录 /etc/ 下面,有个名为vimrc的⽂件,这是系统中公共的vim配置文件,对所有用户都有效。

⽽在每个用户的主⽬录下,都可以自己建立私有的配置⽂件,命名为:“.vimrc”。例如,/root⽬录下,通常已经存在⼀个.vimrc⽂件,如果不存在,则创建之。

 以普通用户的身份配置,打开自己家录下的.vimrc文件,执行vim .vimrc进行配置。

vim的配置文件就是在修改自己普通用户家目录下所对应的 .vimrc的文件内容

插件得安装在普通用户家目录下的  ~/.vim/plugin 中;

相关文章:

Linux基础开发工具一(yum/apt ,vim)

前言 Linux下,如何进行软件安装,查找,卸载 1.源代码安装 2. rpm安装方式,安装包的本质,就是把源代码在Linux下编译好,然后打包(别人把自己编译好的软件打包给你让你去安装) 上面…...

Java 线程池原理

Java 线程池是一种管理和复用线程的机制,其原理如下: 核心概念 线程池的初始化 :在创建线程池时,需要设置一些关键参数,如核心线程数(corePoolSize)、最大线程数(maximumPoolSize&am…...

AJAX 使用 和 HTTP

ajax学习 promise和 awit Node.js 和 webpack 前端工程化 Git工具 AJAX异步的JS和XML: 使用XML对象和服务器通信 在这里插入图片描述 统一资源定位符 URL HTTP 超文本传输协议 域名 资源路径 资源目录和类型 URL 查询参数 使用?表示之后的参数…...

mem0跟Memgraph交互

目录 1. 安装和设置2. 配置连接3. 使用 mem0 进行交互4. 添加和查询数据5. 代码运行结果 1. 安装和设置 首先,确保你已经安装了 Memgraph 和 mem0 库。你可以使用 pip 来安装 mem0: uv pip install "mem0ai[graph]" uv pip install langchai…...

httpclient请求出现403

问题 httpclient请求对方服务器报403,用postman是可以的 解决方案: request.setHeader( “User-Agent” ,“Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0” ); // 设置请求头 原因: 因为没有设置为浏览器形式&#…...

验证码与登录过程逻辑学习总结

目录 前言 一、验证码与登录 二、使用步骤 1.先apipost测试一波 2.先搞验证码 3.跨域问题 4.后端走起 总结 前言 近期要做一个比较完整的demo,需要自己做一个前端登录页面,不过api接口都是现成的,一开始以为过程会很easy,…...

openai接口参数max_tokens改名max-completion-tokens?

文章目录 关于max_tokens参数max_tokens改max-completion-tokens?控制 OpenAI 模型响应的长度 关于max_tokens参数 大模型 API(比如 OpenAI、DeepSeek、Moonshot 等)都是按照“Token 数量”来计费。 控制内容:控制一次请求返回的…...

【办公类-39-07】20250511批量生成通义万相图片(七)彩色背景蝴蝶-筛选无黑无白的图片

制作了教师裁剪的拼图块后,发现如果图案上有黑色,就没法看清出凹凸角,剪起来有误差 所以黑色也要剔除 通义万相下载的彩色蝴蝶有彩色背景的图片,放弃有白色和黑色图案的图片,保留彩色图案的蝴蝶 deepseek、阿夏 20250…...

容器技术 20 年:颠覆、重构与重塑软件世界的力量

目录 容器技术发展史 虚拟化技术向容器技术转变 Docker的横空出世 容器编排技术与Kubernetes 微服务的出现与Istio 工业标准的容器运行时 容器技术与 DevOps 的深度融合​ 无服务架构推波助澜 展望未来发展方向 从 20 世纪硬件虚拟化的笨重,到操作系统虚拟…...

Docker 部署 - Crawl4AI 文档 (v0.5.x)

Docker 部署 - Crawl4AI 文档 (v0.5.x) 快速入门 🚀 拉取并运行基础版本: # 不带安全性的基本运行 docker pull unclecode/crawl4ai:basic docker run -p 11235:11235 unclecode/crawl4ai:basic# 带有 API 安全性启用的运行 docker run -p 11235:1123…...

在C++中,符号位是否参与位运算

在C中,符号位是否参与位运算取决于具体的运算符和数据类型。以下是详细解释: 1. 按位与(&)、按位或(|)、按位异或(^) 规则:这些运算符会处理包括符号位在内的所有二…...

【计算机网络】NAT技术、内网穿透与代理服务器全解析:原理、应用及实践

📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🅒 C 语言 | 🌐 计算机网络 上篇文章:以太网、MAC地址、MTU与ARP协议 下篇文章:五种IO模型与阻…...

redis数据结构-08(SINTER、SUNION、SDIFF、SISMEMBER)

集合运算:SINTER、SUNION、SDIFF、SISMEMBER Redis 集合是一种功能强大的数据结构,可用于存储一组唯一元素。本课基于上一课对 Redis 集合的介绍,深入探讨了使 Redis 集合如此多功能的基本集合操作: SINTER 、 SUNION 、 SDIFF 和…...

大模型都有哪些超参数

大模型的超参数是影响其训练效果、性能和泛化能力的关键设置,可分为以下几大类别并结合实际应用进行详细说明: 一、训练过程相关超参数 学习率(Learning Rate) 作用:控制参数更新的步长,直接影响收敛速度和稳定性。过高会导致震荡或过拟合,过低则收敛缓慢。调整策略:初…...

【更新至2023年】1999-2023年上市公司人工智能词频统计数据(年报词频统计)

【更新至2023年】1999-2023年上市公司人工智能词频统计数据(年报词频统计) 1、时间:1999-2023年 2、来源:上市公司年报 3、指标:股票代码、公司简称、年报标题、年份、行业名称、行业代码、全文-文本总长度、仅中英…...

通过 Azure DevOps 探索 Helm 和 Azure AKS

俗话说:“慷慨之人必昌盛;滋润他人者,必得滋润。” 如果您觉得这篇文章对您有有所帮助,请点赞,关注,转发! 前言 在不断发展的云计算世界中,应用程序的无缝部署和管理至关重要。Azu…...

Go语言标识符

文章目录 标识符的组成规则Go语言关键字预定义标识符标识符命名惯例 特殊标识符标识符访问权限控制 在Go语言中,标识符(Identifier)是用来命名变量、函数、类型、常量等程序实体的名称。 标识符的组成规则 1、必须以字母或下划线(_)开头: 字母包括Unico…...

Spring Cloud : OpenFeign(远程调用)

RestTemplate虽然比直接用HTTPClient简单的多,但是还是存在着许多的问题,比如url拼接麻烦,容易出错,并且可读性很差 public OrderDetail selectOrderById(Integer orderId){OrderDetail orderDetail orderMapper.selectOrderById…...

JVM内存结构有哪些?HashMap和HashTable的区别?

JVM内存结构 JVM内存主要分为以下几个区域: 程序计数器(Program Counter Register) 线程私有,记录当前线程执行的字节码行号指示器 唯一一个不会出现OOM的内存区域 Java虚拟机栈(Java Virtual Machine Stacks) 线程私有,生命周期与线程相…...

三维空间中的组织行为映射:MATLAB 数据插值可视化技术

在组织行为学研究中,如何直观呈现多维变量之间的关系一直是个挑战。今天我们将深入解析一段 MATLAB 代码,看看如何通过数据插值和三维可视化技术,将抽象的组织行为数据转化为直观的三维曲面图,揭示组织自尊 (OBSE)、牺牲性领导 (SSL) 与责任感知 (FO) 之间的复杂关系。 �…...

ImportError: DLL load failed: 找不到指定的程序。

查看其他博客说是缺少libssl-1_1-x64.dll 和 libcrypto-1_1-x64.dll 然后去下载放到博客说的目录下 没有用 解决不了一点 OpenSSL for Windows 64位 完整安装包 在这里 项目地址: https://gitcode.com/open-source-toolkit/eb627 注意事项 此安装包仅适用于64位Windows系…...

计算机的三个根本性基础

1. 计算机是执行输入、运算、输出的机器 从硬件上看,计算机是执行输入、运算、输出的机器,计算机的硬件由大量的IC(Integrated Circuit,集成电路)组成。 IC会在其中内部对外部输入的信息进行运算,并把运算…...

C++ Builder XE 使用DevMode设置打印机的自定义纸张,打印方向

代码功能介绍(以备以后查询):该代码片段展示了如何将TPanel控件的内容作为图像打印出来。首先,代码创建了一个与TPanel大小相同的位图,并通过BitBlt函数将TPanel的内容复制到位图中。接着,代码配置打印机,设…...

QOwnNotes:功能强大的跨平台笔记应用程序

QOwnNotes是一款功能强大的跨平台笔记应用程序,专为追求高效、灵活笔记管理的用户设计。它不仅支持Windows、macOS和Linux等多种操作系统,还提供了丰富的功能,帮助用户轻松管理笔记、任务和清单。无论是日常记录、学习笔记还是工作计划&#…...

深入理解反序列化攻击:原理、示例与利用工具实战

反序列化漏洞是现代 Web 安全中的一个高危攻击类型,常常导致远程代码执行(RCE)、文件读写、身份伪造等严重后果。本文将从基础原理讲起,结合实际代码和工具(PHPGGC、ysoserial)演示反序列化攻击的完整过程。…...

【今日三题】素数回文(模拟) / 活动安排(区间贪心) / 合唱团(动态规划)

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;每日两三题 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 素数回文(模拟)活动安排(区间贪心)合唱团(动态规划) 素数回文(模拟) 素数回文 #include <iostream> #include <st…...

一文了解B+树的删除原理

1. B树的核心特性回顾 B树是一种广泛应用于数据库和文件系统的平衡多路搜索树&#xff0c;其核心特性包括&#xff1a; 阶数&#xff08;m&#xff09;&#xff1a;定义每个节点最多拥有的子节点数&#xff08;或键数&#xff09;节点容量规则&#xff1a; 根节点&#xff1a…...

Spring Boot项目(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot前后端分离)

下载地址&#xff1a; 前端&#xff1a;https://download.csdn.net/download/2401_83418369/90811402 后端&#xff1a;https://download.csdn.net/download/2401_83418369/90811405 一、前端vue部分的搭建 这里直接看另一期刊的搭建Vue前端工程部分 前端vue后端ssm项目_v…...

26考研——中央处理器_指令流水线_指令流水线的基本概念 流水线的基本实现(5)

408答疑 文章目录 六、指令流水线指令流水线的基本概念流水线的基本实现流水线设计的原则流水线的逻辑结构流水线的时空图表示 八、参考资料鲍鱼科技课件26王道考研书 六、指令流水线 前面介绍的指令都是在单周期处理机中采用串行方法执行的&#xff0c;同一时刻 CPU 中只有一…...

DAY 22 复习日kaggle泰坦里克号人员生还预测

复习日 仔细回顾一下之前21天的内容&#xff0c;没跟上进度的同学补一下进度。 作业&#xff1a; 自行学习参考如何使用kaggle平台&#xff0c;写下使用注意点&#xff0c;并对下述比赛提交代码 kaggle泰坦里克号人员生还预测 输入&#xff1a; import pandas as pd from sklea…...

SpringCloud Gateway知识点整理和全局过滤器实现

predicate(断言)&#xff1a; 判断uri是否符合规则 • 最常用的的就是PathPredicate&#xff0c;以下列子就是只有url中有user前缀的才能被gateway识别&#xff0c;否则它不会进行路由转发 routes:- id: ***# uri: lb://starry-sky-upmsuri: http://localhost:9003/predicate…...

婴幼儿托育实训室师资协同培养模式

随着社会对婴幼儿托育服务需求的日益增长&#xff0c;培养适应市场需求的高素质托育人才成为当务之急。产教融合作为一种有效的人才培养模式&#xff0c;对于婴幼儿托育实训室建设具有重要意义&#xff0c;能够有效整合学校和企业的资源&#xff0c;为婴幼儿托育实训室人才培养…...

Gartner 《2025大数据管理规划指南》学习心得

概要 本研究旨在为数据和分析&#xff08;D&A&#xff09;技术专业人员提供2025年的数据管理规划指导&#xff0c;帮助他们应对最新数据管理趋势&#xff0c;以增强决策制定并实现卓越的业务成果。强调了持续适应数据管理实践的组织将更有能力做好人工智能&#xff08;AI&…...

理解反向Shell:隐藏在合法流量中的威胁

引言 在网络安全领域&#xff0c;​​反向Shell&#xff08;Reverse Shell&#xff09;​​ 是一种隐蔽且危险的攻击技术&#xff0c;常被渗透测试人员和攻击者用于绕过防火墙限制&#xff0c;获取对目标设备的远程控制权限。与传统的“正向Shell”&#xff08;攻击者主动连接…...

《AI大模型应知应会100篇》第55篇:大模型本地开发环境搭建

第55篇&#xff1a;大模型本地开发环境搭建 ——从零开始构建你的AI炼金炉 &#x1f4cc; 摘要 在人工智能尤其是大模型&#xff08;LLM&#xff09;领域&#xff0c;一个高效、稳定、可扩展的本地开发环境是每位开发者的第一块基石。本文将手把手带你完成从硬件选型到软件配…...

AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月11日第74弹

从今天开始&#xff0c;咱们还是暂时基于旧的模型进行预测&#xff0c;好了&#xff0c;废话不多说&#xff0c;按照老办法&#xff0c;重点8-9码定位&#xff0c;配合三胆下1或下2&#xff0c;杀1-2个和尾&#xff0c;再杀6-8个和值&#xff0c;可以做到100-300注左右。 (1)定…...

Docker:安装配置教程(最新版本)

文章目录 一、前言二、具体操作2.1 卸载 Docker (可选)2.2 重新安装&#xff08;使用清华大学镜像&#xff09;2.3 配置轩辕镜像加速2.4 Docker 基本命名2.5 测试是否成功 三、结语 一、前言 Docker 是一种容器化技术&#xff0c;在软件开发和部署中得到广泛的应用&#xff0c…...

数据结构【二叉树的遍历实现】

&#x1f4d8;考研数据结构基础&#xff1a;二叉树的存储、遍历与队列辅助实现详 在数据结构的学习中&#xff0c;二叉树作为一种结构清晰、应用广泛的树形结构&#xff0c;是考研计算机专业课中重点内容之一。本文将以实际代码为基础&#xff0c;介绍二叉树的存储结构、遍历方…...

稳态电路和瞬态电路

一、概述 稳态电路是指电路在长时间运行后达到的一种稳定状态&#xff1b; 瞬态电路是指电路在切换或者初始化节点经历过渡的过程。 在电路分析中&#xff0c;稳态和瞬态是动态电路的两个阶段。在电路中&#xff0c;如果有电感或者电容时&#xff0c; 他们的电压和电流不能瞬间…...

spark运行架构及核心组件介绍

目录 1. Spark 的运行架构1.1 Driver1.2 Executor1.3 Cluster Manager1.4 工作流程 2. Spark 的核心组件2.1 Spark Core2.2 Spark SQL2.3 Spark Streaming2.4 MLlib2.5 GraphX 3. Spark 架构图4. Spark 的优势4.1 高性能4.2 易用性4.3 扩展性4.4 容错性 5. 总结 1. Spark 的运行…...

Linux服务器常用运维工具/命令

常用工具/命令 1、查看内存使用 free -m上述命令用于显示系统中内存的使用情况&#xff0c;并将内存使用量以兆字节&#xff08;MB&#xff09;为单位显示。这个命令在 Linux 和类 Unix 系统上非常常见&#xff0c;是监视系统内存的一个简单而有用的工具。 具体而言&#xf…...

KaiwuDB 2.0:为 AIoT 而生,融合时序、关系与 AI 的未来数据库

目录: 引言:AIoT 数据洪流下的数据库“窘境”KaiwuDB 2.0:为 AIoT “量身定制”的智能数据基座核心利器:多模融合 + 原生 AI,解锁数据新范式不止于云:KaiwuDB Lite 轻装上阵边缘计算硬核实力:AIoT 场景下的显著优势技术基因:融合创新,构筑未来数据架构应用蓝图:深耕 A…...

Python打卡训练营Day22

浙大疏锦行 DAY 22 复习日 复习日 仔细回顾一下之前21天的内容&#xff0c;没跟上进度的同学补一下进度。 作业&#xff1a; 自行学习参考如何使用kaggle平台&#xff0c;写下使用注意点&#xff0c;并对下述比赛提交代码 kaggle 一、Kaggle 核心功能学习参考 注册与基础设置…...

Oracle — 内置函数

介绍 Oracle内置函数是数据库中预定义的编程工具&#xff0c;用于简化数据处理与计算逻辑。这些函数分为单行函数和聚合函数两大类。单行函数针对每条数据独立运算&#xff0c;例如LOWER函数转换文本为小写&#xff0c;ROUND实现数值四舍五入&#xff0c;TO_CHAR格式化日期输出…...

Kubernetes基础(三十二):Worker节点启动全解析

Worker节点是Kubernetes集群的"肌肉"&#xff0c;负责实际运行业务负载。本文将深入剖析Worker节点的完整启动流程&#xff0c;并揭秘生产环境中的关键优化点。 一、启动流程全景图 二、核心启动阶段详解 1. 系统初始化&#xff08;0-30秒&#xff09; 关键任务&a…...

“爱生活”小项目问题总结

目录 爱生活小程序 1.用户登录和注册模块遇到的问题 1.1在使用密码加密时&#xff0c;注册新用户&#xff0c;客户端响应401的问题 原因&#xff1a; 正确操作&#xff1a; 1.2在设置密码加密后&#xff0c;发送post登录请求&#xff0c;服务器出现报错java.lang.reflect.…...

实战项目5(08)

目录 任务场景一 【r1配置】 【r2配置】 【r3配置】 ​​​​​​​任务场景二 【r1配置】 【r2配置】 ​​​​​​​任务场景一 按照下图完成网络拓扑搭建和配置 任务要求&#xff1a; 通过在路由器R1、R2和R3上配置静态路由&#xff0c;实现网络中各终端PC能够正常…...

LeetCode 1550.存在连续三个奇数的数组:遍历

【LetMeFly】1550.存在连续三个奇数的数组&#xff1a;遍历 力扣题目链接&#xff1a;https://leetcode.cn/problems/three-consecutive-odds/ 给你一个整数数组 arr&#xff0c;请你判断数组中是否存在连续三个元素都是奇数的情况&#xff1a;如果存在&#xff0c;请返回 tr…...

大模型在肾肿瘤诊疗全流程预测及方案制定中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 研究创新点 1.4 研究方法与数据来源 二、肾肿瘤概述与大模型技术 2.1 肾肿瘤相关知识 2.1.1 定义、分类及症状 2.1.2 发病机制与影响因素 2.1.3 治疗现状与挑战 2.2 大模型技术原理及医疗应用现状 2.2.1 大模型…...

5月11号.

导入Maven项目: Maven依赖管理: 生命周期: 测试: 断言: Junit常见注解:...