2016年11月

首页2016年11月
19
Nov
0

用脚本更新文件到DB

INSERT INTO T_UPDATE (F_ID, F_REMARK,F_VALUE)
SELECT 'EXE','16.1.66.1071.0',

  • FROM OPENROWSET(BULK N'E:update.rar', SINGLE_BLOB)
  1. F_VALUE
18
Nov
0

python随机单元

random.random()用于生成
用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成随机数
?
1
n: a <= n <= b。如果 a <b, 则 b <= n <= a。
?
1
2
3
4
5
6
print random.uniform(10, 20)
print random.uniform(20, 10)

----

18.7356606526

12.5798298022

random.randint
用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,Python生成随机数
?
1
2
3
print random.randint(12, 20) #生成的随机数n: 12 <= n <= 20
print random.randint(20, 20) #结果永远是20

print random.randint(20, 10) #该语句是错误的。

下限必须小于上限。
random.randrange
从指定范围内,按指定基数递增的集合中 ,这篇文章就是对python生成随机数的应用程序的部分介绍。
随机整数:

import random
random.randint(0,99)
21

随机选取0到100间的偶数:

import random
random.randrange(0, 101, 2)

42
随机浮点数:

import random
random.random()

0.85415370477785668

random.uniform(1, 10)

5.4221167969800881
随机字符:

import random
random.choice('abcdefg&#%^*f')

'd'
多个字符中选取特定数量的字符:

import random

random.sample('abcdefghij',3)
['a', 'd', 'b']
多个字符中选取特定数量的字符组成新字符串:

import random
import string
string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).r

eplace(" ","")
'fih'
随机选取字符串:

import random
random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )

'lemon'
洗牌:

import random
items = [1, 2, 3, 4, 5, 6]
random.shuffle(items)
items

[3, 2, 5, 6, 4, 1]

15
Nov
0

su 和 sudo su 的区别

su <user>
执行该命令,需要输入password,它是<user>中定义的用户的password,即,要变换成的用户的password。(如果已经用root登录,则无需输入password)该命令改变user id,执行过后,以<user>中定义的用户运行shell,就像用<user>定义的用户远程登录后一样。唯一不同之处在于,先前user的环境变量将被保存(保存在ssh终端程序中,当执行exit后,又可以改变成先前的用户身份,并使用先前用户的环境变量)。

sudo su <user>

它和su的行为相似,不同之处在于,sudo su <user>中的su将以root身份被执行,并要求输入root的password,注意,不是<user>中定义的user的password。

简而言之,二者区别在于,su <user>要输入<user>的password,而sudo su <user>要输入root的password,但二者都将用户身份改变成<user>定义的用户。

15
Nov
0

RHEL配置yum源 及本地源

//编辑如下文件添加下列内容

