Cmd实现循环调用
cmd是windows的命令,可以辅助我们做很多事情,今天实现一个调用一个程序n次的实例:
1 | @echo off |
基础知识
if的几种格式
- 判断两个字符串是否相等,if “字符串1”==”字符串2” command 语句;
- 判断两个数值是否相等,if 数值1 equ 数值2 command 语句;
- 判断判断驱动器,文件或文件夹是否存在,if exist filename command 语句;
- 判断变量是否已经定义,if defined 变量 command 语句;
- 判断上个命令的返回值,if errorlevel 数值 command 语句。
set的使用
在上面的代码中set n=0
是代表定义一个变量n,值为0 ,在引用的时候直接使用%n%
set /a n=%n%+1
/a
参数会把等号右边当成一个表达式,常用的表达式都支持。
set
还有一个/p
的参数,是让用户来输入对应的值。例如:
ES高级查询
高级查询
范围查询
1 | { |
相当于 amount>=1 and amount<=100
短语查询
1 | { |
script查询
script查询 可以对查询出的字段进行再次计算。
1 | GET order/_search |
过滤和查询
ES配置详解和主从搭建
配置详细
1 |
|
主从搭建
Linux常用命令
复制文件到指定目录
用法:
1
cp [option] <sourcefile> <destfile>
拷贝文件夹用-f参数:
1
cp -f Java /usr/Java
文件重命名
文件重命名使用的命令是mv命令,就是移动文件的命令 :
1
mv [option] <oldfilename> <newfilename>
筛选grep
筛选sm的文件:
1
ls|grep sm
筛选es的进程:
1
ps|grep es
增加环境变量
增加环境变量1
export PATH=/usr/jdk:$PATH
使之生效:
1 | source .bashrc |
- linux生成公钥
1 | ssh-keygen -t rsa -C xxxx@xxx.com |
生成的目录在 /.ssh
目录下
- git去除原来的merge
您尚未完成合并(MERGE_HEAD存在)1
rm -rf .git/MERGE*
Curl的使用
curl的使用
curl是常用发起http请求工具,今天就整理下如何正确的使用curl命令,来提高工作效率。
首先我们使用curl --help
命令来看下官方的使用介绍:
可以看到curl的命令格式为:curl [option] \<url\>
直接访问网页
1
$ curl http://www.baidu.com
访问的数据存成文件
1
$ curl http://www.baidu.com >>baidu.html
或
1
$ curl -o baidu.com http://www.baidu.com
-O 可以使用默认名称存储,可以直接保存。
1
curl -O https://www.baidu.com/img/baidu_jgylogo3.gif
直接下载图片成baidu_jgylogo3.gif
发送POST,DELETE,PUT的方法,发送自定义命令,需要使用-X这个参数。post,put ,delete 请求发送
1
2
3curl -X POST http://localhost:8080/index
curl -X PUT http://localhost:8080/index
curl -X DELETE http://localhost:8080/index增加请求参数
在请求一个网址网址的时候,常常需要加上对应的请求参数,这里需要增加一个-d的参数
1
curl -X POST -d '{"userName":"fuwei","blog":"blog.laofu.online"}' http://localhost:8080/index
增加请求头信息
curl修改header信息,需要-H参数:
1
curl -X POST -H 'Content-type: application/json' -d '{"userName":"fuwei","blog":"blog.laofu.online"}' http://localhost:8080/index
Elasticsearch Head的安装
Elasticsearch head是操作es的界面,可以在可视化界面上面管理es的索引和类型。
- 下载 es head的源码文件 https://github.com/mobz/elasticsearch-head
下载安装nodejs,执行npm -v
1
2
3
4$ npm -v
5.5.1在源码文件中,运行npm install,会下载对应的依赖文件
等运行完成,运行npm run start,访问9100端口,链接状态是灰色,说明没有是实例链接成功
修改es的配置文件
因为es的端口是9200,访问会存在跨域的问题,需要允许es跨域访问,在es的config目录下修改elasticsearch.yml文件。
1
2
3
4
5
6#开启跨域访问支持,默认为false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: /.*/打开es链接上对应的服务器。
Elasticsearch快速入门
ES是什么
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。我们可以这么去理解:
- 分布式的实时文件存储,每个字段都被索引并可被搜索
- 分布式的实时分析搜索引擎
- 可以扩展到上百台服务器,处理PB级结构化或非结构化数据
索引,类型,文档的含义
在搜索引擎之前,使用的基本上都是关系型的数据库(mysql,mssql,oracle),在关系型数据库中有Database,Table和row.
对于es来说,有Index ,Type,Document
来与之对应,关系如下:
关系数据库 | 数据库 | 表 | 行 |
ES | Index | Type | Document |
注意: 每个 Index (即数据库)的名字必须是小写。
Elastic 6.x 版只允许每个 Index 包含一个 Type,7.x 版将会彻底移除 Type
Index管理
同步到 OSCHINA 社区声明
我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:osc_49837026,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply
Java中Integer的详解
在Java中有int和integer两种类型,简单的说Integer是int的引用类型,但是这个引用的类型比较特殊,下面看几个demo:
Integer a1 = 140;
Integer a2 = 140;
System.out.println(a1 == a2);
Integer b1 = 120;
Integer b2 = 120;
System.out.println(b1 == b2);
运行结果是:
false
true
原因: Java对于-128到127之间的数,会进行缓存,Integer i = 127时,会将127进行缓存,下次再写Integer j = 127时,就会直节从缓存中拿取,不会再从新创建对象。
所以120的时候地址是一样的,运行是true,大于127的时候重新开辟吗新的地址空间,地址不一致,为false。
当然我们也可以强制重新开辟一个新的变量:
Integer c1 = new Integer(120);
Integer c2 = new Integer(120);
System.out.println(c1 == c2);
Integer d1 = new Integer(120);
Integer d2 = 120;
System.out.println(d1 == d2);
运行结果是:
false
false