踏浪


  • 首页

  • 分类

  • 标签

  • 归档

  • 搜索

Docker 安装

发表于 2018-09-10 | 分类于 Docker | | 阅读次数:

一、win7、win8 系统

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,
下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

下载安装完成后,点击 Docker QuickStart 图标来启动 Docker Toolbox 终端。

1
docker run hello-world

二、 CentOS 6.8 安装 Docker

CentOS 7 的内核一般都是3.10的,而CentOS 6.X 的内核一般都是2.6,在2.6的内核下,Docker运行会比较卡,所以一般会选择升级到3.10版本。

安装docker-io

1
[root@localhost ~]# yum install docker-io

三、使用 yum 安装(CentOS 7下)

Docker 要求 CentOS 系统的内核版本高于 3.10 。

通过 uname -r 命令查看你当前的内核版本

1
[root@runoob ~]# uname -r  3.10.0-327.el7.x86_64

参考链接: 使用 yum 安装(CentOS 7下)

配置 Docker 加速器

参考链接: Docker 加速器)

[参考链接]

Docker 教程

CentOS 6.8 安装 Docker

pyenv切换python版本

发表于 2018-07-26 | 分类于 Python | | 阅读次数:

1、查看版本

1
pyenv install --list

指定版本安装

1
pyenv install 3.4.3 -v

2.安装后,记得要更新

1
pyenv rehash

3.查看已安装版本

1
pyenv versions

  • system (set by /home/seisman/.pyenv/version)
    3.4.3

4.指定版本

1
pyenv global 3.4.3

5.切回原来版本

1
pyenv global system

本地配置多个ssh key

发表于 2018-07-23 | 分类于 github | | 阅读次数:

1、为gitlab生成ssh key

1
ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa

2、为github生成ssh key

1
ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa

3、在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab-rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github-rsa
​
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径

4、按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab-rsa.pub和github-rsa.pub

5、查看ssh key
cat ~/.ssh/github-rsa.pub

6、测试是否连接
ssh -T git@github.com

Python导出CSV

发表于 2018-07-17 | 分类于 Python | | 阅读次数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pymysql
import io
import sys
import csv
import time


sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码

sql ="SELECT hospital_id, type FROM `tb_hospital`"

start = time.time()

db = pymysql.connect(host='127.0.0.1',user='root', password='123456', port=3306, db='db_kr',charset='utf8')
cursor = db.cursor()

