linux-28 文本管理(一)文本查看,cat,tac,more,less,head,tail
之前提到过linux的几个重要哲学思想,使用纯文本文件保存软件的配置信息是其中之一,所以大多数情况下,我们对整个系统的操作,都是通过编辑它的配置文件来完成,那也就意味着,处理文本文件是我们作为系统管理员一个重要的基本要求,那因此,我们必须要掌握常见的文本处理工具来实现对于配置文件的管理或者对文本文件的管理。文件文本管理来讲,大多数只包含这样几个操作查看,编辑,这样两种操作,主要就是查看和编辑,因为删除那些之前已经讲过了,那我们先来看看怎么去查看文本的,我们linux提供了众多工具来查看文本,比方说,cat,比方说more,cat还可以反过来写,叫tac,完全反过来,然后有less,head,tail,这几个主要是用来也是用的最多的,用于实现文本查看类的命令。一定要记得他们是用来查看文本的,千万不要试图用它来打开一个二进制格式的文件,要记得这一点,先看第一个命令叫做cat,cat其实也是个简写concatenate,意思就是叫连接并显示的意思,那所以cat的主要作用,它能够实现,将通过参数给的几个文本文件的内容,一个一个的完全显示出来,所以这叫连接并显示,就这意思,连接并显示,当然,如果我们只给了一个文本文件,它就直接显示了,各位来看,举个简单例子,比如我们看一下/etc/issue,注意这些文件,经常给些路径,不是随便给的,因为这些路径,这些文件的内容,将来可能需要去操作它的,cat /etc/issue,有这样三行内容,再 cat /etc/fstab,有这样几行内容,如下图,
就是两个文件,我把这两个文件顺便都给出来,cat /etc/issue /etc/fstab,如下图,
会发现逐个显示完全倾倒到屏幕上来,所以叫连接并显示,就这么简单,那我们man一下cat过来看,man cat ,如下图,
叫做concatenate并显示出来的,显示到标准输出上来,开头用法也很简单,使用选项,可以接多个文件,常见选项,有这样几个,第一个-n,-n在显示的时候,它可以显示行号的,比如cat /etc/issue,显示没有第几行,但加上杠n选项,自动给你编号一二三四,cat -n /etc/issue,如下图,
要记得这个行号不是文件的内容,只是显示的号码而已,跟文件内容分行没有关系,要记得,这是-n显示行号,或者就是在显示的时候对每一行进行编号,这样可能更容易更容易理解,第二个选项-E, --show-ends
display $ at end of each line,尾行结束的意思,所以-E就是叫show ends,显示每一行的行结束符的,再来看使用-E,cat -E /etc/issue,如下图,
每一行里面有个$符,就连空白行它也有个$,这个$是表示LF,LF的ASCII值是10,所以用$来代替表示LF,但因为Windows的行结束符是回车符CR加上换行符LF,也就是\r\n,所以你会发现把文本文件从linux复制到Windows里面,用记事本打开,统统显示为一行,为什么呢?因为它的每一行行结束后,只有LF没有换行,明白这意思吧,没有回车,所以对Windows而言,它理解这就是一行而已,那因此要明白,这一行一行为什么会显示成不同的行,后面就算还有空格,这些内容都没有显示,为什么会自动换一行来显示呢?它是一个控制符号来定义的,只不过这个控制符号在Windows中和linux中是不一样的。所以我们在Windows中编辑的文本拿到linux里边来,你会发现linux可能识别不了,或者识别的时候总是会报错,那是因为它多了个回车符,但是有些专业级的文本编辑器在Windows当中,它可以实现仅使用LF,比如像我用这个工具,notepad++,如下图,
为什么要各位用这个工具,就是这个道理,我们有很多在linux里边编辑的脚本,下载到本地直接使用的时候,你会发现如果使用文本文件打开,那绝对都是一行,使用记事本打开是一行,只有使用这种工具,打开的时候它才能识别这些不同的接束符,当然我们后面会讲到一些文本处理工具,我们也可以手动使用命令来处理这些符号,这是-E这个选项。
事实上,对于我们linux而言,或者对于文本文件而言,它有很多其他的控制符,你比如说-T,可以显示什么?可以显示制表符的,制表符是一种控制符,它会显示控制符号的。而使用-v则可以显示其他的非打印字符,比方说回车符,托字符,就是行首控制符等等,这些对我们都不是特别关键,知道使用-E就行了,而要想显示所有内容,无论是非显示符就是控制符或者其他的符号,使用-A,show all,所有都能显示出来。cat的命令对我们而言,大多数时候的用法都很简单,
我们常用的无非就是-E和-n,我们使用命令显示内容的时候,它的内容是从首部向尾部进行显示的,而cat反过来,这就是tac,tac /etc/issue,如下图,
有些时候,当我们特殊处理文本的时候,是有这种需要的,当然,有时候可能遇到过这样的困境,尝试使用cat命令的时候,一不小心,忘了加参数了,回车了,一回车退不出来了,你输入ls,输入cd,你看输入什么abcd,它都得再显示一遍,如下图,
就是cat的默认作用,它从标准输入读取内容,并显示到标准输出上来,这时候我们要想退出,就必须要终止当前命令,对于大多数命令而言,我们都有一个终止服务叫做ctrl+c键,这实际上就是我发起了一个控制命令,或者向我们进程发出了一个控制符号或者是发起了一个控制信号,它称为叫做interrupt,叫打断、中断的信号,或叫终止信号。注意,你不是输入ctrl+c,是按着ctrl键再摁c键,这要注意,按照ctrl键,再用c键,就结束了,如下图,
其实不但可以这样ctrl+c,很多时候我们可能都有这种需要,比如说我们输入一个命令,比如说,我输入命令输入到一半了,我突然间想起来,唉,我还有个别的命令没执行,于是开始按着删除键,按着删除键往前删删删到头,然后再继续重新写另外一个命令,注意,这种情况下是完全没有必要的,命令我写了一半了,或者甚至写完了,我不想执行,ctrl+c即可,如下图,
这时候ctrl+c就取消了,直接给你打一个新的命令提示符,继续输入别的命令即可,这就是我们的常用技巧。这是我们ctrl+c,这样一个控制组合键,同时,我们讲了cat和tac这个命令。
有没有发现开了命令有个坏处?比如说如果这个文件非常长的话,会有什么结果呢?举个例子,cat -n /etc/rc.d/rc.sysinit,如下图,
翻屏而过,很多行,想看到前面内容怎么办?往前翻,这是可以翻的,如果在终端上呢?就看不到了,所以需要注意,其实这些闪过去的内容,在我的内存当中,它会有一个缓存区域给我们保存下来的,真正想往前看的话,是可以翻回去的,但是那个内存区域有限,所以你翻过去的是五十屏,内存只能给你缓存20屏,就算可以往前翻,也只能翻20屏而已,前面30都没了,怎么翻屏,很简单,按着shift+PageUp和shift+PageDown键就可以实现了,但是你能翻的是有限的,未必能翻到文件首部,那所以对于这种情况来讲就比较难受了,cat整个的把所有内容直接倾倒到屏幕上来,倾倒完了它就退出了,它也不管你接下来能不能看到,那因此有些时候我们可能需要能够分屏查看文件内容,我们一页一页去看,那接下来我们就讲两个分页查看命令,或者叫分屏查看命令,就是more和less的作用了,more它的用法跟cat几乎是类似的,但是它可以让我们去从前向后一页一页的手动去翻屏查看文件内容,比如,还以刚才这个文件为例,more /etc/rc.d/rc.sysinit,如下图,
这是第一屏,它说2%,我们一共才显示2%,此时,我们要想向后看,它的用法跟那个man差不多,敲空格键,向后翻一屏,敲b键,往前翻一屏,敲回车键,一行一行向后翻,敲k键不支持,因为它不支持,其实more默认情况下只支持向后翻,不支持向前翻的,你要翻到文件尾部就退出了,所以它是这意思,翻到文件尾部以后就退出,不再等待你可以往前翻了。所以一般来讲more向后翻,支持向后翻不支持向前翻的。当然,前提是要想向前翻,前提是你没有翻到文件尾部的前提下,直接翻翻到最后退出了,再向前翻怎么翻?没有了,明白了吗?如下图,
这就是冒命令,很简单,当然冒也有很多选项,man more,如下图,
有很多选项,当然这个大多数选项对我们而言用处都不大,它还有很多内部的控制命令,像space怎么翻屏的什么之类的,这对我们来讲,用的都不是特别多,所以你甭管它了,只需要知道more怎么用,简单的用法就可以,事实上,对我们而言,最长用的反而是另外一个东西叫做less,less的用法说白了就是man,因为man本身就是使用less命令打开文件并查看的,所以在man里边,我们所能够用的这些都支持,比方说space向后翻,k能够一行一行向前翻,还够使用斜线问号查找文本,等等等都支持,那我们没必要再讲一遍了,而且less翻到最后,它是不会退出的,只有我们敲q命令它才会退出,那因此,我们向前翻,始终支持。less /etc/rc.d/rc.sysinit,如下图,
就算我们翻到最后,它也不会退出,只是告诉你到了END,结束了再敲空格键,它也不会退出的,这时候敲b键继续往前翻,无论在什么地方,敲q键就可以退出。这就我们的less命令。
在很多时候我们可能还有这样一种需求,我们只想查看一个文件的前几行或者后几行就够了,不是查看整个文件的全部内容,所以这有了另外两个命令的意义,一个叫head,从名字能看得出来什么意思,那tail就是尾巴尾部的意思,那因此head命令这是查看文件的前n行,tail命令是查看后n行,默认n是10,n默认是十,他们都支持一个选项,叫做-n,可以指定显示多少行?比如都来看,head /etc/inittab,如下图,
一共显示前十行,看到了吗?我要显示第一行,那怎么办?-n 1是不是即可?head -n 1 /etc/inittab,如下图,
就显示第一行,-n 2不是第二行是前两行,如下图,
很简单,当然事实上,我们head在linux中还支持这样的用法,在unix中可能不支持,在linux中还支持这样的用法,直接-2就行,前两行,不用写-n 2了,直接-2即可,如下图,
tail的用法是一样的,比如我们要想看后五行,就-5,tail -5 /etc/inittab 即可,如下图,
这是后五行,不加任何选项,默认是十,刚才说过,注意空白行也是一行,我们的tail命令还有一个特殊的选项,tail命令还有一个专用选项叫-f,f表示follow的意思,它查看一个文件之后并不退出,而是等待其他进程向里边儿继续输入新内容,并且立即运行显示的,什么意思呢?我先举例子,你先看到效果就明白了,比如,我现在找一个文件,我大家一定要记得,不要在etc下直接编辑文件,我复制一个文件,复制etc下的inittab到tmp下去,cp /etc/inittab /tmp/ ,然后我们使用tail -f看tmp下这个inittab,tail -f /tmp/inittab,然后看完以后,注意,发现它把这个整个文件翻过去,翻后十行,注意啊,默认值是后十行,显示完之后没退出,如下图,
发现了吗?要想退出怎么办?ctrl+c是吧?注意这里又没退出,那没退出有什么意义呢?你使用nano,再打开一个终端,使用 nano /tmp/initab,然后切换到最后一行,把它新增一行,保存一下,如下图,
你看这边显示出来没有?如下图,
看到了吗?所以这就是-f的意义,其他任何进程,只要向我们打开这个文件的尾部写了新内容,它都会立即予以显示的,这有用吗?对我们来讲不但有用而且相当有用,将来我们需要监控一个服务运行的时候,每一个服务在运行当中都会生成日志文件的,而一般情况下,比如说我的web服务器,一个用户登录进来,一个用户访问一下我的web,可能都会生成很多访问日志,明白这意思吗?使用tail就可以监控这个日志,随时看到有多少个用户正在访问哪个网页,随时可以查看,所以这个命令是非常有用的,要记得tail -f,查看文件尾部,然后不退出,而是随后等着显示新增进来的追加进来的后续内容,注意,我这里用的追加这个词儿,附加进来的东西。这就是我们的tail命令,所以其实每一个命令,选项都有很多,而对我们来讲,常用的并不是特别多,所以对于这些基本的大家一定要记住。
相关文章:
linux-28 文本管理(一)文本查看,cat,tac,more,less,head,tail
之前提到过linux的几个重要哲学思想,使用纯文本文件保存软件的配置信息是其中之一,所以大多数情况下,我们对整个系统的操作,都是通过编辑它的配置文件来完成,那也就意味着,处理文本文件是我们作为系统管理员…...
Springboot3巧妙运用拦截器阻断xss攻击
Springboot3巧妙运用拦截器阻断xss攻击 什么是xss跨站脚本攻击类型简单示例解决方法拦截器代码使用demo 什么是xss 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheetsÿ…...
leetcode 2551. 将珠子放入背包中
题目如下 数据范围 示例 题目的意思是将一个长度为n的数组weight(简称w)分成k个小数组,同时计算这些小数组的边界和。 设i (0 < i < n - 1) 首先我们假设已经找到最大分数序列即划分的小数组最优 令 j1,j2,j3.....jk为这些小数组的左端点(不包括第一个小数组)。 则有…...
【Spring】SpringBoot整合ShardingSphere并实现多线程分批插入10000条数据(进行分库分表操作)。
??个人主页:哈__ 期待您的关注 目录 一、ShardingSphere简介 ?1.Sharding-JDBC 2.Sharding-Proxy? 3.Sharding-Sidecar(TBD)? 二、为什么用到ShardingSphere? 三、数据分片 四、SpringBoot整合ShardingSphere 1.创建我们的数据…...
Python中的ast.literal_eval:安全地解析字符串为Python对象
Python中的ast.literal_eval:安全地解析字符串为Python对象 什么是ast.literal_eval?为什么说它是“安全”的? 如何使用ast.literal_eval?示例1:将字符串转换为列表示例2:将字符串转换为字典示例3ÿ…...
前端用json-server来Mock后端返回的数据处理
<html><body><div class"login-container"><h2>登录</h2><div class"login-form"><div class"form-group"><input type"text" id"username" placeholder"请输入用户名&q…...
【linux】文件与目录命令 - mv
文章目录 1. 基本用法2. 常用参数3. 用法举例4. 注意事项 mv 命令用于移动或重命名文件和目录,是 Linux 系统中管理文件的重要工具之一。它既能移动文件到指定路径,也能重命名文件或目录。 1. 基本用法 语法: mv [选项] 源文件 目标文件 mv…...
OSPF - LSA对照表
LSA的三要素,如何唯一表示一条LSA Type:表示是几类的LSA Link-id:这个比较特殊,不同的LSA的Link-ID不同 Advertising router:谁产生的LSA 常用的就是1、2、3、4、5、7型LSA 点击蓝字跳转LSA详细介绍(持续更新中…...
Mongodb基础sqL
------------------------------------------数据库------------------------------ (2).查看所有数据库 show dbs (3).选择数据库,如果不存在则隐式创建这个数据库 use 数据库名 ------------------------------------------集合------------------------------ …...
uniapp开发u-icon图标不显示问题
uniapp开发图标用u-icon不显示,换成uv-icon就可以了 插件市场从这里下载:uv-ui 破釜沉舟之兼容vue32、app、h5、小程序等多端,灵活导入,利剑出击 - DCloud 插件市场 组件库看这个:介绍 | 我的资料管理-uv-ui 是全面兼…...
宁德时代2025年Verify入职测评语言理解及数字推理真题SHL题库汇总、考情分析
宁德时代社招Verify入职测评对薪酬有着重要影响,其规定正确率达到80%才能顺利通过测评。这体现了公司对人才专业素养与能力的严格要求,旨在筛选出真正符合岗位需求的优秀人才。测评内容涵盖了专业知识、技能运用、逻辑思维等多方面,只有综合能…...
Spring Data Elasticsearch简介
一、Spring Data Elasticsearch简介 1 SpringData ElasticSearch简介 Elasticsearch是一个实时的分布式搜索和分析引擎。它底层封装了Lucene框架,可以提供分布式多用户的全文搜索服务。 Spring Data ElasticSearch是SpringData技术对ElasticSearch原生API封装之后的产物,它通…...
即插即用,无缝集成各种模型,港科大蚂蚁等发布Edicho:图像编辑一致性最新成果!
文章链接:https://arxiv.org/pdf/2412.21079 项目链接:https://ezioby.github.io/edicho/ 亮点直击 显式对应性引导一致性编辑:通过将显式图像对应性融入扩散模型的去噪过程,改进自注意力机制与分类器自由引导(CFG&…...
鸿蒙开发(29)弹性布局 (Flex)
概述 弹性布局(Flex)提供更加有效的方式对容器中的子元素进行排列、对齐和分配剩余空间。常用于页面头部导航栏的均匀分布、页面框架的搭建、多行数据的排列等。 容器默认存在主轴与交叉轴,子元素默认沿主轴排列,子元素在主轴方…...
华为 Sensor 省电策略调研
华为EMUI 9.0.0.187(C00E57R1P15) 无该功能 华为EMUI 9.1.0.321(C00E320R1P1) 之后有sensor管控 一、华为 Sensor 省电策略 1. Sensor 类别只配置非唤醒类Sensor 2. 手机静止情况,应用不可见时达到1分钟࿰…...
Kotlin语言的网络编程
Kotlin语言的网络编程 Kotlin作为一种现代的编程语言,其简洁、安全和高效的特性使得在开发各种应用时得到广泛认可。尤其是在网络编程方面,Kotlin凭借其与Java的高度兼容性以及丰富的库支持,使得网络操作变得更加简单易用。本文将详细探讨Ko…...
redis:安装部署、升级以及失败回退
安装部署 一、准备工作 1. 检查系统要求 确保你的服务器满足 Redis 的基本要求: 操作系统:支持的 Linux 发行版(如 Ubuntu, CentOS)内存:至少 4GB(根据实际应用需求调整)CPU:单核或多核 CPU磁盘空间:足够的磁盘空间用于数据存储和日志记录2. 更新系统软件包 在开始…...
3. ML机器学习
1.人工智能与机器学习的关系 机器学习是人工智能的一个重要分支,是人工智能的一个子集。它无需显式编程,而是通过数据和算法使机器能够自动学习和改进,从而实现智能行为。机器学习依赖于算法来识别数据中的模式,并通过这些模式做出…...
在高德地图上加载3DTilesLayer图层模型/天地瓦片
1. 引入必要的库 Three.js:一个用于创建和显示3D图形的JavaScript库。vuemap/three-layer:一个Vue插件,它允许你在高德地图中添加Three.js图层。vuemap/layer-3dtiles:一个用于处理3D Tiles格式数据的Vue插件,可以用来…...
用户使用LLM模型都在干什么?
Anthropic 对用户与 Claude 3.5 Sonnet 的大量匿名对话展开分析,主要发现及相关情况如下: 使用用途分布 软件开发主导:在各类使用场景中,软件开发占比最高,其中编码占 Claude 对话的 15% - 25%,网页和移动应…...
2 抽象工厂(Abstract Factory)模式
抽象工厂模式 1.1 分类 (对象)创建型 1.2 提出问题 家具店里有沙发、椅子、茶几等产品。产品有不同风格,如现代、北欧、工业。希望确保客户收到的产品风格统一,并可以方便地添加新产品和风格。 1.3 解决方案 提供一个创建一…...
数据结构-串
串的实现 在C语言中所使用的字符串就是串的数据类型的一种。 串的存储结构 定长顺序存储表示 类似于线性表的顺序存储结构,用一组连续的存储单元存储串值的字符序列。 #define MAXLEN 255 //预定义最大串长为255 typedef struct SString {char ch[MAXLEN]; …...
C#,图论与图算法,有向图(Direct Graph)广度优先遍历(BFS,Breadth First Search)算法与源程序
1 图的广度优先遍历 图的广度优先遍历(或搜索)类似于树的广度优先遍历(参见本文的方法2)。这里唯一需要注意的是,与树不同,图可能包含循环,因此我们可能再次来到同一个节点。为了避免多次处理节…...
使用ElasticSearch查询
从一个query body开始 {"query": {"bool": {"disable_coord": true,"must": [{"match": {"enabled": "1"}},{"range": {"effectTime": {"lt": "2017-06-13 13:33:…...
PyCharm+RobotFramework框架实现UDS自动化测试——(一)python-can 库的安装与环境配置
从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者,时光不负有心人。 文章目录 1. 概述2.安装 python-can 库—基于pycharm在对应的工程下3. 在任意盘中安装环境4. 导入 can 模块语法5. 配置 CAN 接口6.CANoe设备连接语法 1. 概述 本专栏主…...
C# 值类型和引用类型详解
简介 在 C# 中,值类型和引用类型是两个基础的数据类型类别,它们的主要区别在于 存储位置 和 赋值方式。 值类型 值类型存储的是数据本身,分配在 栈 (Stack) 中。当一个值类型变量被赋值给另一个变量时,会复制值。 值类型的特点…...
计算机网络 —— 网络编程(TCP)
计算机网络 —— 网络编程(TCP) TCP和UDP的区别TCP (Transmission Control Protocol)UDP (User Datagram Protocol) 前期准备listen (服务端)函数原型返回值使用示例注意事项 accpect (服务端)函数原型返回…...
[Unity Shader] Shader基础光照3:环境光与自发光
在Unity中,光照是场景渲染的关键组成部分。正确使用环境光和自发光能够大大提高场景的真实感和视觉效果。本篇文章将详细介绍Unity中的环境光和自发光的基本概念,以及如何在编辑器和Shader中进行操作和实现。 1. 环境光(Ambient Light) 1.1 环境光的定义 环境光是场景中…...
云原生安全风险分析
一、什么是云原生安全 云原生安全包含两层含义: 面向云原生环境的安全具有云原生特征的安全 0x1:面向云原生环境的安全 面向云原生环境的安全的目标是防护云原生环境中基础设施、编排系统和微服务等系统的安全。 这类安全机制不一定具备云原生的特性…...
Redis 安装与配置指南
Redis 安装与配置指南 目录 安装说明 Linux 安装 Redis 3.0 压缩包上传服务器编译和安装修改配置启动 Redis关闭 Redis 卸载 RedisRedis 集群配置 Master 主库配置启动 Master 节点的 Redis 和 Sentinel客户登录验证Slave 从库配置查看集群数据验证 安装说明 Linux 安装 R…...
C语言Day13(c程序设计小红书+pta)
目录 (一)用函数调用实现,把最小的数字放在最前面,把最大的放在最后边 (二)使数字向后移m位 (三)用户自定义数据类型: (四)候选人计票数 &am…...
C++二十三种设计模式之迭代器模式
C二十三种设计模式之迭代器模式 一、组成二、特点三、目的四、缺点五、示例代码 一、组成 抽象聚合类:存储集合元素,声明管理集合元素接口。 具体聚合类:实现管理集合元素接口。 抽象迭代器类:声明访问和遍历聚合类元素的接口。 …...
【AI游戏】使用强化学习玩 Flappy Bird:从零实现 Q-Learning 算法(附完整资源)
1. 引言 Flappy Bird 是一款经典的休闲游戏,玩家需要控制小鸟穿过管道,避免碰撞。虽然游戏规则简单,但实现一个 AI 来自动玩 Flappy Bird 却是一个有趣的挑战。本文将介绍如何使用 Q-Learning 强化学习算法来训练一个 AI,使其能够…...
VSCode 中的 launch.json 配置使用
VSCode 中的 launch.json 配置使用 在 VSCode 中,launch.json 文件用于配置调试设置,特别是用来定义如何启动和调试你的应用。它允许你配置不同的调试模式、运行参数和调试选项。 基本结构 launch.json 文件位于 .vscode 文件夹内,可以通过…...
深度学习算法:开启智能时代的钥匙
引言 深度学习作为机器学习的一个分支,近年来在图像识别、自然语言处理、语音识别等多个领域取得了革命性的进展。它的核心在于构建多层的神经网络,通过模仿人脑处理信息的方式,让机器能够从数据中学习复杂的模式。 深度学习算法的基本原理…...
Clojure语言的并发编程
Clojure语言的并发编程 引言 在现代软件开发中,并发编程成为了处理多个任务、提高应用效率和响应速度的重要手段。尤其是在多核处理器逐渐成为主流的今天,如何高效利用这些计算资源是每个开发者面临的挑战。Clojure作为一种函数式编程语言,…...
MySQL学习记录1【DQL和DCL】
SQL学习记录 该笔记从DQL处开始记录 DQL之前值得注意的点 字段 BETWEEN min AND max 可以查询区间[min, max]的数值如果同一个字段需要满足多个OR条件,可以采取 字段 IN(数值1, 数值2, 数值3....)LIKE语句 字段 LIKE ___%%% 表示模糊匹配,_匹配一个字段…...
EasyExcel的应用
一、简单使用 引入依赖: 这里我们可以使用最新的4.0.2版本,也可以选择之前的稳定版本,3.1.x以后的版本API大致相同,新的版本也会向前兼容(3.1.x之前的版本,部分API可能在高版本被废弃)&…...
JS控制对应数据隐藏
首先需要获得到所有的input框,并声明一个空对象来存放,遍历所有的复选框,将他们中选中的放入对象,并设置键值为true,然后执行checkFalseValues(result)函数 function hideItem() {let checkboxes $(.setting_box inp…...
【剑指Offer刷题系列】数据流中的中位数
目录 问题描述示例示例 1: 思路解析方法一:使用两个堆(最大堆和最小堆)核心思路详细步骤示例分析优势适用场景 代码实现Python 实现(方法一:使用两个堆) 测试代码复杂度分析方法一:使…...
RabbitMQ高级篇之MQ可靠性 数据持久化
文章目录 消息丢失的原因分析内存存储的缺陷如何确保 RabbitMQ 的消息可靠性?数据持久化的三个方面持久化对性能的影响持久化实验验证性能对比Spring AMQP 默认持久化总结 消息丢失的原因分析 RabbitMQ 默认使用内存存储消息,但这种方式带来了两个主要问…...
C 语言奇幻之旅 - 第16篇:C 语言项目实战
目录 引言1. 项目规划1.1 需求分析与设计1.1.1 项目目标1.1.2 功能需求1.1.3 技术实现方案 2. 代码实现2.1 模块化编程2.1.1 学生信息模块2.1.2 成绩管理模块 2.2 调试与测试2.2.1 调试2.2.2 测试2.2.4 测试结果 3. 项目总结3.1 代码优化与重构3.1.1 代码优化3.1.2 代码重构 3.…...
[笔记] 使用 Jenkins 实现 CI/CD :从 GitLab 拉取 Java 项目并部署至 Windows Server
随着软件开发节奏的加快,持续集成(CI)和持续部署(CD)已经成为确保软件质量和加速产品发布的不可或缺的部分。Jenkins作为一款广泛使用的开源自动化服务器,为开发者提供了一个强大的平台来实施这些实践。然而…...
Git最便捷的迁移方式
#当公司要求git需要迁移时,你是不是感觉到束手无策。今天带来给大家最快,最便捷的迁移方式 这个命令是用于重命名git仓库中的远程仓库名。在这个命令中,我们将远程仓库的名字从"origin"改为"old-origin"。 git remote …...
【颜色分类--荷兰国旗问题】
问题 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums , 原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下…...
xrdp连接闪退情况之一
错误核查 首先使用命令vim ~/.xsession-errors,当里面的报错信息为WARNING **: Could not make bus activated clients aware of XDG_CURRENT_DESKTOPGNOME environment variable:Failed to execute child process “dbus-launch” (No such file or directory)&am…...
KubeVirt 进阶:设置超卖比、CPU/MEM 升降配、在线磁盘扩容
前两篇文章,我们分别介绍 Kubevirt 的安装、基本使用 以及 将 oVirt 虚拟机迁移到 KubeVirt,我们留了两个ToDo,一个是本地磁盘的动态分配,一个是固定 IP 的需求,本期我们先解决第一个,本地磁盘的动态分配。…...
(回溯法)leetcode39组合总和
第一个2开头,下面的子节点的集合元素均为2,5,3 但是在5开头,下面的子节点集合元素均为5,3 带着这个图的思路确定i和index的传递值 backtracking(i, nums,8,sum);用的是i而不是i1 // ConsoleApplication3.cpp : 此文件包含 "main" 函数。程序…...
【数据结构】二叉搜索树
目录 1. 二叉搜索树的概念 2. 二叉搜索树的性能分析 3.二叉搜索树的实现 3. 1.二叉搜索树的插入 3.2. 二叉搜索树的查找 3.3. 二叉搜索树的删除 3.4. 二叉搜索树的实现代码 4. 二叉搜索树key和key/value两种使用场景 4.1 key搜索场景: 4.2 key/value搜索场…...
高可用虚拟IP-keepalived
个人觉得华为云这个文档十分详细:使用虚拟IP和Keepalived搭建高可用Web集群_弹性云服务器 ECS_华为云 应用场景:虚拟IP技术。虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个…...