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

Linux软件包管理与Vim编辑器使用指南

目录

一、Linux软件包管理器yum

1.什么是软件包?

2.什么是软件包管理器?

3.查看软件包

4.安装软件

​编辑

 5.卸载软件

Linux开发工具:

二、Linux编辑器---vim

1.vim的基本概念

(1) 正常/普通模式(Normal mode)

(2) 插入模式(insert mode)

(3) 底行模式(last line mode)

(4) vim三种模式的相互关系

2.vim的简易执行范例

(1) 使用【vim filename】

(2) [正常模式]切换至[插入模式]

(3) [插入模式]切换至[正常模式]

(4) [正常模式]切换至[底行模式]

(5) 退出vim环境

3.vim编辑模式命令集

(1) 移动光标

(2) 查找与替换

(3) 删除、复制与粘贴 

4.普通模式切换到编辑模式命令集

5.vim底行模式命令集

6.可视化模式(Visual Mode)

7.总结

8.简单配置vim

(1) 配置文件的位置

(2) 常用配置选项用来测试

(3) 使用插件

9.参考资料


一、Linux软件包管理器yum

1.什么是软件包?

在Linux下安装软件:

(1) 通常的办法是下载到程序的源代码,并对其进行编译,得到可执行程序。

(2) 但是这样太麻烦,于是有人把一些常用的软件提前编译好,做成软件包---rpm(可以理解成Windows上安装程序)放在一个服务器上。(rpm是一种以数据库记录的方式将所需要的软件安装到Linux系统的一套软件管理机制 => 需要满足软件的依赖属性需求,满足版本兼容性需求)

(3) 通过包管理器 --- yum(Centos) / apt / apt-get(ubuntu)可以很方便的获取到这个编译好的软件包,直接进行安装(本质就是拷贝 => 必须使用root权限 => 安装到系统里,只要安装一次,所有人都能使用)。

2.什么是软件包管理器?

 yum是Linux下非常常用的一种包管理器。软件包和软件包管理器,就好比“App”和“应用商店”的关系。主要应用于Fedora,RedHat,Centos等发行版上。

由于Linux发行版必须要先发布软件,然后软件放置于yum服务器上,以提供客户端来安装与升级之用。因此我们要使用yum功能时,必须要先找到合适的yum服务器才行。而每个人yum服务器可能都会提供许多不同的软件功能,因此,我们必须要前往yum服务器查询到想换的软件源网址后,再继续处理后续的设置事宜。但Centos在发布软件时已经制作出多个镜像站(国内知名的有阿里云、清华大学、163),提供全世界的软件更新之用。所以理论上我们不需要处理任何设置值,只要能连上网就可以使用yum(操作系统内部内置链接)。也就是说包管理器会自动解决软件的依赖关系。 

3.查看软件包

通过yum list命令可以罗列出当前一共有哪些软件包。由于包的数目可能非常之多,这里我们需要使用grep命令只筛选出我们关注的包。 

yum list | grep sl

4.安装软件

用 yum 完成 sl 的安装,yum会自动找到都有哪些软件包需要下载,这是敲 "y" 确认安装,出现“complete”说明安装成功。

sudo yum install sl

注意:

• 关于yum的所有操作必须保证主机(虚拟机)网络畅通!!!可以用ping指令验证:如果能够收到响应,说明主机可以访问互联网。

ping www.baidu.com

• 安装软件时由于需要向系统目录中写入内容,一般需要sudo或者切到root用户下才能完成。

• yum安装软件只能一个装完了再装另外一个。正在yum安装一个软件的过程中,如果在尝试用yum安装另外一个软件,yum会报错。

