自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 grep命令详解

简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的r

2015-11-13 16:53:35 1093

原创 bundle install 命令

Bundle介绍: Rails 3中引入Bundle来管理项目中所有gem依赖,该命令只能在一个含有Gemfile的目录下执行,如rails 3项目的根目录。关于Gemfile和Gemfile.lock 所有Ruby项目的信赖包都在Gemfile中进行配置,不再像以往那样,通过require来查找。Rails 3中如果需要require某个gem包,必须通过修改Gemfile文件来管理。 Ge

2015-11-13 16:40:47 2329

原创 mkdir -p命令

如果要创建目录A并创建目录A的子目录B,没有用-p的情况下是mkdir 2次 如果用-p 可以直接创建2个目录 mkdir -p 目录A/子目录B就可以

2015-11-13 16:38:00 1682

原创 让切换目录更方便: pushd, popd, dirs, cd -

一,为何要使用这几个命令? 可能大家会有疑问,为何要使用这几个命令, 难道用cd不就可以切换目录了吗? 没错,使用cd就可以切换到需要访问的目录, 但是有时会是一个路径很长,层次很多的目录,进到此目录下后,这时我们不小心运行了 cd命令, 理所当然,我们回到了自己的home目录,这时如果想回去怎么办?还有:因为工作的需要,我们需要不停在几个很深层的目录之间切换

2015-11-13 16:36:59 605

原创 更换ruby源----RubyGems 镜像 - 淘宝网

$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/$ gem sources -l*** CURRENT SOURCES ***https://ruby.taobao.org# 请确保只有 ruby.taobao.org$ gem install rails如果你使用 Gemfile 和 Bund

2015-11-13 16:26:54 1447

原创 rvm实现一个系统同时运行多个ruby版本项目(用于解决一个服务器部署多个ruby版本项目的实现)