cursor.execute(sql)
results = cursor.fetchall()
print('Count:', cursor.rowcount)
i=0
with open('hospital_type.csv', 'a+', encoding='utf-8',newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow([ 'hospital_id', '类型'])
for row in results:
i = i + 1
print("第",i)
writer.writerow(row)

end = time.time()
print('Cost time:',end-start)

awk文件比对

发表于 2018-06-25 | 分类于 awk | | 阅读次数:

文件以制表符\t分隔

1、将某几列作为主键key,对某列求和

1
awk '{sum[$1,$2]+=$3}END{for(c in sum){print c,sum[c] }}' 1.txt > 3.txt

2、两个文件比较 while((getline < “1.txt”)>0 //读到文件末尾

1
cat 2|awk -F"\t" 'BEGIN{while((getline < "1")>0) hash[$1$2]=$3}{if(hash[$1$2]-$3>1 || hash[$1$2]-$3<-1) print $0"|"hash[$1$2]}'

3、提取某列输出重复数据项

1
cat 1 |awk '{print $1}' |sort|uniq -c|awk '{if($1==2) print $0}'

4、在文件1不在文件2的数据项

1
cat 1 2 1|sort |uniq -c|awk '{if($1==2) print $0}'

5、找出2个文件差异项

1
cat 1.txt 2.txt |sort |uniq -u

MYSQL备份

发表于 2018-04-09 | 分类于 Mysql | | 阅读次数:

mysql mysqldump 只导出表结构 不导出数据

1
mysqldump --opt -d 数据库名 -u root -p > xxx.sql

备份数据库

1
2
#mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 
#mysqldump -d -A --add-drop-table -uroot -p >xxx.sql

1.导出结构不导出数据

1
mysqldump --opt -d 数据库名 -u root -p > xxx.sql

2.导出数据不导出结构

1
mysqldump -t 数据库名 -uroot -p > xxx.sql

3.导出数据和表结构

1
mysqldump 数据库名 -uroot -p > xxx.sql

4.导出特定表的结构

1
mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql

导入数据:

1
2
#mysql 数据库名 < 文件名 
#source /tmp/xxx.sql

MYSQL 导入导出CSV

发表于 2018-04-09 | 分类于 Mysql | | 阅读次数:

MYSQL命令行导出 csv文件

1
2
3
4
5
6
7
8
mysql > SELECT
*
FROM
table_name INTO OUTFILE 'D:/test.csv'
FIELDS TERMINATED BY ',' -----字段间以,号分隔
OPTIONALLY ENCLOSED BY '"' ------字段用"号括起
escaped by '"' ------字段中使用的转义符为"
LINES TERMINATED BY '\n'; ------行以\n结束

MYSQL命令行导入 csv文件

基本语法

1
2
3
4
5
6
7
8
9
load data  [low_priority] [local] infile 'file_name txt' [replace | ignore]
into table tbl_name
[fields
[terminated by't']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'n']
[ignore number lines]
[(col_name, )]

示例

1
2
3
4
5
6
7
8
9
10
11
LOAD DATA LOCAL INFILE 'D:/test.csv' 
REPLACE INTO TABLE table_name
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY ''
ESCAPED BY '\"'
LINES TERMINATED BY '\n' (
field1,
field2,
create_date,
update_date
);

load data infile语句从一个文本文件中以很高的速度读入一个表中。使用这个命令之前,mysqld进程(服务)必须已经在运行。为了安全原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用load data infile,在服务器主机上你必须有file的权限。

1 如果你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。可以使用如下的命令:

load data low_priority infile “/home/mark/data sql” into table Orders;

2 如果指定local关键词,则表明从客户主机读文件。如果local没指定,文件必须位于服务器上。

3 replace和ignore关键词控制对现有的唯一键记录的重复的处理。如果你指定replace,新行将代替有相同的唯一键值的现有行。如果你指定ignore,跳过有唯一键的现有行的重复行的输入。如果你不指定任何一个选项,当找到重复键时,出现一个错误,并且文本文件的余下部分被忽略。例如:

load data low_priority infile “/home/mark/data sql” replace into table Orders;

4 分隔符

(1) fields关键字指定了文件字段的分割格式,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:
terminated by分隔符:意思是以什么字符作为分隔符
enclosed by字段括起字符
escaped by转义字符
terminated by描述字段的分隔符,默认情况下是tab字符(\t)
enclosed by描述的是字段的括起字符。
escaped by描述的转义字符。默认的是反斜杠(backslash:\ )
例如:load data infile “/home/mark/Orders txt” replace into table Orders fields terminated by’,’ enclosed by ‘“‘;

(2)lines 关键字指定了每条记录的分隔符默认为’\n’即为换行符
如果两个字段都指定了那fields必须在lines之前。如果不指定fields关键字缺省值与如果你这样写的相同: fields terminated by’\t’ enclosed by ’ ‘’ ‘ escaped by’\‘
如果你不指定一个lines子句,缺省值与如果你这样写的相同: lines terminated by’\n’
例如:load data infile “/jiaoben/load.txt” replace into table test fields terminated by ‘,’ lines terminated by ‘/n’;

5 load data infile 可以按指定的列把文件导入到数据库中。 当我们要把数据的一部分内容导入的时候,,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。比方说,我们要从Access数据库升级到MySQL数据库的时候

下面的例子显示了如何向指定的栏目(field)中导入数据:
load data infile “/home/Order txt” into table Orders(Order_Number, Order_Date, Customer_ID);

6 当在服务器主机上寻找文件时,服务器使用下列规则:

(1)如果给出一个绝对路径名,服务器使用该路径名。
(2)如果给出一个有一个或多个前置部件的相对路径名,服务器相对服务器的数据目录搜索文件。
(3)如果给出一个没有前置部件的一个文件名,服务器在当前数据库的数据库目录寻找文件。
例如: /myfile txt”给出的文件是从服务器的数据目录读取,而作为“myfile txt”给出的一个文件是从当前数据库的数据库目录下读取。

[参考链接]

mysql导入数据load data infile用法(将txt文件中的数据导入表中)

Python安装

发表于 2017-10-12 | 分类于 Python | | 阅读次数:

安装Python 3.X

在Windows上安装Python

根据你的Windows版本(64位还是32位)从Python的官方网站www.python.org下载,然后,运行下载的EXE安装包

在Linux上安装Python

打开WEB浏览器访问www.python.org/download
选择适用于Unix/Linux的源码压缩包。
这里,我选择的版本是 3.5.2

1
2
3
4
5
6
7
8
9
10
11
12
下载
#wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
解压压缩包
#tar -zxvf Python-3.5.2.tgz
进入目录
#cd Python-3.5.2/
添加配置
#./configure
编译程序
#make
执行安装
#make install

执行以上操作后,Python会安装在 /usr/local/bin 目录中,Python库安装在/usr/local/lib/pythonXX,XX为你使用的Python的版本号。

验证 安装成功以后,就可以查看 Python 的版本了:

1
2
3
4
# python -V
Python 2.7.5
# python3 -V
Python 3.5.2

设置 3.x 为默认版本

查看 Python 的路径,在 /usr/bin 下面。可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ls -al /usr/bin | grep python
-rwxr-xr-x. 1 root root 11216 12月 1 2015 abrt-action-analyze-python
lrwxrwxrwx. 1 root root 7 8月 30 12:11 python -> python2
lrwxrwxrwx. 1 root root 9 8月 30 12:11 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 11月 20 2015 python2.7

将原来 python 的软链接重命名:
# mv /usr/bin/python /usr/bin/python.bak

将 python 链接至 python3:
# ln -s /usr/local/bin/python3 /usr/bin/python

这时,再查看 Python 的版本:
# python -V
Python 3.5.2
输出的是 3.x,说明已经使用的是 python3了。

[参考链接]

Python 环境搭建
Linux 升级 Python 至 3.x

Linux在history添加时间和用户

发表于 2017-09-30 | 分类于 Linux | | 阅读次数:

设置显示时间和用户

1
echo 'export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S] [`whoami`] "' >> /etc/profile

执行source使配置生效

1
2

source /etc/profile

history

Python独立开发环境virtualenv配置

发表于 2017-07-03 | 分类于 Python | | 阅读次数:

什么是virtualenv

Virtualenv是一个用来创建独立的Python环境的包。

你可以为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各自独立的环境中。

安装与使用virtualenv

1
pip install virtualenv

virtualenv安装完毕后,可以通过运行下面的命令在项目目录myproject创建独立的python环境

1
2
3
mkdir myproject
cd myproject
virtualenv --no-site-packages myproject

参数–no-site-packages代表已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。

以上代码安装的是系统默认的python版本,如果需要安装指定版本的python,比如安装python2.7可以用以下代码。

1
2
3
mkdir myproject
cd myproject
virtualenv --no-site-packages --python=C:\Python27\python.exe myproject

通过下面的命令激活这个virtualenv:activate为激活文件

1
source bin/activate

windows执行

1
2
cd Scripts
activate

1
(myproject) D:\houyimin\learnpython\myproject\Scripts>

注意到命令提示符变了,有个(myproject)前缀,表示当前环境是一个名为myproject的Python环境。

运行下面的命令退出virtualenv环境。

1
deactivate

virtualenv拷贝了Python可执行文件的副本,并创建一些有用的脚本和安装了项目需要的软件包,你可以在项目的整个生命周期中安装/升级/删除这些包。 它也修改了一些搜索路径,例如PYTHONPATH,以确保:
当安装包时,它们被安装在当前活动的virtualenv里,而不是系统范围内的Python路径。
当import代码时,virtualenv将优先采取本环境中安装的包,而不是系统Python目录中安装的包。

1234
踏浪

踏浪

37 日志
12 分类
13 标签
GitHub
Links
  • yangxianci
© 2019 踏浪
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4
本站访客数 人 本站总访问量 次