• /etc/yum.repos.d/*里面的文件称之为yum源。也就是我们开头所提到的yum服务器。更新yum源也就是更新里面的文件。Base 是稳定软件源,epel 是扩展软件源(新软件)。

[zyt@iZ2vcf9wvlgcetfeub9f11Z ~]$ cd /etc/yum.repos.d/
[zyt@iZ2vcf9wvlgcetfeub9f11Z yum.repos.d]$ ll
total 16
-rw-r--r-- 1 root root  675 Nov 11 17:01 CentOS-Base.repo
-rw-r--r-- 1 root root  230 Nov 11 17:01 epel.repo
-rw-r--r-- 1 root root 1358 Sep  5  2021 epel.repo.rpmnew
-rw-r--r-- 1 root root 1457 Sep  5  2021 epel-testing.repo

 5.卸载软件

sudo yum remove sl

下面这些命令通常一起使用,以确保软件包管理器的缓存是最新的,并且软件包是最新版本的。首先移除软件包,然后清理缓存,接着更新缓存,最后重新安装软件包。 

sudo yum remove sl #移除软件包
sudo yum clean all #清除软件包缓存
sudo yum makecache #生成元数据缓存
sudo yum install sl #安装软件包

Linux开发工具:

二、Linux编辑器---vim

前面的学习,我们一直都是使用命令行模式来处理Linux系统的设置问题。但在Linux的系统中使用文本编辑器来编辑你的Linux参数配置文件,可是一件很重要的事情,也因此,系统管理员至少应该熟悉一种文本处理工具。在Linux命令行模式下的常听的文本编辑器就有emacs、pico、nano、joe和vim等。之前我们已经介绍的简单好用的nano,为什么还要学vim?

因为,所有的 UNIX-like 系统都会内置vi文本编译器,其他的文本编译器则不一定会存在;很多软件的编辑接口都是主动调用vi(之后会讲的crontab,visudo,edquota等命令)等优点。

那什么是vim?vi/vim的区别简单来说,它们都是多模式编译器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x windows、mac os、windows。

1.vim的基本概念

讲解vim的三种模式(其实有好多种模式,目前掌握这三种即可)分别是普通模式(command mode)、插入模式(insert mode)和 底行模式(last line mode)。

(1) 正常/普通模式(Normal mode

以vim打开一个文件就直接默认是普通模式。在这个模式中,可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入insert mode模式下,或者last line mode。(帮助我们快速编辑)

(2) 插入模式(insert mode)

在普通模式下可以进行删除、复制、粘贴等操作,但是却无法编辑文件的内容,作文字的输入。要等到按下【i,I,o,O,a,A,r,R】等任何一个字母才能后才能进入编辑模式。通常在Linux中,界面左下方会出现【INSERT】或【REPLACE】等字样,才可以进行编辑。而要回到普通模式要按下【Esc】。

(3) 底行模式(last line mode)

在命令模式中输入【:   /   ?】三个中的任何一个按钮,就可以将光标移动到最下面那一行。该模式下,文件保存(w)或退出(q),也可以进行文件替换,找字符串,列出行号等操作。

(4) vim三种模式的相互关系

2.vim的简易执行范例

(1) 使用【vim filename】

【vim filename】进入vim全屏幕编辑画面,进入后,是处于[普通模式],要切换到[插入模式]才能够输入内容。整个界面分为两部分,上半部分与最下面一行可以视为独立的。上半部分展示的是文件的实际内容,最下面一行则是状态显示行,或命令执行行。 

● 用vim创建一个新文件node.c

vim node.c

● 用vim打开一个已有文件

man printf > code.c
vim code.c

【vim filename + num】

执行命令时加上数字,进入vim后光标位置就在所输数字行。

●【!v】

自动匹配上次执行过的v开头的命令

●【ctrl + r】

输入要查找的历史命令

(2) [正常模式]切换至[插入模式]

按下a,i,o等字符就可以从普通模式进入插入模式,在插入模式中,左下角会出现-INSERT-字样,键盘上出来【ESC】按键之外其他的按键都可以视为一般的输入按键,所以你可以进行任何编辑。

(3) [插入模式]切换至[正常模式]

按左上角的【ESC】即可。

(4) [正常模式]切换至[底行模式]

「shift + ;」, 其实就是输入「:」

(5) 退出vim环境

在 [普通模式下] 按「:」进入底行模式后,再输入下面所需要的命令:

w:保存当前文件

wq:存盘并退出vim

q!:不存盘强制退出vim 

3.vim编辑模式命令集

(1) 移动光标

h 或 ←光标左移一个字符
j 或 ↓光标下移一个字符
k 或 ↑光标上移一个字符
l 或 →光标右移一个字符
[ctrl] + [f]屏幕【向下】移动一页,相当于【pgdn】按键(常用)
[ctrl] + [b]屏幕【向上】移动一页,相当于【pgup】按键(常用)
[ctrl] + [d]屏幕【向下】移动半页
[ctrl] + [u]屏幕【向上】移动半页
0 或 ^ 或 [Home]移动到这一行的最前字符串处(常用)
$ 或 [End]移动到这一行的最后字符(常用)
G移动到这个文件的最后一行(常用)
nGn为数字,移动到这个文件的第n行
gg移动到这个文件的第一行,相当于1G(常用)
w以单词为单位右移
b以单词为单位左移
n<Enter>n为数字,光标向下移动n行(常用)

(2) 查找与替换

~切换光标位置大小写
#选中单词
nn是英文按键,代表【重复上一个查找的操作】,向下查找
NN是英文按键,与n刚好相反,是【反向】查找
/word向光标之下找一个名为word的字符串
?word向光标之上找一个名为word的字符串

 #选中word(或/word)配合n及N是非常有帮助的,可重复的查找的关键单词

(3) 删除、复制与粘贴 

x 与 X在一行中,x为向后删除一个字符(相当于[del]),X为向后删除一个字符(相当于[Backspace])(常用)
nxn为数字,连续向后删除n个字符
dd剪切光标所在的那一整行(常用)
nddn为数字,剪切光标所在的向下n行(常用)
yy复制光标所在的那一行(常用)
nyyn为数字,复制光标所在的向下n行(常用)
p 与 Pp为将已复制的数据在光标下一行粘贴,P为粘贴在光标的上一行(常用)
u撤销历史操作(常用)
[Ctrl] + r撤销u的操作(常用)
.小数点,重复上一个操作的含义(常用)

 注意:u 和 [Ctrl] + r 这两个操作一旦退出文件编辑就无法再撤销,但如果只是保存过没有退出文件就还能使用。

4.普通模式切换到编辑模式命令集

i 与 I

进入插入模式(Insert mode)

i 为【从目前光标所在处插入】,I 为【在目前所在行的第一个非空空格符开始插入】(常用)

a 与 A

进入插入模式(Insert mode)

a 为【从目前光标所在的下一个字符处开始插入】,A 为【从光标所在行的最后一个字符处开始插入】(常用)

o 与 O

进入插入模式(Insert mode)

这是英文字母的小写o,o 为【在目前光标所在的下一行处插入新的一行】,O 为【在目前光标所在处的上一行插入新的一行】(常用)

r 与 R

进入替换模式(Replace mode)

r 会【替换光标所在的那一个字符一次】,R 会【一直替换光标所在的文字(可移动)】,直到按下[Esc]为止(常用)

[Ctrl] + v

进入可视化模式(Visual Block)

【可视区块,可以用矩形的方式选择数据】,光标移动过的位置就会反白(只能用hjkl移动光标)(常用)

[Esc]退出编辑模式,回到普通模式(常用)

可视化模式举例:批量注释:

先【Ctrl + r】进入可视化模式,移动光标选择要注释的部分,再按【Ctrl + i】也就是【I】进入插入模式,输入【//】注释符,最后按【Esc】退出插入模式就实现了。

批量去掉注释:【Ctrl + r】进入可视化模式,选中注释符【//】,再按 d(删除)就完成去注释。

使用上面这些按键,再vim界面的左下角会出现【--INSERT--】,【--REPLACE--】,【--VISUAL-BLOCK--】的字样。

5.vim底行模式命令集

:w将编辑的数据写入硬盘文件中
:w!若文件属性是【只读】时,强制写入该文件。到底能不能写入,跟你对该文件的文件权限有关
:q退出vim(常用)
:q!若曾修改过文件,又不想保存使用 ! 为强制退出不保存
:wq保存后退出,若为 :wq! 则为强制保存后退出(常用)
ZZ快捷键,若文件没有被修改,则不保存退出;若文件已经被修改过,则保存退出
:!command执行command命令,显示结果。
:%s/x/y/用 x 批量化替换 y
:vs dst.c纵向屏幕创建一个新窗口,打开的是名为dst.c的文件(可能是新建的)。([Ctrl] + ww 可以切换窗口)
:set nu显示行号,设置之后会在每一行的前缀显示该行的行号
:set nonu与 set nu 相反,为取消行号

6.可视化模式(Visual Mode)

当我们按下v或V或[Ctrl] + v时,光标移动过的地方会反白

v

进入字符可视化模式(Character Visual Mode)

字符选择,会将光标经过过的地方会反白选择

V

进入行可视化模式(Line Visual Mode)

会将光标经过过的地方会反白选择

[Ctrl] + v

进入区块可视化模式(Block Visual Mode)

可以用矩形的方式选择数据(只能用hjkl控制移动)

y将反白的部分复制
d将反白的地方删除
p将刚刚复制的区块,在光标所在处粘贴

7.总结

8.简单配置vim

(1) 配置文件的位置

• 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
• 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如 /root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。

 下面是Vim 编辑器的配置文件和相关路径,这些文件和变量共同定义了 Vim 的行为和外观。用户可以通过修改 .vimrc.exrc 文件来定制自己的 Vim 环境,而系统管理员可以通过修改 /etc/vimrc 文件来为所有用户提供统一的配置。

系统 vimrc 文件: "/etc/vimrc"用户 vimrc 文件: "$HOME/.vimrc"第二用户 vimrc 文件: "~/.vim/vimrc"用户 exrc 文件: "$HOME/.exrc"defaults file: "$VIMRUNTIME/defaults.vim"$VIM 预设值: "/etc"$VIMRUNTIME 预设值: "/usr/share/vim/vim81"
• 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
• 打开自己目录下的.vimrc文件,执行 vim .vimrc(此时还是空文件)

(2) 常用配置选项用来测试

我们写入常用配置项,测试一下:

set nu             "显示行号
syntax on      "语法检验,颜色显示
set shiftwidth=4   "缩进空格数为4
set tabstop=4
set expandtabset autoindent     "自动缩进
set showmode       "显示左下角那一行状态

(3) 使用插件

要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完成配置,保证用户是你要配置的用户,然后:

安装 TagList 插件

  1. 下载 taglist_xx.zip 文件。
  2. 解压该文件。
  3. 将解压出来的 doc 目录下的内容放到 ~/.vim/doc 目录中。
  4. 将解压出来的 plugin 目录下的内容拷贝到 ~/.vim/plugin 目录中。
  5. 在 ~/.vimrc 文件中添加以下配置:vim
    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1
    let Tlist_Use_Right_Window=1
  6. 重启 Vim。

安装 WinManager 插件

  1. 下载 winmanager.zip 文件,确保是 2.X 版本以上。
  2. 解压该文件。
  3. 将解压出来的 doc 目录下的内容放到 ~/.vim/doc 目录中。
  4. 将解压出来的 plugin 目录下的内容拷贝到 ~/.vim/plugin 目录中。
  5. 在 ~/.vimrc 文件中添加以下配置:vim
    let g:winManagerWindowLayout=‘FileExplorer|TagList'
    nmap wm :WMToggle<cr>
  6. 重启 Vim。

使用方法

  • 打开 ~/XXX.c 或 ~/XXX.cpp 文件。
  • 在普通模式(Normal mode)下输入 wm,你将看到下面文件浏览器和标签列表的效果。
  • 手把手教你把Vim改装成一个IDE编程环境(图文)_vim 打造成 ide-CSDN博客

其他手册

  • 要查看更多手册信息,请执行 vimtutor 命令。

请注意,上述步骤假设你已经有一定的 Vim 插件安装经验,并且你的 Vim 环境已经配置好了相应的路径。如果你在执行这些步骤时遇到任何问题,可能需要检查文件路径和权限设置是否正确。

(4) 一键式配置vim

目前只支持 Centos7 x86_64. 具体操作查看文档

VimForCpp: 快速将vim打造成c++ IDE

9.参考资料

GitHub - wsdjeg/vim-galore-zh_cn: Vim 从入门到精通

相关文章:

Linux软件包管理与Vim编辑器使用指南

目录 一、Linux软件包管理器yum 1.什么是软件包&#xff1f; 2.什么是软件包管理器&#xff1f; 3.查看软件包 4.安装软件 ​编辑 5.卸载软件 Linux开发工具&#xff1a; 二、Linux编辑器---vim 1.vim的基本概念 (1) 正常/普通模式&#xff08;Normal mode&#xff0…...

每日一练 | 包过滤防火墙的工作原理

01 真题题目 包过滤防火墙对哪一层的数据报文进行检查&#xff1f; A. 应用层 B. 物理层 C. 网络层 D. 链路层 02 真题答案 C 03 答案解析 包过滤防火墙是一种基本的安全设备&#xff0c;它通过检查进出网络的数据包来决定是否允许该数据包通过。 这种类型的防火墙主要关注…...

AR眼镜方案_AR智能眼镜阵列/衍射光波导显示方案

在当今AR智能眼镜的发展中&#xff0c;显示和光学组件成为了技术攻坚的主要领域。由于这些组件的高制造难度和成本&#xff0c;其光学显示模块在整个设备的成本中约占40%。 采用光波导技术的AR眼镜显示方案&#xff0c;核心结构通常由光机、波导和耦合器组成。光机内的微型显示…...

SpringBoot(十九)创建多模块Springboot项目(完整版)

之前我有记录过一次SpringBoot多模块项目的搭建,但是那一次只是做了一个小小的测试。只是把各模块联通之后就结束了。 最近要增加业务开发,要将目前的单模块项目改成多模块项目,我就参照了一下我上次搭建的流程,发现总是有报错。上次搭建的比较顺利,很多细枝末节也没有仔细…...

Navicat 17 功能简介 | 单元格编辑器

Navicat 17 功能简介 | 单元格编辑器 本期&#xff0c;我们一起了解 Navicat 17 出色的数据操作功能的单元格编辑器。单元格编辑器支持文本、十六进制、图像和网页四种格式的数据编辑&#xff0c;位于底部的编辑器窗格&#xff0c;为你编辑更大容量的数据信息提供足够的显示和操…...

MySQL【四】

插入数据 向数据表中插入一行数据 INSERT|REPLACE INTO 表名[(字段列表)] VALUES(值列表); ########## 在s表中插入一条记录&#xff1a;学号为s011,姓名为李思&#xff0c;性别为默认值&#xff0c;计算机专业 ########## insert into s(sno,sname,dept)values(s011,李思,计…...

简单叙述 Spring Boot 启动过程

文章目录 1. 准备阶段&#xff1a;应用启动的入口2. 创建 SpringApplication 对象&#xff1a;开始启动工作3. 配置环境&#xff08;Environment&#xff09;&#xff1a;识别开发环境与生产环境4. 启动监听器和初始化器&#xff1a;感知启动的关键事件5. 创建 ApplicationCont…...

微信小程序自定义tabbar;禁用某个tab;修改某个tab的样式

微信小程序自定义tabbar&#xff1b;禁用某个tab&#xff1b;修改某个tab的样式 原本使用本身的tabBar就已经很舒服了&#xff0c;很合适了的&#xff0c;但是总有一些脑洞大开的产品和客户&#xff0c;给你搞点多样式&#xff0c;没办法牛马就得去做咯&#xff0c;现在就给大…...

力扣113:路径总和II

给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…...

JavaScript字符串常用方法

在JavaScript中&#xff0c;字符串是用来表示文本数据的基本数据类型。字符串可以用单引号()、双引号(")、或反引号()包裹。JavaScript中的字符串是不可变的&#xff0c;也就是说&#xff0c;字符串的值一旦创建就无法更改&#xff0c;但可以创建新字符串来替换原有字符串…...

xtu oj 加一

样例输入# 2 4 1 2 3 4 4 3 2 4 1样例输出# 3 5 解题思路&#xff1a;最小操作次数一定是把所有数变成数组中最大值max。 1、找最大值&#xff0c;一开始我把max初始值设为0&#xff0c;如果a[i]>max,maxa[i],WA了。又看了一遍题目&#xff0c;发现所有整数的绝对值小于…...

QTcpSocket 服务端和客户端

前提&#xff1a; pro文件中添加 QT network 服务端主要采用信号槽机制&#xff0c;代码如如下 核心代码头文件#ifndef TCPSERVER_H #define TCPSERVER_H#include <QObject>#include <QTcpServer> #include <QTcpSocket> #include <QDebug> #inclu…...

Isaac Sim+SKRL机器人并行强化学习

目录 Isaac Sim介绍 OmniIssacGymEnvs安装 SKRL安装与测试 基于UR5的机械臂Reach强化学习测评 机器人控制 OMNI GYM环境编写 SKRL运行文件 训练结果与速度对比 结果分析 运行体验与建议 Isaac Sim介绍 Isaac Sim是英伟达出的一款机器人仿真平台&#xff0c;适用于做机…...

项目中用户数据获取遇到bug

项目跟练的时候 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘code’) at Proxy.userInfo (user.ts:57:17) 因此我想要用result接受信息的时候会出错&#xff0c;报错显示为result.code没有该值 导致我无法获取到相应的数据 解决如下 给…...

SpringSecurity+jwt+captcha登录认证授权总结

SpringSecurityjwtcaptcha登录认证授权总结 版本信息&#xff1a; springboot 3.2.0、springSecurity 6.2.0、mybatis-plus 3.5.5 认证授权思路和流程&#xff1a; 未携带token&#xff0c;访问登录接口&#xff1a; 1、用户登录携带账号密码 2、请求到达自定义Filter&am…...

项目技术栈-解决方案-web3去中心化

web3去中心化 Web3 DApp区块链:钱包:智能合约:UI:ETH系开发技能树DeFi应用 去中心化金融P2P 去中心化网络参考Web3 DApp 区块链: 以以太坊(Ethereum)为主流,也包括Solana、Aptos等其他非EVM链。 区块链本身是软件,需要运行在一系列节点上,这些节点组成P2P网络或者半…...

【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:创新与应用

一、引言 随着科技的迅猛发展&#xff0c;声音克隆技术已经成为一个炙手可热的研究领域。SoVITS&#xff08;Sound Voice Intelligent Transfer System&#xff09;&#xff0c;作为该领域的先锋&#xff0c;凭借其卓越的性能和广泛的适用性&#xff0c;正在为多个行业带来前所…...

分清数据链路层、网络层、传输层的区别,以及这些层面的代表协议

目录 数据链路层 网络层 传输层 数据链路层 OSI模型的第二层&#xff0c;负责在相邻节点之间传输帧&#xff0c;处理帧的封装、地址、差错控制和流量控制等。确保数据在物理介质上可靠地传输&#xff0c;并为上层协议提供服务。 以太网&#xff08;Ethernet&#xff09;&…...

git没有识别出大写字母改成小写重命名的文件目录

Git 默认不会跟踪大写字母和小写字母的区别&#xff0c;因为在大多数文件系统中&#xff0c;大写字母和小写字母被认为是相同的文件&#xff0c;只有在区分大小写的文件系统中&#xff08;如 macOS 的 HFS 或 Windows 的 NTFS&#xff09;&#xff0c;这才是一个问题。 如果重命…...

自己动手写Qt Creator插件

文章目录 前言一、环境准备1.先看自己的Qt Creator IDE的版本2.下载源码 二、使用步骤1.参考原本的插件2.编写自定义插件1.cmakelist增加一个模块2.同理&#xff0c;qbs文件也增加一个3.插件源码 三、效果总结 前言 就目前而言&#xff0c;Qt Creator这个IDE&#xff0c;插件比…...

数据重塑:长宽数据转换【基于tidyr】

在数据分析和可视化过程中&#xff0c;数据的组织形式直接影响着我们能够进行的分析类型和可视化效果。这里简单介绍两种常见的数据格式&#xff1a;长格式&#xff08;Long Format&#xff09;和宽格式&#xff08;Wide Format&#xff09;&#xff0c;以及如何使用tidyr包进行…...

多模态大模型开启AI社交新纪元,Soul App创始人张璐团队亮相2024 GITEX GLOBAL

随着AI在全球范围内的加速发展和广泛应用,各行业纷纷在此领域发力。作为全球最大的科技盛会之一,2024年的GITEX GLOBAL将目光再次聚焦于人工智能的飞速发展,吸引了超过6700家来自各个领域的企业参与。在这样的背景下,Soul App作为国内较早将AI技术应用于社交领域的平台,首次亮相…...

实验6记录网络与故障排除

实验6记录网络与故障排除 实验目的及要求&#xff1a; 通过实验&#xff0c;掌握如何利用文档记录网络设备相关信息并完成网络拓扑结构的绘制。能够使用各种技术和工具来找出连通性问题&#xff0c;使用文档来指导故障排除工作&#xff0c;确定具体的网络问题&#xff0c;实施…...

QEMU 模拟器中运行的 Linux 系统

这两个文件通常用于在 QEMU 模拟器中运行的 Linux 系统&#xff0c;具体作用如下&#xff1a; 1. linux-aarch64-qemu.ext4&#xff1a; - **文件类型**&#xff1a;这是一个文件系统镜像文件&#xff0c;通常是 ext4 文件系统格式。 - **作用**&#xff1a;它包含了 Li…...

Ceph PG(归置组)的状态说明

Ceph PG&#xff08;Placement Group&#xff09;的状态反映了Ceph集群中数据的健康状况和分布情况。以下是Ceph PG的一些常见状态&#xff1a; Creating&#xff1a;创建状态。在创建存储池时&#xff0c;会创建指定数量的归置组&#xff08;PG&#xff09;。Ceph在创建一或多…...

Docker使用docker-compose一键部署nacos、Mysql、redis

下面是一个简单的例子&#xff0c;展示如何通过Docker Compose文件部署Nacos、MySQL和Redis。请确保您的机器上已经安装了Docker和Docker Compose。 1&#xff0c;准备好mysql、redis、nacos镜像 sudo docker pull mysql:8 && sudo docker pull redis:7.2 &&…...

HTTP常见的状态码有哪些,都代表什么意思

HTTP 协议定义了一系列的状态码&#xff0c;用于描述服务器对客户端请求的处理结果。这些状态码分为五个类别&#xff0c;每个类别都有特定的用途。 常见状态码 1开头 信息性状态码 这些状态码表示请求已被接收&#xff0c;继续处理。 100 Continue&#xff1a;客户端应继续…...

WebKit的Windows接口(适用2024年11月份版)

WebKit的Windows接口 使用cairo作为图形后端&#xff0c;libcurl作为网络后端。并且它只支持64位的Windows。 安装开发工具 安装带有“使用c进行桌面开发”工作负载的最新Visual Studio。 Activate Developer Mode.激活开发者模式。Build-webkit脚本创建一个指向生成的comp…...

Android 最新的AndroidStudio引入依赖失败如何解决?如:Failed to resolve:xxxx

错误信息&#xff1a; 在引入依赖时报错&#xff1a;Failed to resolve: xxx.xxxx:1.1.0 解决方案&#xff1a; 需要修改maven库的代理&#xff0c;否则就需要翻墙编译 新的AndroidStudio版本比较坑&#xff0c;修改代理的位置发生了变化&#xff1a; 最新变化&#xff1a;…...

ue5 蓝图学习(一)结构体的使用

在内容浏览器中右键 蓝图-选择结构体 下面这东西就是结构体&#xff0c;和C的结构体差不多 双击一下 可以添加变量&#xff0c;设置变量的类型和默认值。 可以在关卡蓝图中调用它。 点击打开关卡蓝图&#xff0c;添加变量 在变量的右侧&#xff0c;变量类型里搜索strcut&#…...