02 2021 档案
摘要:一、什么是队列 队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。 队列也是可以用线性表和链表来实现,只要符合队列先进先出的规则即可。 二、队列的实现 class Queue: def __init__(self): ""
阅读全文
摘要:一、什么是栈 栈是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许允许在容器的一端进行计入和输出元素。由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。 栈结构可以使用顺序表实现,也可以使用链表来实现,只需要按照栈的特
阅读全文
摘要:一、什么是链表 链表是线性表的一种,它不像顺序表一样连续存储数据,而是在每一个节点中存储下一个节点的位置信息(下一个节点的链接地址)。那么为什么需要链表呢? 顺序表需要预先知道数据的大小用来申请连续的内存空间 顺序表进行扩充时需要进行数据搬迁 这样很不灵活,而链表可以充分利用内存空间,因为它可以不连
阅读全文
摘要:一、什么是顺序表 将元素顺序的存放在一块连续的存储区中,元素间的顺序关系由它们的存储顺序自然表示。 (一)顺序表的形式 顺序表由于存储的元素类型不同,分成: 基本顺序表 元素外置顺序表 为什么要这样分呢?因为元素类型不同占用的每个单元大小不同。 1、基本顺序表 数据元素本身连续存储,每个元素所占的存
阅读全文
摘要:一、什么是算法的时间复杂度 (一)引出算法 什么是算法?加入有下面一道题: 如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合? 刚开始的想法可能就是将a、b、c可能的值都列出来然后进行组合: a、b、c的可能取值范围是[0,1000]
阅读全文
摘要:一、etcd集群搭建 etcd集群搭建可参考:https://www.cnblogs.com/shenjianping/p/14399264.html 二、nginx的安装与启动 1、安装前环境准备 yum install gcc-c++ #gcc编译 yum install -y pcre pcr
阅读全文
摘要:通过etcd v2 API的HTTP+JSON,很方便的用curl来调用etcd v2 API,有如下的内容: 集群管理API 一、集群管理API 1、查看版本 [root@localhost etcd-v3.3.10-linux-amd64]# curl -L http://127.0.0.1:2
阅读全文
摘要:一、etcd状态查看 1、版本号查看 [root@localhost etcd-v3.3.10-linux-amd64]# ./etcdctl --version etcdctl version: 3.3.10 API version: 2 2、查看集群成员信息 [root@localhost et
阅读全文
摘要:针对不同的情况,比如当节点数和各节点上的地址已知使用静态配置,但是当各个节点的地址无法知晓的情况下,使用服务发现进行配置。 一、静态配置 三台机器信息: name ip etcd1 192.168.159.128 etcd2 192.168.159.129 etcd3 192.168.159.130
阅读全文
摘要:一、单实例etcd 1、启动etcd服务 首先下载对应的etcd,然后进行解压: [root@localhost software]# tar -xzvf etcd-v3.3.10-linux-amd64.tar.gz -C /project/opt/ 查看etcd server版本: [root@
阅读全文
摘要:一、调试方法概述 在Shell脚本开发过程中,难免会犯各种各样的错误,这时需要的就是能对错误快速定位以及修复,Shell脚本中有以下的调试方法可供参考: 防止是windows下或者其他人的脚本,先使用dos2unix进行脚本格式化 根据执行的脚本报错信息直接定位 sh -x进行整个脚本内容调试 se
阅读全文
摘要:对于句子I am looking for you,通过shell脚本实现查找出单词长度不大于3的单词,请尽量使用较多的方法实现。 一、数组实现 1、法一 #!/bin/sh arr=(I am looking for you) for word in {#wor
阅读全文
摘要:awk是一种模式扫描和处理语言,它是功能非常强大的文档编辑工具,它不仅可以以行为单位,还能以列为单位进行文件处理。下面以以下三个方面来学习它: 格式详解 简单实践 进阶实践 一、格式详解 1、命令格式 awk [参数] '[动作]' [文件名] 2、常用参数 -F 指定列的分隔符 -f 调用脚本 -
阅读全文
摘要:sed 是用于过滤和转换文本的流编辑器,功能很强大,以下可以从以下几个方面学习: 命令格式 内容查看 内容替换 内容增加 内容删除 sed是行编辑工具,所以是以行为单位。 一、命令格式 1、格式说明 sed [参数] ‘<匹配条件> [动作]’ [文件名] 2、参数 参数为空 表示sed的操作效果,
阅读全文
摘要:一、命令详解 grep命令时一个强大的文本搜索命令。 1、命令格式 grep [参数] [关键字] <文件名> grep在过滤某个文件内容时后面需要跟文件名的,但是如果使用"|",后面不需要文件名。 2、参数 -c 只输出匹配行的数量 -n 显示匹配行及行号 -v 显示不包含匹配行的文本内容 更多内
阅读全文
摘要:一、数组的定义 数组就是将相同数据类型的元素按照一定顺序排列的集合。常用的定义一个数组有两种方式: array=(1 2 3) array=($(ls)) 其中第一种是已知元素组成的元组,外面使用括号,里面元素之间使用空格隔开;第二种方式是元素未知,通过命令获取。 [root@localhost ~
阅读全文
摘要:有时需要给创建的用户设置密码,为了用户的安全,在设置密码时可以使用随机数进行设置,那么Linux产生随机数有下面六种方式: 系统环境变量RANDOM [root@localhost ~]# echo
阅读全文
摘要:一、while循环 1、语法 while 条件 do 指令... done 2、实例 每隔2s打印系统负载 #!/bin/sh while true do printf "`uptime`\n" sleep 1 done 计算数字1-100的和 #!/bin/sh i=100 sum=0 while
阅读全文
摘要:一、什么是守护进程模式 如果每隔一秒打印一次系统负载: #!/bin/sh while true do printf "`uptime`\n" sleep 1 done 出现如下情况: 这样会在前台一直打印,前台一旦连接中断就会导致该任务中断执行,守护进程模式就是在后台永久执行的模式。防止脚本中断的
阅读全文
摘要:一、MySQL单实例服务脚本 在编写启动脚本之前需要知道MySQL服务的启动与停止命令: 启动 mysqld_safe 停止 mysqladmin #!/bin/sh . /etc/init.d/functions path="/application/mysql/bin" user="root"
阅读全文
摘要:一、字体颜色 #!/bin/sh # 字体颜色范围是30-37 echo -e "\033[30m 黑色字体 hello word \033[0m" echo -e "\033[31m 红色字体 hello word \033[0m" echo -e "\033[32m 绿色字体 hello wor
阅读全文
摘要:一、什么是case结构条件句 case语句实际上就相当于一个多分支结构语句。其基本语法: case "字符串变量" in 值1) 指令1... ;; 值2) 指令2... ;; 值3) 指令3... ;; esac 根据用户输入的数字,判断输出哪个数字,比如,用户输入1,就输出1;输入2,输出2;输
阅读全文
摘要:一、什么是函数 函数就是将相同的代码变成定义成一个代码块,然后七个名字,调用时只需要调用名字即可。 1、函数的优势 节约代码量 代码易读 程序功能模块化 2、函数语法 # 简写 函数名(){ # 指令 return 返回值 } # 规范写法 function 函数名(){ # 指令 return 返
阅读全文