有句话说得很在理 -- 谁调用它,this就指向谁 一、全局范围内 在全局范围内使用this ,它将指向全局对象(浏览器中为 window) var name = 'name1'; console.log...setTimeout(function(){ console.log(name); // name1 console.log(obj.name); // name3 },0); 三、作为对象方法的调用...(); setTimeout(function(){ // 输出更改之后,全局name的值 console.log(name); // 输出更改之后,obj对象中 name的值...五、作为构造函数调用 比如 new Foo(); 先来看个简单的例子: var name = 'name1'; function Foo(){ // 赋值this(当前对象)的name属性值...可以看到,如果函数倾向于和 new 关键词一块使用,则我们称这个函数为构造函数,当new 了之后,this则指向这个心创建的对象(这个new 的过程其实也涉及到了继承机制)。
一、jq工具介绍1. jq工具简介jq是一款轻量级的命令行json处理工具,可以帮助用户轻松处理json格式的数据。它可以从标准输入读取json数据,也可以从文件中读取。...查询jq命令帮助信息使用jq --help查询帮助信息[root@jeven ~]# jq --helpjq - commandline JSON processor [version 1.6]Usage...命令的选项解释jq命令的选项解释-c 紧凑而不是漂亮的输出;-n 使用`null`作为单个输入值;-e 根据输出设置退出状态代码...JSON文本;-C 为JSON着色;-M 单色(不要为JSON着色);-S 在输出上排序对象的键;--tab...查询json文件查询json文件内容[root@jeven ~]# cat name.json |jq { "name": "John", "age": 30, "city": "New York
解析pcap中的主机名; -v:针对SMB/HTTP对象启用VirusTotal查询; VirusTotal整合 PacketSifter可以通过VirusTotal API对通过SMB/HTTP发现的导出对象执行哈希查询...首先,我们需要在本地设备上安装并配置好jq: root@ubuntu:~# apt-get install jq 接下来,确保已经安装好了curl: root@ubuntu:~# apt-get install...VTInitial.sh的正常输出如下图所示: 使用-v参数运行PacketSifter以针对导出的HTTP和SMB对象启用VirusTotal查询。...成功执行后的VTInitial.sh输出结果如下图所示: AbuseIPDB整合 PacketSifter可以针对DNS A记录中的IP地址执行IP地理位置查询或IP名声查询。...成功执行后的AbuseIPDBInitial.sh输出结果如下图所示: 工具使用样例 root@ubuntu:~# .
实例 1、查询匹配字符的文件 cat /etc/passwd |grep root root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root...-type f -size +50m -size -100m jq命令使用 jq 是 stedolan 开发的一个轻量级的和灵活的命令行JSON处理器,源码请参考 jq 项目主页 jq 用于处理JSON...,它将jq的输入未经修改地复制到其输出中(格式设置除外) 语法 jq [options] [file...] jq [options] --args [strings...为JSON着色; -M 单色(不要为JSON着色); -S 在输出上排序对象的键; –tab 使用制表符进行缩进; –arg....metadata.managedFields[0].apiVersion "v1" 3、keys: 获取数组中的键 cat test.json | jq '.metadata.managedFields
@localhost Desktop]# cat t | jq ".[0]|keys" #获取所有的key值,如果value 依然是对象,那么这里不会列出value中对象的key值...根据指定的key, 查找嵌套对象中所有该key的value,输出该value 使用 .....因为scan方法只能够作用于字符串,所以不可以简单的将recurse和scan 结合起来使用,这里需要通过keys来实现 嵌套的模糊查询....举例如下: [root@localhost Desktop]# cat t | jq '.[]|keys?|.[]|scan(".*use.*")?' #直接的模糊查询,只能找到一个key....最常使用的一种场景如下: 首先用模糊查询,配合递归查找相应的key;-----简言之,就是找到key 然后用特定的key, 配合递归查询找到所有的结果;------简言之,就是依据key遍历到所有的值
使用与上述相同的输入, {(.user): .titles} 输出 {"stedolan": ["JQ Primer", "More JQ"]} 作为键的变量引用使用变量的值作为键。...将一个字符串除以另一个字符串会使用第二个字符串作为分隔符来拆分第一个字符串。 将两个对象相乘将递归合并它们:这类似于加法,但如果两个对象都包含相同键的值,并且值是对象,则两者将使用相同的策略合并。...“.json”后缀将添加到相对路径字符串中。该文件的数据将以$NAME::NAME. 可选元数据必须是常量 jq 表达式。它应该是一个带有“主页”等键的对象。此时 jq 只使用元数据的“搜索”键/值。...此时 jq 不使用此元数据,但它通过 modulemeta内置提供给用户。 modulemeta 将模块名称作为输入并将模块的元数据作为对象输出,模块的导入(包括元数据)作为“deps”键的数组值。...程序可以使用它来查询模块的元数据,然后他们可以使用它来搜索、下载和安装缺少的依赖项。
由于记录在不同分区中失去顺序,除非确保 ClickHouse 顺序键和 Debezium 消息键相同,否则可能会导致 Clikchouse 中的数据不一致。...经验法则如下: 根据想要的表结构来设计分区键和排序键。 提取分区和排序键的来源,假设它们是在物化过程中计算的。 合并所有这些列。...将步骤 3 的结果定义为 Debezium 连接器配置中的 message.column.keys。 检查 Clickhouse 排序键是否包含所有这些列。如果没有则添加它们。...id 作为分片键,保证同一 id 的数据落在同一分片上 create table db2.t1_replica_all on cluster cluster_2S_2R as db2.stream_t1...之后在 ClickHouse 集群中的任一实例上,都能从物化视图中查询到一致的 MySQL 存量数据。
检查端口占用 lsof -i:[port] netstat -anp |grep [port] 监控网络客户TCP连接数 netstat -anp | grep tcp |wc -l 获取某进程中运行中的线程数量.../ 查看磁盘分区信息 root> # 查看挂载哪些磁盘 root> df -h |grep /dev/ root> # 选择其中一块磁盘 root> fdisk -l /dev/xvda2 列出系统中已被格式化的设备...blkid 查询 Ext 家族 superblock 信息 dumpe2fs [-bh] 设备文件名 有用的快捷键 ?...单个对象属性 .[对象名],例如:.data。 Json数组某个对象属性值 .[对象名][下标].属性名,例如:.data[0].id。...语句" 备注:当测试部署到kubernetes中的mysql时,很有用。
安装步骤# 第一步,安装 Aria2# 这里使用 Aria2 一键安装管理脚本 增强版,执行下面的代码下载并运行脚本,出现脚本操作菜单输入 1 开始安装。...输入vim /root/.aria2c/script.conf打开附加功能脚本配置文件进行修改,有中文注释,按照自己的实际情况进行修改,一般只需要修改网盘名称和下载路径。...或使用Aria2 一键安装管理脚本 增强版中的手动修改选项打开配置文件进行修改。找到“下载完成后执行的命令”,把clean.sh替换为upload.sh。...^[[0m] Download complete: /root/downloads/aria2.conf /root/.aria2c/core: line 109: jq: command not found...发现是由于 jq 命令找不到到导致的,Centos下通过如下命令安装 jq # 安装EPEL源: yum install epel-release # 安装完EPEL源后,可以查看下jq包是否存在:
安装步骤 第一步,安装 Aria2 这里使用 Aria2 一键安装管理脚本 增强版,执行下面的代码下载并运行脚本,出现脚本操作菜单输入 1 开始安装。...输入vim /root/.aria2c/script.conf打开附加功能脚本配置文件进行修改,有中文注释,按照自己的实际情况进行修改,一般只需要修改网盘名称和下载路径。...或使用Aria2 一键安装管理脚本 增强版中的手动修改选项打开配置文件进行修改。找到“下载完成后执行的命令”,把clean.sh替换为upload.sh。...^[[0m] Download complete: /root/downloads/aria2.conf /root/.aria2c/core: line 109: jq: command not found...发现是由于 jq 命令找不到到导致的,Centos下通过如下命令安装 jq # 安装EPEL源: yum install epel-release # 安装完EPEL源后,可以查看下jq包是否存在:
Kubectl 自动补全 BASH ZSH Kubectl 上下文和配置 Kubectl apply 创建对象 查看和查找资源 更新资源 部分更新资源 编辑资源 对资源进行伸缩 删除资源 与运行中的...# 设置默认的上下文为 my-cluster-name # 添加新的用户配置到 kubeconf 中,使用 basic auth 进行身份认证 kubectl config set-credentials...命令使用 kubectl config set-context --current --namespace=ggckad-s2 # 使用特定的用户名和名字空间设置上下文 kubectl config.../my-manifest.yaml # 生成一个句点分隔的树,其中包含为节点返回的所有键 # 在复杂的嵌套JSON结构中定位键时非常有用 kubectl get nodes -o json | jq...")' # 生成一个句点分隔的树,其中包含为pod等返回的所有键 kubectl get pods -o json | jq -c 'path(..)|[.[]|tostring]|join(".")
key,注意这里由于和shell中的{}冲突所以用() [root@192 ~]# jq 'has(2)' json.txt false [root@192 ~]# jq 'has(1)' json.txt...3)行的上下文(上下各NUM行,不包括差异行) -d,--minimal 使用不同的算法,努力寻找一个较小的变化集合。...ignore-all-space 忽略由于Tab扩展而导致的变化 -F RE,--show-function-line=RE 在上下文输出格式(文件1在上,文件2在下)和统一输出格式中,对于每一大块的不同...-u,-U NUM,--unified[=NUM] 使用统一输出格式(输出一个整体,只有在差异的地方会输出差异点,并标注出来),输出NUM(默认3)行的上下文(上下各NUM行,不包括差异行) -v,-...使用并列输出格式 --from-file=FILE1 FILE1与所有操作对象比较,FILE1可以是目录 --help 输出帮助信息 --horizon-lines=NUM 保留NUM行的公共前缀和后缀
在Linux/Unix系统的日常使用中,我们需要使用很多命令行工具来完成工作,以及理解和管理我们的系统,例如使用du来监视磁盘利用率、top来显示系统资源。有些工具已经有很长的历史了。...在设置页面中,你可以更改其颜色,添加或删除指标、更改概述栏的显示选项。 虽然top的最新版本也可以通过配置获得相似的结果,但htop提供的默认配置更为合理,作为一个进程浏览器更加易于使用。...与通用文本处理工具(例如grep和sed)相比,jq的主要优点在于它了解JSON数据结构,你可以通过一个表达式创建复杂的查询。...你可以在grep中添加一些其他选项来限制查询结果,并通过正则表达式操作找到容器的名称。...例如,在包含Git代码库的目录中搜索源代码文件时,fd会自动排除隐藏的文件和目录(包括.git目录),并忽略.gitignore文件中的模式。通常,它可以更快地查询,并提供相关度更高的结果。
JSON 输出和 jq: kubectl 的输出可以通过 -o json 参数以 JSON 格式进行输出。jq 是一个命令行 JSON 处理工具,它能够以结构化方式解析和查询 JSON 数据。...JSON 查询语法: jq 支持类似于 SQL 的查询语法,用于从 JSON 数据中选择、过滤和操作特定字段和值。 基本选择器: 使用点 ....# 选择 JSON 对象中的 "name" 属性的值 echo '{"name": "John", "age": 30}' | jq '.name' # 选择 JSON 数组的第一个元素 echo '...# 选择数组中大于 2 的元素 echo '[1, 2, 3, 4]' | jq 'map(select(. > 2))' - **对象属性访问:** 使用 `.key` 来访问 JSON 对象中的属性...# 获取 JSON 对象中的 "age" 属性的值 echo '{"name": "Alice", "age": 25}' | jq '.age' - **数组索引:** 使用 `[index]` 访问数组中的特定索引处的值
为什么需要将 Mysql 数据同步到 Elasticsearch Mysql 作为传统的关系型数据库,主要面向 OLTP,性能优异,支持事务,但是在一些全文检索,复杂查询上面并不快。...Elasticsearch 底层基于 Lucense 实现,天然分布式,采用倒排索引存储数据,全文检索效率很高,使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。...Elasticsearch-Connector 使用主题+分区+偏移量作为事件的唯一标识符,然后在 Elasticsearch 中转换为唯一的文档。...它支持使用 Kafka 消息中的键值作为 Elasticsearch 中的文档 Id,并且确保更新按顺序写入 Elasticsearch。 ?...将压缩包解压到自定义的目录,只要 libs 目录中的 jar 包即可: [root@kafka1 connect]# ls -l /usr/local/kafka/connect/debezium-connector-mysql
,这些指标都是通过 APIServer 暴露的,而且 HPA 资源对象也可以很轻易的直接使用。...resources:通过 seriesQuery 查询到的只是指标,如果需要查询某个 Pod 的指标,肯定要将它的名称和所在的命名空间作为指标的标签进行查询,resources 就是将指标的标签和 k8s...当我们查询某个 pod 的指标时,它会自动将 pod 的名称和名称空间作为标签加入到查询条件中。...as 为空就是使用默认值的意思。 metricsQuery:这就是 Prometheus 的查询语句了,前面的 seriesQuery 查询是获得 HPA 指标。...当我们要查某个指标的值时就要通过它指定的查询语句进行了。可以看到查询语句使用了速率和分组,这就是解决上面提到的只增指标的问题。
expose 使用 replication controller, service, deployment 或者 pod 并暴露它作为一个 新的 Kubernetes Service...kubectl的常用命令 kubectl作为kubernetes的命令行工具,主要的职责就是对集群中的资源的对象进行操作,这些操作包括对资源对象的创建、删除和查看等。...stdin的配置变更应用到主要对象中。...patch kubectl patch (-f FILENAME \| TYPE NAME \| TYPE/NAME) –patch PATCH [flags] 使用策略合并补丁过程更新资源对象中的一个或多个字段...config use-context my-cluster-name # 设置默认的上下文为 my-cluster-name # 在 kubeconf 中添加一个支持基本鉴权的新集群。
其采用完全独立于语言的文本格式,具有方便人阅读和编写,同时也易于机器的解析和生成。这些特性决定了 JSON 格式越来越广泛的应用于现代的各种系统中。...作为系统管理员,在日常的工作中无论是编辑配置文件或者通过 http 请求查询信息,我们都不可避免的要处理 JSON 格式的数据。 jq 是一款命令行下处理 JSON 数据的工具。...其可以接受标准输入,命令管道或者文件中的 JSON 数据,经过一系列的过滤器(filters)和表达式的转后形成我们需要的数据结构并将结果输出到标准输出中。...jq 的这种特性使我们可以很容易地在 Shell 脚本中调用它。 演示 运行方式 # 通过 Pid 获取 Pod 名称 $ ./pod_name_info.sh Pid 下面展示输出结果 ?...{ docker_storage_location=`docker info | grep 'Docker Root Dir' | awk '{print $NF}'` for docker_short_id
return false; // 常见阻止表单提交等 页面载入 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。....each() 方法用来迭代jQuery对象中的每一个DOM元素。每次回调函数执行时,会传递当前循环次数作为参数(从0开始计数)。...由于回调函数是在当前DOM元素为上下文的语境中触发的,所以关键字 this 总是指向这个元素。...注意: 在遍历过程中可以使用 return false提前结束each循环。...$("input[type='checkbox']").check(); 单独写在文件中的扩展: (function(jq){ jq.extend({ funcName:
领取专属 10元无门槛券
手把手带您无忧上云