分类目录归档:Linux

linux下比较两个文本文件的不同——diff命令

1>Diff命令的功能
Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

2>语法
diff [options] file1 file2

该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用”-”表示file1或file2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。

3>[options]主要参数

-a:将所有文件当作文本文件来处理。

-b或–ignore-space-change  忽略空格造成的不同。

-B或–ignore-blank-lines  忽略空行造成的不同。

-c:使用纲要输出格式。

-H:利用试探法加速对大文件的搜索。

-I:忽略大小写的变化。

-n –rcs:输出RCS格式。

-N或–new-file  在比较目录时,若文件A仅出现在某个目录中,会显示:Only in目录;文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

-r或–recursive  比较子目录中的文件。

-u,-U<列数>或–unified=<列数>  以合并的方式来显示文件内容的不同。

4>使用方法的实例说明

例如: diff /usr/xu mine

把目录/usr/xu 中名为mine的文件与当前目录中的mine文件进行比较。

通常输出由下述形式的行组成:

n1 a n3,n4

n1,n2 d n3

n1,n2 c n3,n4 这些行类似ed命令把filel转换成file2。字母(a、d和c)之前的行号(n1,n2)是针对file1的,其后面的行号(n3,n4)是针对file2的。字母a、d和c分别表示附加、删除和修改操作。

在上述形式的每一行的后面跟随受到影响的若干行,以”<”打头的行属于第一个文件,以”>”打头的行属于第二个文件。

diff能区别块和字符设备文件以及FIFO(管道文件),不会把它们与普通文件进行比较。

如果file1和file2都是目录,则diff会产生很多信息。

5>diff最常用的功能

diff有很多功能平时我们不常用到,最常用的功能莫过于生成patch文件了:

diff -urN old/ new/ > mysoft.patch
参数 -u 表示使用 unified 格式,-r 表示比较目录,-N 表示将不存在的文件当作空文件处理,这样新添加的文件也会出现在patch文件中。

然后在需要应用patch的地方使用下述命令即可:

patch -p0 < mysoft.patch

diff的 -y 命令(长格式为 –side-by-side)可以将屏幕分成左右两部分,来比较两个文件之间的差异。许多图形化的比较工具都有这个功能,但如果只能使用命令行,这个参数就相当有用了。如果要改变左右各部分的宽度,可以通过 -W (–width)参数来指定。
–ignore-blank-lines 参数可以不检查空白行。这样DOS格式和Unix格式的文件互相比较时,就不至于因为换行符不一致而出现大量的差异。
本文来源于时光漂流瓶 http://www.9usb.net , 原文地址: http://www.9usb.net/200903/linux-diff.html

MYSQL远程直接导入数据库方法

mysqldump -uroot -pxxx -hmaster nimei –single-transaction –default-character-set=utf8mb4 | mysql –default-character-set=utf8mb4 -uroot -pxxx -h127.0.0.1 nimei

注意 –default-character-set 别丢了,否则emoji丢失!

CouchDB 笔记

CouchDB PHP客户端:https://github.com/sn01615/couchdb-client

创建数据库
curl -X PUT http://127.0.0.1:5984/test

获取数据库列表
curl -X GET http://127.0.0.1:5984/_all_dbs

创建数据库
curl -vX PUT http://127.0.0.1:5984/albums-backup

删除数据库
curl -vX DELETE http://127.0.0.1:5984/albums-backup

保存一条数据
curl -X PUT http://127.0.0.1:5984/test/6e1295ed6c29495e54cc05947f18c8af -d ‘{“title”:”There is Nothing Left to Lose”,”artist”:”Foo Fighters”}’

获取一条数据
curl -X GET http://127.0.0.1:5984/test/6e1295ed6c29495e54cc05947f18c8af

创建用户名密码
HOST=”http://127.0.0.1:5984″
curl -X PUT $HOST/_config/admins/username -d ‘”password”‘

要在配置文件里设置密码

使用用户名密码获取数据
HOST=”http://username:password@127.0.0.1:5984″
curl -X GET $HOST/test/6e1295ed6c29495e54cc05947f18c8af

继续阅读

pt-online-schema-change 在线热修改表,不锁表

连接到master上执行

pt-online-schema-change --user=root --password=xxxxx--host=master D=doufu,t=user_comment --execute --alter "ADD COLUMN content_image text NULL COMMENT '' AFTER like_uids" --nocheck-replication-filters

选项说明:
–user=root 用户名
–password=xxxxx 密码
–host=master 主机ip或域名
D=doufu,t=user_comment 数据库名和表明
–execute 不加此参数不会真的执行
–alter “ADD COLUMN content_image text NULL COMMENT ” AFTER like_uids” 需要执行的修改操作
–nocheck-replication-filters 如果有主从结构必须加此参数才能运行, 必须在主库上执行

 

solr-6.4.1 安装笔记

1. 下载、解压
wget http://mirrors.hust.edu.cn/apache/lucene/solr/6.4.1/solr-6.4.1.tgz
tar zxf solr-6.4.1.tgz

2. 安装JAVA运行环境
yum install java-1.8.0-openjdk

==========solr 标准安装方法==============

# 准备数据目录和安装目录

# 数据存放目录
mkdir /mnt/www/solr
# 软件安装目录
mkdir /usr/local/solr

#安装软件和服务

./solr-6.4.1/bin/install_solr_service.sh solr-6.4.1.tgz -d /mnt/www/solr -i /usr/local/solr

# 创建core

su - solr -c "/usr/local/solr/solr/bin/solr create -c doufu"

# 启动停止方法(centos 7)

# 先停止solr
su - solr -c "/usr/local/solr/solr/bin/solr stop"
# 启动solr
systemctl restart solr
# 查看solr运行状态
systemctl status solr
# centos6 可用service控制
service solr start/stop/restart

# 访问Web控制台
http://youip:8983/
# 下一步:

solr内存配置,solr时区配置

# misc:

[root@web4 solr]# bin/solr --help

Usage: solr COMMAND OPTIONS
where COMMAND is one of: start, stop, restart, status, healthcheck, create, create_core, create_collection, delete, version, zk

Standalone server example (start Solr running in the background on port 8984):

./solr start -p 8984

SolrCloud example (start Solr running in SolrCloud mode using localhost:2181 to connect to Zookeeper, with 1g max heap size and remote Java debug options enabled):

./solr start -c -m 1g -z localhost:2181 -a “-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044”

Pass -help after any COMMAND to see command-specific usage information,
such as: ./solr start -help or ./solr stop -help