进入到项目目录,建立一个.rvmrc文件在这个文件里可以很简单的加一个命令:rvm use 2.0.0@rails416然后无论你当前ruby设置是什么,cd到这个项目的时候,rvm会帮你加载 ruby 2.0.0和rails416 gemset.说明: 需要一个系统运行多个版本时,就可以使用这个方法实现多个ruby版本的项目了,例子 假如我有项目blog1,blog2(blog1是ruby1.

2015-11-13 16:22:32 868

原创 rvm 用于ruby版本的管理

vm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换。https://rvm.io/如果你打算学习ruby/rails, rvm是必不可少的工具之一。这里所有的命令都是再用户权限下操作的,任何命令最好都不要用sudo.rvm安装$ curl -L get.rvm.io | bash -s stable$ source ~/.bashrc$ source ~/.bash_prof

2015-11-13 16:18:45 2079

原创 GPG----入门

一、什么是GPG 要了解什么是GPG,就要先了解PGP。 1991年,程序员Phil Zimmermann为了避开政府监视,开发了加密软件PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为GnuPG。这就是GPG的由来。 GPG有许多用途,本文主要介绍文件加密。至于邮件的加密,不同的邮件客

2015-11-13 15:48:50 577

原创 shell脚本-if内判断

-e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x fi

2015-11-13 15:38:13 748

原创 tr命令详解

通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2

2015-11-13 15:36:29 2909

原创 ssh-keygen 中文手册

名称 ssh-keygen - 生成、管理和转换认证密钥语法 ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile

2015-11-13 15:25:19 623

原创 ubuntu:(设置终端代理IP)简单有效地设置全局代理上网

因为要在ubuntu系统上安装很多软件,但ubuntu系统所在的网络环境是需要使用http代理才能连接网络的。 正常使用火狐等浏览器上网时,可以很简单的设置网络代理服务器,但若是在ubuntu的终端中使用sudo apt-get install 。。。这样的命令,浏览器中设置的代理就不能用了,因此我们必须对ubuntu的终端设置代理,使其能够在apt-get install 时联通网络。 1.

2015-11-13 15:21:01 28900 1

原创 linux tee 命令详解

功能说明:读取标准输入的数据,并将其内容输出成文件。语  法:tee [-ai][–help][–version][文件…]补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。参  数:  -a或–append  附加到既有文件的后面,而非覆盖它.  -i-i或–ignore-interrupts  忽略中断信号。  –help  在线帮助。  –ver

2015-11-13 15:19:19 1252

原创 set -x 与 set +x

在liunx脚本中可用set -x就可有详细的日志输出.免的老是要echo了 下面的网上搜来的用法.用于脚本调试。set是把它下面的命令打印到屏幕 set -x 是开启 set +x是关闭 set -o是查看 (xtrace),set去追中一段代码的显示情况。执行set -x后,对整个脚本有效。[root@mybox bin]# ls -l /bin/bash + ls –color=tty -

2015-11-13 15:17:50 6757

原创 Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

命令行参数运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 n表示,例如,n 表示,例如,1 表示第一个参数,$2 表示第二个参数,依次类推。请看下面的脚本:#!/bin/bashecho "File Name: $0"echo "First Parameter : $1"echo "First Parameter : $2"echo "Quoted Values: $@"echo

2015-11-13 15:16:23 326

原创 shell中的重定向 1>&2 2>&1 >&2

当初在shell中, 看到”>&1”和”>&2”始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出. 在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0: Standard Input (STDIN) 1: Standard Output (STDOUT) 2: Standard Error Output (STDERR) 在标准情况

2015-11-13 15:12:27 794

原创 Apache2 httpd.conf配置文件-----详解

Apache2 httpd.conf配置文件中文版详解## 基于 NCSA 服务的配置文件。##这是Apache服务器主要配置文件。#它包含服务器的影响服务器运行的配置指令。#参见以取得关于这些指令的详细信息##不要只是简单的阅读这些指令信息而不去理解它。#这里只是做了简单的说明,如果你没有参考在线文件,你就会被警告。##这些配置指令被分为下面三个部分:#1. 控制整个Apa

2015-11-13 15:07:56 872

原创 一步步教你OpenStack安装与配置

一、引言本内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1、Server2和Client1,之后的各章也是如此。Server1承载着Nova、Glance、Swift、Keystone及Horizon(OpenStack的Web UI)服务。Server2只用来运行实例管理的nova运算工作站。由于OpenStack组件采用分布式结构,其中的任何一部分或几个部分都可以安装

2015-11-13 15:01:47 23141 2

原创 安装和学习OpenStack--学习资料

什么是OpenStack? http://opensource.com/resources/what-is-openstackOpenStack源码在哪? https://github.com/openstack/OpenStack API文档以及如何管理OpenStack等链接?http://docs.openstack.org/ http://www.rackspace.com/cloud

2015-11-13 14:01:37 939

原创 pip 设置代理的方法

在用sudo pip install sunburnt时,出现了如下错误: Could not fetch URL原因:是因为机器是内网,需设置代理proxy解决方案:sudo pip --proxy=http://username:password@proxyURL:portNumber install sunburnt加上代理即可。

2015-11-13 13:54:26 42443 5

原创 Java Timer的使用

1.概览Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。 TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。 简单的一个例程:import java.util.Timer; import java.util.TimerTask; /** *//** * Simple demo that uses java.u

2015-11-13 13:49:35 376

原创 Timer和TimerTask

其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样:Timer timer = new Timer();timer.schedule(new TimerTask() { public void run() { System.out.println("abc");

2015-11-11 20:34:44 509

原创 java定时器Timer当执行时间大于间隔时间会怎样

如果你用的是 java.util.Timer,那么这个Timer 有两种执行模式: fixed-rate:对应于 scheduleAtFixedRate 方法 fixed-delay:对应于 schedule 方法fixed-rate 模式,如果某次任务超时了,它会智能的缩短下一次任务的执行时间, 比如你 10 秒一次任务,但是任务执行了 15 秒, 那么下一次任务如果没有超时的话,可能也不

2015-11-11 20:18:45 9772

原创 ubuntu环境变量设置方法

Ubuntu下设置环境变量有三种方法,一种用于当前终端,一种用于当前用户,一种用于所有用户。一:用于当前终端:在当前终端中输入:export PATH=$PATH:<你的要加入的路径>不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效。二:用于当前用户:在用户主目录下有一个 .bashrc 隐藏文件,可以在此文件中加入 PATH 的设置如下:vi ~/.bashrc加入:ex

2015-11-11 20:15:19 337

原创 java定时器初探

从《thinking in java》了解到java原生的Times类有两个问题: (1)Timer是启动单个线程来处理所有的时间任务,如果一个任务耗时很久,那么如果在执行这个过程中,下个定时任务开始,就会对接下来的任务造成影响; (2)Timer某一个定时程序在执行过程中抛出运行时异常,那么定时器就会以为终止定时器的运行;首先了解一下Timer类的核心组成Timer有两个核心的属性,一个是Ta

2015-11-11 20:11:46 360

原创 linux shell 获取当前正在执行脚本的绝对路径

常见的一种误区,是使用 pwd 命令,该命令的作用是“print name of current/working directory”,这才是此命令的真实含义,当前的工作目录,这里没有任何意思说明,这个目录就是脚本存放的目录。所以,这是不对的。你可以试试 bash shell/a.sh,a.sh 内容是 pwd,你会发现,显示的是执行命令的路径 /home/june,并不是 a.sh 所在路径:/h

2015-11-11 19:57:15 2535

原创 java 获取系统变量he环境变量

前言环境变量这个概念不陌生, 就是操作系统的环境变量。 系统变量就是java本身维护的变量。 通过 System.getProperty 的方式获取。 对于不同的操作系统来说, 环境变量的处理可能会有一些不统一的地方, 比如说: 不区分大小写 等等。Java 获取环境变量Java 获取环境变量的方式很简单: System.getEnv() 得到所有的环境变量 System.getEnv(

2015-11-11 19:53:06 470

原创 Linux设置和查看环境变量的方法

显示环境变量HOME $ echo $HOME /home/redbooks 设置一个新的环境变量hello $ export HELLO="Hello!" $ echo $HELLO Hello! 使用env命令显示所有的环境变量 $ env HOSTNAME=redbooks.safe.org PVM_RSH=/usr/bin/rsh Shell=/bin/bash TE

2015-11-11 19:41:51 438

原创 mysql在表中添加多个外键/增加外键/级联约束

建表时创建外键: CREATE TABLE`xh` ( `id` int(100) unsigned NOT NULL AUTO_INCREMENT COMMENT , `cl_id` smallint(3) unsigned NOT NULL COMMENT, `title` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT ,

2015-11-11 19:33:04 26705

原创 详解mysql int类型的()中长度值代表的意义

mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢.以下是每个整数类型的存储和范围(来自mysql手册): 表格一共有四列分别表式:字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值.我们拿int类型为例:int类型, 占用字节数为4byte, 学过计算机原理的同学应该知道, 字节(b

2015-11-11 19:29:10 1498 1

原创 Git 分支 - 分支的新建与合并

让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤:开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:切换到你的线上分支(production branch)。为这个紧急任务新建一个分支,并在其中修复它。在测试通过之后,切换回线上分支,然后合并这

2015-11-11 19:20:49 314

原创 Java之Timer的用法

timer可用于实现现在项目中需要定时去检查文件是否更新的功能。代码如下:package comz.autoupdatefile; import java.util.Timer; import java.util.TimerTask; public class M { public static void main(String[] args) { // TO

2015-11-11 18:56:13 305

原创 对文件操作之FileUtils方法大全

获取系统的临时目录路径:getTempDirectoryPath()public static String getTempDirectoryPath() { return System.getProperty("java.io.tmpdir"); } 获取代表系统临时目录的文件:getTempDirectory ()public static File getTemp

2015-11-11 18:50:44 23810

原创 已知进程pid获取其父进程pid

ps -ef|awk '$2 ~ /pid/{print $3}'命令如上。其中pid为已知进程pid

2015-09-08 09:37:46 11536

原创 Jgit clone repostory

public void gitClone() throws GitAPIException { final File localPath = new File("./TestRepo"); Git.cloneRepository() .setURI(REMOTE_URL) .setBranch(branchName) .setDirec

2015-08-26 15:52:03 974

原创 使用XPath的条件查询和多节点条件查询

首先是我们需要查询的xml文件autotest.xml<autotests> <autotest> <manifest > <url>ssh://abt-node1.sh.intel.com/manifest</url> <branch>ciengine/testdata</

2015-08-26 14:08:41 6594

原创 restful api 的HTTP认证访问方式

1、通过用户名和密码访问public static WebResource getClient(String url){ ClientConfig config = new DefaultClientConfig(); config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, true);

2015-08-26 09:56:37 2647

原创 加载properties文件的方法

首先是building-service.properties文件如下,”=”后面是有内容的,这里因为隐私故省略。gerritURL=jenkinsURL=http:gerritUsername=gerritPassword=API_Token=下面是读取properties文件中相关值的办法 首先需要导入import java.util.Properties;private static

2015-08-26 09:48:17 354

原创 在交互式shell脚本中创建对话框

当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入。对话框的类型有密码箱,检查表,菜单,等等。他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显而易见的。如下图所示: 当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入。whiptail可以在shell脚本中创建基于终端的对话框,消息框的过程,类似于Zenity或xdi

2015-08-22 04:28:21 639

原创 shell脚本中一些特殊符号

在shell中常用的特殊符号罗列如下: # ; ;; . , / \\ 'string'| ! $ ${} $? $$ $* \"string\"* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \\<...\\> + - %= ==

2015-08-22 04:11:18 850

SQL三大示例数据库

三个示例数据库都有,直接附加一下就可以使用了

2011-11-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除