技术资料
文章平均质量分 57
圈内课代表
当机会来临,确保hold住
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux系统删除文件,但不释放存储空间
linux磁盘空间已满,手动rm -rf 删除了大文件之后,df -h 查看一下发现空间占用还是不变,有时候会想rm -rf 删除只是逻辑删除到回收站一样?其实不然,通常这种情况都是文件被删除,但是还被进程占用,因此删除文件空间未释放。通常的建议是kill 掉对应的进程,但是如果是生成环境,不能轻易kill进程的话,可以通过置空文件的方式来释放空间。通过 ls -l /proc/PID/fd/* | grep 文件名,找到相应文件句柄。清除文件内容 echo > /proc/PID/fd/FD_NUM。原创 2024-11-18 10:24:49 · 566 阅读 · 0 评论 -
LevelDB:SSTable和日志结构化存储
如果说[Protocol Buffer]是谷歌独立数据记录的通用语言 ,那么有序字符串表(SSTable,Sorted String Table)则是用于存储,处理和数据集交换的最流行的数据输出格式。正如它的名字本身,SSTable是有效存储大量键-值对的简单抽象,对高吞吐量顺序读/写进行了优化。不幸的是,SSTable名称本身被业界重载,指代的内容远远超出有序表的概念,这可能与简单有效数据结构的定义产生歧义。让我们仔细看看SSTable的内部结构以及LevelDB是怎样使用SSTable的。原创 2024-11-15 10:09:07 · 1352 阅读 · 0 评论 -
结识lsm-tree及其优缺点
而对于B树而言,每个节点都存放一个有序数组,这个数组往往比较大,这样的话,树的高度就大大降低,通常可以看做高度为2,这样在查询的时候只需要磁盘读取2次,一次读取一个数组)这点非常之重要,因为二叉平衡树,只有两个子叶节点,所以如果想找到某个数据,他必须重复更多次“拿到一个节点的两个子节点,判断大小,再从其中一个子节点取出他的两个子节点,判断大小。而b树,因为其构建过程中引入了有序数组,从而有效的降低了树的高度,一次取出一个连续的数组,这个操作在磁盘上比取出与数组相同数量的离散数据,要便宜的多。原创 2024-11-15 09:58:13 · 631 阅读 · 0 评论 -
LSM-TREE一种高效的索引数据结构
B-tree是建立索引的通用技术,但是,在大并发插入数据的情况下,B-tree需要大量的磁盘随机IO,很显然,大量的磁盘随机IO会严重影响索引建立的速度。有一个很显然的问题是,如果数据量过于庞大,磁盘中的树相应地也会很大,导致的后果是合并的速度会变慢。内存中的树可以不一定是B-树,可以是其他的树,例如AVL树。合并操作会从左至右遍历内存中的树的叶子节点与磁盘中的树的叶子节点进行合并,当被合并的数据量达到磁盘的存储页的大小时,会将合并后的数据持久化到磁盘,同时更新父亲节点对叶子节点的指针。原创 2024-11-15 09:54:59 · 417 阅读 · 0 评论 -
linux c语言 提取字符串例子说明
linux系统下,提取字符串小例子。原创 2024-11-12 16:04:42 · 313 阅读 · 0 评论 -
linux c语言 根据分隔符提取字符串
函数用于将字符串分割成一系列标记(tokens),这些标记由一个或多个指定的分隔符字符分隔。要指定多个分隔符,您只需在。的第二个参数中列出这些字符,而无需对它们进行任何特殊的转义处理(除非它们是字符串字面量中的特殊字符,如双引号或反斜杠)。例如,如果您想使用逗号。分隔的标记,并逐个打印出来。,将分隔符替换为 null 字符。作为分隔符来分割字符串。函数会修改原始字符串。原创 2024-11-12 16:00:24 · 446 阅读 · 0 评论 -
linux shell要把某行的下一行打印出来
linux shell要把SUCCESS这一行的下一行打印出来要在 Linux shell 中打印出SUCCESS行的下一行,可以使用awk或grep结合sed来实现。原创 2024-10-17 14:22:08 · 521 阅读 · 0 评论 -
linux shell find命令 扫描目录下的文件,并打印出文件名和文件大小
在 Linux 中,可以使用find命令结合-exec选项来扫描目录下的文件,并打印出文件名和文件大小。以下是一个示例命令,假设你要扫描的目录是。原创 2024-10-17 09:51:21 · 1040 阅读 · 0 评论 -
shell中比较两个文件脚本实例讲解
a[$1]) print $1, a[$1], $2}`:在读取第二个文件时,检查当前行的key的value是否与数组`a`中对应的value不同。1. `NR==FNR`:这是`awk`的一个条件,判断当前处理的行号是否等于当前文件的行号。2. `a[$1]=$2`:将第一个文件的第一列(key)作为数组`a`的索引,第二列(value)作为值存储。3. `next`:在读取完第一个文件的一行后,跳过后面的命令,继续读取下一行。两个文件中找出key相同,但value不同的,并打印出来。原创 2024-10-17 09:50:11 · 803 阅读 · 0 评论 -
mongodb创建索引
mongo shell如下:读取索引文件,给表aaa创建索引。导出索引至1.json文件。原创 2024-10-15 13:24:36 · 361 阅读 · 0 评论 -
mongodb导出索引,并在另一个表使用这些索引来创建索引
如果你想将索引定义保存到文件中,你可以使用 MongoDB Shell(mongo)与 Bash 命令结合。bash这会将索引定义以 JSON 格式保存到文件中。在导入到新集合之前,你可能需要修改索引定义中的集合名称(如果有必要)。通常情况下,MongoDB 的索引定义是不包含集合名称的,但在手动操作时请确保这点。原创 2024-10-15 11:06:27 · 514 阅读 · 0 评论 -
在MongoDB中执行JavaScript脚本
在MongoDB中执行JavaScript脚本,可以使用db.eval()方法。这个方法允许你在数据库上下文中执行JavaScript代码。这将会连接到指定的数据库your_database_name,并且执行db.users.count(),然后以JSON格式打印结果。假设你有一个集合users,你想要计算集合中所有文档的数量。这将会加载并执行your_script.js文件中的JavaScript代码。原创 2024-10-15 11:02:40 · 843 阅读 · 0 评论 -
shell变量以及通配符的如何使用?
1、/etc/profile 表示系统内针对任何用户(root或daixuan)都生效的环境变量的配置文件#/etc/profle 会定义很多环境变量,直接修改/etc/profile是不太好的,最好是创建/etc/profile.d/custom.sh/bin/bash#让配置文件生效,source加载/etc/profile,会加载/etc/profile.d/下的所有.sh文件2、全局的环境变量别名 /etc/bashrc。原创 2024-10-13 11:42:25 · 341 阅读 · 0 评论 -
shell数组用法
数组中可以存放多个值。与大部分编程语言类似,数组元素的下标由0开始。在 Shell 中,用括号**( )来表示数组,数组元素之间用空格**来分隔。第三个元素就是一个“异类”,前面两个元素都是整数,而第三个元素是字符串。表示获取 nums 数组的第二个元素,然后赋值给变量 n。Shell 数组的长度不是固定的,定义之后还可以增加元素。注意,赋值号=两边不能有空格,必须紧挨着数组名和数组元素。shell的数组在脚本中如果运用得当,也是一个很好的工具。使用@和*可以获取数组中的所有元素,例如:。原创 2024-10-13 11:20:46 · 220 阅读 · 0 评论 -
Linux下 监控磁盘 内存 cpu, 邮件提醒脚本
smtp-auth:SMTP的认证方式,默认是login,也可以改成CRAM-MD5或PLAIN方式。set smtp-auth-password:用户名对应的密码,有些邮箱填的是授权码。5、最后,可以设置一个cron计划任务,让该脚本每隔半小时运行一次。set smtp-auth-user:第三方发邮件的用户名。smtp:指定第三方发邮件的smtp服务器地址。3,编写 检测和运行脚本 monitor.sh。from:对方收到邮件时显示的发件人。在cron里添加下面一行即可。1,安装 mailx。原创 2024-10-12 10:00:00 · 496 阅读 · 0 评论 -
MUTT介绍和使用方法
Mutt 显然是一个 Unix 的邮件程序,它跟一般的 Windows 邮件程序不同,它不是一个包罗万象的大杂烩。你甚至会发现它根本不直接发出邮件,它从来不自己编辑邮件,它从来不自己对邮件进行加密和数字签名……Mutt 更像一个文件管理器,只不过它管理的是email。它的功能是借助各个最强大的程序来实现的。mutt [-hnpRvxz][-a][-b][-c][-f][-F][-H][-i][-m][-s][邮件地址]原创 2024-10-11 14:48:54 · 633 阅读 · 0 评论 -
使用Python的email包来解析邮件、转码、解析附件和解析HTML以获取图片
使用Python的email包来解析邮件、转码、解析附件和解析HTML以获取图片。原创 2024-10-11 14:37:46 · 733 阅读 · 0 评论 -
【python】linux环境下安装selenium
当我们正常在界面系统使用selenium时,会感觉很爽,因为能清楚的看到我们代码的实现的过程,当遇到报错,也能相对来说缩小错误范围,一般都能很快的找到问题所在;倘若我们想在Linux环境(无界面)中使用selenium,虽然在官网可以下载到linux环境下的chromedriver驱动文件,但是如何配置才能成功运行,话不多说了,上配置流程吧!原创 2024-10-10 10:04:51 · 1685 阅读 · 0 评论 -
Python 脚本高效编写与规范化之路
日志记录是另一个重要的环节。在导入模块方面,我们可以根据具体的需求,预先导入一些常用的库,如 pandas 用于数据处理、numpy 进行数值计算、logging 来记录脚本运行状态等。总之,在工作中经常使用 Python 时,通过建立一个通用的模板,将常用的函数和模式规范化,可以大大提高我们编写脚本的效率和质量。比如,使用有意义的变量名和函数名,遵循一定的代码缩进和格式规范,添加必要的注释等。以下是一个较为通用的 Python 脚本模板,可以帮助你在工作中更高效地编写脚本,并将常用的函数和模式规范化。原创 2024-10-10 09:57:37 · 1219 阅读 · 0 评论 -
CentOS无法挂载Glusterfs的解决方法
1、查看各机器的iptables配置,备份之前的iptables配置(/etc/sysconfig/iptables),然后导出生效的iptables(service iptables save),查看核对现有的与导出前的配置是否存在不同,存在则修复,最后重启iptables服务(service iptables restart);2、查看各机器的IP配置是否发生变化(ifconfig),是否同一网段,若配置存在变动,则更改回原始配置,重启网络服务(service network restart);原创 2024-10-09 10:11:23 · 656 阅读 · 0 评论 -
日常分享-shell脚本之mongodb导出与数据处理
读取用户列表,然后和每个用户的xml文件比较,读取字段type字段大于0的用户,重新生成一个新用户列表。工作中有这样的小需求,将mongodb的库表导出,分析用户表的用户名字段提取,生成文件。原创 2024-10-09 09:56:58 · 660 阅读 · 0 评论 -
【Golang】Golang如何操作mongodb
Golang是一种开源的静态强类型编程语言,由Google开发。它具有简洁的语法、高效的编译器和并发性能,使得它成为处理大型数据和高并发场景的理想选择。Golang具有丰富的标准库和强大的第三方库生态系统,使开发人员能够快速构建高性能的应用程序。本文介绍了Golang与MongoDB的完美组合。我们首先了解了Golang和MongoDB的特点和优势,然后演示了如何使用Golang操作MongoDB数据库。原创 2024-10-07 17:25:40 · 1551 阅读 · 0 评论 -
Python使用MongoDB运算符进行查询
ongoDB 是一个非关系型数据库,具有灵活的数据模型和丰富的查询功能。本文将介绍在 Python 中使用 MongoDB 运算符进行数据查询的常用方法,包括比较运算符、逻辑运算符、元素存在检查、正则表达式运算符以及数组运算符,并对其中一些常用运算符进行详细解释。在使用 MongoDB 进行数据查询时,我们经常需要使用各种运算符来执行不同的操作。这些运算符允许我们在查询中进行比较、逻辑和其他操作,从而灵活地获取我们需要的数据。原创 2024-10-07 17:20:04 · 640 阅读 · 0 评论 -
python执行linux命令转pdf
这段代码定义了一个函数`convert_to_pdf`,它将`output.txt`文件转为`output.pdf`文件,使用`pdfkit.from_file`方法。这个函数使用`subprocess.check_output`方法执行命令,并将命令的输出保存到名为`output.txt`的文件中。如果需要调整输出的格式,可以通过CSS样式来修改。要在Python中执行Linux命令并将输出保存为PDF文件,可以使用subprocess模块来调用Linux命令和pdfkit库来将HTML转换为PDF。原创 2024-10-06 13:15:59 · 976 阅读 · 0 评论 -
使用Python进行PDF文档处理的常见操作
使用 Python 进行 PDF 文档处理可以通过多种库来实现,包括 PyPDF2、pdfplumber、reportlab、pdfminer 等。这些库可以处理不同的 PDF 任务,例如 提取文本、拆分合并 PDF、修改 PDF、生成 PDF 等。reportlab 是一个功能强大的库,可以用来生成新的 PDF 文件,支持插入文本、图片、图形等。reportlab:用于生成和修改 PDF 文件,支持文本、图像和图形的绘制。PyPDF2:适合基本的 PDF 操作,如合并、拆分、加密、旋转等。原创 2024-10-06 12:59:08 · 603 阅读 · 0 评论 -
【SHELL】讲透shell条件语句 Shell条件语句使用指南和示例
判断某需求是否满足,需要由测试机制来实现,专用的测试表达式需要由测试命令辅助完成。示例2:查询当前目录下的文件数是否大于10,如果大于,则进行提示。格式1:test [操作符选项] 条件表达式。示例1:test [操作符选项] 条件表达式。[ 表达式1 ] 操作符 [ 表达式2 ]测试当前用户是否有权限执行(eXcute)测试当前用户是否有权限写入(Write)格式2:[ 操作符 条件表达式 ]测试当前用户是否有权限读取(Read)示例2:[ 操作符 条件表达式 ]原创 2024-10-05 16:53:55 · 1232 阅读 · 0 评论 -
linux系统下Shell管道和过滤器如何使用?
示例:使用 tr 命令将 demo.txt 文件中的内容转化为大写,并使用 sort 命令将内容排序,使用 uniq 命令去除重复的行,最后将输出重定向到文件 demo_new.txt。Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道(pipe)。wc 命令:wc命令(word count的缩写):其功能是统计文件的字节数、单词数、行数等信息,并将统计结果输出到终端界面。原创 2024-10-05 16:30:31 · 1430 阅读 · 0 评论 -
python读取json格式文件示例
python读取json格式文件示例如下:文件名可以自己定义,代码中的文件名3.log。原创 2024-10-04 15:08:50 · 416 阅读 · 0 评论 -
python将文本和图片转换pdf
将文本和图片转换为 PDF 文件的思路主要包括以下几个步骤:我们可以使用 库来创建 PDF 文件,并使用 库来处理图片。首先,你需要安装这两个库:代码示例以下是一个简单的示例,展示如何将文本和图片转换为 PDF 文件:说明文本添加:使用 方法添加文本。图片添加:使用 方法添加图片,并根据其原始尺寸保持比例。位置调整:通过更新 来控制每个元素的垂直位置。保存文件:最后调用 方法保存 PDF 文件。注意事项确保图片路径正确,并且图片格式被支持。根据需要调整文本和图片的布局。原创 2024-10-03 10:30:00 · 748 阅读 · 0 评论 -
Elasticsearch中分词插件介绍和配置、安装,以及IK分词器如何使用?
可以通过配置 IK 分词器的用户词典来增加或修改分词规则,例如添加特定的领域术语或者过滤停用词。原创 2024-10-02 11:30:00 · 1808 阅读 · 0 评论 -
分布式数据库MONGODB搭建
搭建 MongoDB 分布式集群涉及几个关键步骤,包括配置和启动多个 MongoDB 实例,并将它们组成一个复制集或分片集群。原创 2024-10-02 09:30:00 · 1012 阅读 · 0 评论 -
【AWK命令】linux系统下awk命令用法指南
命令:使用自定义分隔符(例如逗号)处理列。解释-F ','指定逗号作为分隔符。打印每一行的第一列和第二列。原创 2024-10-01 21:42:54 · 842 阅读 · 0 评论 -
[SED]LINUX系统sed命令基础用法
sed。原创 2024-10-01 21:39:23 · 589 阅读 · 0 评论 -
notion-程序员的知识库
大家好!今天给大家一篇详细的入门教程。看完今天这篇长文,你将学会:✅如何注册 / 下载Notion;✅如何复制Notion模板;✅如何汉化Notion;✅如何使用Notion斜杠命令。废话少说,我们这就开始Notion之旅。1、什么是Notion?它是一个全能型的工具软件,也是一个集笔记、任务、知识库、数据库为一体的工作平台。Notion > 印象笔记 + 滴答清单 +石墨文档。2、Notion能干啥?目前我是把自己的年月日计划、读书笔记、阶段复盘、项目计划,原创 2024-09-29 09:30:00 · 1313 阅读 · 0 评论 -
RAID工作模式
分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50,RAID-60。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。I/O瓶颈及其它因素的影响,RAID性能会随边际递减,也就是说,假设一个磁盘的性能是50MB每秒,两个磁盘的RAID 0性能约96MB每秒,三个磁盘的RAID 0也许是130MB每秒而不是150MB每秒,所以两个磁盘的RAID 0最能明显感受到性能的提升。原创 2024-09-28 11:30:00 · 2266 阅读 · 0 评论 -
mmap详解
简单的说,能够容纳文件被映射部分大小的最少页面个数决定了进程从mmap()返回的地址开始,能够有效访问的地址空间大小。参数fd为即将映射到进程空间的文件描述字,一般由open()返回,同时,fd可以指定为-1,此时须指定flags参数中的。总结一下就是, 文件大小, mmap的参数 len 都不能决定进程能访问的大小, 而是容纳文件被映射部分的最小页面数决定。MAP_ANON,表明进行的是匿名映射(不涉及具体的文件名,避免了文件的创建及打开,很显然只能用于具有亲缘关系的。共享内存中的内容往往是在解除映。原创 2024-09-28 09:30:00 · 981 阅读 · 0 评论 -
NTP时间同步
选定其中一台服务器作为基准服务器,即提供时钟服务。的机器提供时间服务了,开启。如果正常,应该可以看到。),但我在这里推荐使用。原创 2024-09-27 09:45:00 · 752 阅读 · 0 评论 -
用ElasticSearch存储日志
用ElasticSearch存储日志介绍如果你使用elasticsearch来存储你的日志,本文给你提供一些做法和建议。如果你想从多台主机向elasticsearch汇集日志,你有以下多种选择: 安装在一台中心机上,然后它负责往elasticsearch插入日志,而且你可以使用它那个漂亮的搜索界面~ 他有很多特性,包括你能输入什么日志,如何变换过滤,最好输出到哪里。其中就有输出到elasticsearch,包括直接输出和通过RabbitMQ的river方式两种。 Flume这个也原创 2024-09-27 08:30:00 · 1355 阅读 · 0 评论 -
Vi 编辑器常用命令笔记
全选 :行首位置,shift+v和shift+g。3 shift+i(即大写的I)行首插入。,运行命令 :%s/a/w/g。:全选后,点击=,将文本格式化。2 上下方向键选中要注释的行。s是替换命令,g代表全局替换。1 Ctrl+v进入v模式。原创 2024-09-26 11:30:10 · 923 阅读 · 0 评论 -
mongodb和shell脚本交互
再看第二个例子:这个例子也是使用EOF之间写mongo命令,下面的例子主要说明mongodb命令如何使用shell中的变量,即例子中的变量。linux,经常要使用shell脚本写一些mongodb的简单操作,我总结了工作中经常用的几个方法。上述例子中,两个EOF之间的语句,不能有空格,tab等,直接顶格写命令。再看第三个例子:稍微复杂点的例子,主要是说明。第四个例子,这个例子主要说明,find出来的。json数据如何解析。原创 2024-09-26 09:00:00 · 605 阅读 · 0 评论
分享