[root@localhost ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo

[base]
name=CentOS-5-sohu-Base
baseurl=http://mirrors.ustc.edu.cn/centos/5/os/i386/
gpgcheck=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[update]
name=CentOS-5-Updates
baseurl=http://mirrors.ustc.edu.cn/centos/5/os/i386/
gpgcheck=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[addons]
name=CentOS-5-Addons
baseurl=http://mirrors.ustc.edu.cn/centos/5/os/i386/
gpgcheck=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-5-Extras
baseurl=http://mirrors.ustc.edu.cn/centos/5/os/i386/
gpgcheck=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[centosplus]
name=CentOS-5-Plus
baseurl=http://mirrors.ustc.edu.cn/centos/5/os/i386/
gpgcheck=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
enabled=0

contrib <96> packages by Centos Users

[contrib]
name=CentOS-5-Contrib
baseurl=http://mirrors.ustc.edu.cn/centos/5/os/i386/
gpgcheck=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[dag]
name=Dag RPM Repository for RHEL5
enabled=1
baseurl=http://mirrors.ustc.edu.cn/centos/5/os/i386/
gpgcheck=0
gpgkey=http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

本地源:
redhat 的更新包只对注册的用户生效,所以我们自己手动更改成CentOS 的更新包,CentOS几乎和redhat是一样的,所以无需担心软件包是否可安装,安装之后是否有问题。
1、首先删除redhat原有的yum ,因为redhat 原本的yum 没有注册为redhat用户是用不了的。

rpm -aq|grep yum|xargs rpm -e --nodeps
rpm -aq|grep python-iniparse|xargs rpm -e --nodeps
1
2
2、下载163的yum 安装包

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/yum-3.4.3-132.el7.centos.0.1.noarch.rpm

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

wget http://mirrors.163.com/centos/7.2.1511/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm

3、安装下载的rpm包

rpm -ivh *.rpm
1
4、创建文件/etc/yum.repos.d/rhel-debuginfo.repo并写入

[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/7.2.1511/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

released updates

[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/7.2.1511/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/7.2.1511/extras//$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/7.2.1511/centosplus//$basearch/
gpgcheck=1
enabled=0

6、 yum clean all
7、 yum update 测试。

8、 安装 epel 源

yum install epel-release

本地源:
1.挂载系统镜像文件
mkdir /media/cdrom #新建镜像文件挂载目录
cd /usr/local/src #进入系统镜像文件存放目录
ls #列出目录文件,可以看到刚刚上传的系统镜像文件
mount -t iso9660 -o loop /usr/local/src/rhel-server-7.0-x86_64-dvd.iso /media/cdrom #挂载系统镜像
cd /media/cdrom #进入挂载目录,使用ls命令可以看到已经有文件存在了
备注:umount /media/cdrom #卸载系统镜像

2.设置开机自动挂载系统镜像文件
vi /etc/fstab #添加以下代码。实现开机自动挂载
/usr/local/src/rhel-server-7.0-x86_64-dvd.iso /media/cdrom iso9660 defaults,ro,loop 0 0
:wq! #保存退出
备注:iso9660使用df -T 查看设备

3.配置本地yum源
cd /etc/yum.repos.d/ #进入yum配置目录
touch rhel-media.repo #建立yum配置文件
vi rhel-media.repo #编辑配置文件,添加以下内容
[rhel-media]
name=Red Hat Enterprise Linux 7.0 #自定义名称
baseurl=file:///media/cdrom #本地光盘挂载路径
enabled=1 #启用yum源,0为不启用,1为启用
gpgcheck=1 #检查GPG-KEY,0为不检查,1为检查
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release #GPG-KEY路径
:wq! #保存退出

4.使用yum命令自动安装软件
yum clean all #清除yum缓存
yum makecache #缓存本地yum源中的软件包信息

yum install httpd #安装apache
rpm -ql httpd #查询所有安装httpd的目录和文件

systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重启apache
systemctl enable httpd.service #设置开机启动
RHEL 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
yum install iptables-services #安装iptables
vi /etc/sysconfig/iptables #编辑防火墙配置文件

Firewall configuration written by system-config-firewall

Manual customization of this file is not recommended.

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出

systemctl start iptables.service #启动防火墙
systemctl stop iptables.service #停止防火墙
systemctl restart iptables.service #重启防火墙
systemctl status iptables.service #查看防火墙状态
systemctl enable iptables.service #设置开机启动
打开http://192.168.21.128/如下图所示

四、设置主机名为www
hostname www #设置主机名为www
vi /etc/hostname #编辑配置文件
www localhost.localdomain #修改localhost.localdomain为www
:wq! #保存退出
vi /etc/hosts #编辑配置文件
127.0.0.1 www localhost #修改localhost.localdomain为www
:wq! #保存退出
shutdown -r now #重启系统

11
Nov
0

wpf 按键接收事件中的key值转换

wpf中的Key值和win32中的KEY不一样

原型
system.windows.input.key

win32 key是ascii
相互转换方法

KeyInterop.KeyFromVirtualKey
KeyInterop.VirtualKeyFromKey

还有一个转换类KeyConverter 原型:
system.windows.input.KeyConverter