- 博客(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
1118
原创 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
2363
原创 mkdir -p命令
如果要创建目录A并创建目录A的子目录B,没有用-p的情况下是mkdir 2次 如果用-p 可以直接创建2个目录 mkdir -p 目录A/子目录B就可以
2015-11-13 16:38:00
1701
原创 让切换目录更方便: pushd, popd, dirs, cd -
一,为何要使用这几个命令? 可能大家会有疑问,为何要使用这几个命令, 难道用cd不就可以切换目录了吗? 没错,使用cd就可以切换到需要访问的目录, 但是有时会是一个路径很长,层次很多的目录,进到此目录下后,这时我们不小心运行了 cd命令, 理所当然,我们回到了自己的home目录,这时如果想回去怎么办?还有:因为工作的需要,我们需要不停在几个很深层的目录之间切换
2015-11-13 16:36:59
626
原创 更换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
1490
原创 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
882
原创 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
2102
原创 GPG----入门
一、什么是GPG 要了解什么是GPG,就要先了解PGP。 1991年,程序员Phil Zimmermann为了避开政府监视,开发了加密软件PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为GnuPG。这就是GPG的由来。 GPG有许多用途,本文主要介绍文件加密。至于邮件的加密,不同的邮件客
2015-11-13 15:48:50
600
原创 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
774
原创 tr命令详解
通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr 所能够做的。 tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2
2015-11-13 15:36:29
2936
原创 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
637
原创 ubuntu:(设置终端代理IP)简单有效地设置全局代理上网
因为要在ubuntu系统上安装很多软件,但ubuntu系统所在的网络环境是需要使用http代理才能连接网络的。 正常使用火狐等浏览器上网时,可以很简单的设置网络代理服务器,但若是在ubuntu的终端中使用sudo apt-get install 。。。这样的命令,浏览器中设置的代理就不能用了,因此我们必须对ubuntu的终端设置代理,使其能够在apt-get install 时联通网络。 1.
2015-11-13 15:21:01
29014
1
原创 linux tee 命令详解
功能说明:读取标准输入的数据,并将其内容输出成文件。语 法:tee [-ai][–help][–version][文件…]补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。参 数: -a或–append 附加到既有文件的后面,而非覆盖它. -i-i或–ignore-interrupts 忽略中断信号。 –help 在线帮助。 –ver
2015-11-13 15:19:19
1262
原创 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
6777
原创 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
334
原创 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
808
原创 Apache2 httpd.conf配置文件-----详解
Apache2 httpd.conf配置文件中文版详解## 基于 NCSA 服务的配置文件。##这是Apache服务器主要配置文件。#它包含服务器的影响服务器运行的配置指令。#参见以取得关于这些指令的详细信息##不要只是简单的阅读这些指令信息而不去理解它。#这里只是做了简单的说明,如果你没有参考在线文件,你就会被警告。##这些配置指令被分为下面三个部分:#1. 控制整个Apa
2015-11-13 15:07:56
903
原创 一步步教你OpenStack安装与配置
一、引言本内容讲解如何在3台物理机上搭建最小化云平台,这3台机器分为称为Server1、Server2和Client1,之后的各章也是如此。Server1承载着Nova、Glance、Swift、Keystone及Horizon(OpenStack的Web UI)服务。Server2只用来运行实例管理的nova运算工作站。由于OpenStack组件采用分布式结构,其中的任何一部分或几个部分都可以安装
2015-11-13 15:01:47
23237
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
953
原创 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
42684
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
390
原创 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
520
原创 java定时器Timer当执行时间大于间隔时间会怎样
如果你用的是 java.util.Timer,那么这个Timer 有两种执行模式: fixed-rate:对应于 scheduleAtFixedRate 方法 fixed-delay:对应于 schedule 方法fixed-rate 模式,如果某次任务超时了,它会智能的缩短下一次任务的执行时间, 比如你 10 秒一次任务,但是任务执行了 15 秒, 那么下一次任务如果没有超时的话,可能也不
2015-11-11 20:18:45
9930
原创 ubuntu环境变量设置方法
Ubuntu下设置环境变量有三种方法,一种用于当前终端,一种用于当前用户,一种用于所有用户。一:用于当前终端:在当前终端中输入:export PATH=$PATH:<你的要加入的路径>不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效。二:用于当前用户:在用户主目录下有一个 .bashrc 隐藏文件,可以在此文件中加入 PATH 的设置如下:vi ~/.bashrc加入:ex
2015-11-11 20:15:19
349
原创 java定时器初探
从《thinking in java》了解到java原生的Times类有两个问题: (1)Timer是启动单个线程来处理所有的时间任务,如果一个任务耗时很久,那么如果在执行这个过程中,下个定时任务开始,就会对接下来的任务造成影响; (2)Timer某一个定时程序在执行过程中抛出运行时异常,那么定时器就会以为终止定时器的运行;首先了解一下Timer类的核心组成Timer有两个核心的属性,一个是Ta
2015-11-11 20:11:46
372
原创 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
2549
原创 java 获取系统变量he环境变量
前言环境变量这个概念不陌生, 就是操作系统的环境变量。 系统变量就是java本身维护的变量。 通过 System.getProperty 的方式获取。 对于不同的操作系统来说, 环境变量的处理可能会有一些不统一的地方, 比如说: 不区分大小写 等等。Java 获取环境变量Java 获取环境变量的方式很简单: System.getEnv() 得到所有的环境变量 System.getEnv(
2015-11-11 19:53:06
497
原创 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
449
原创 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
27515
原创 详解mysql int类型的()中长度值代表的意义
mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int(1), 也一样能存10,100,1000呢.以下是每个整数类型的存储和范围(来自mysql手册): 表格一共有四列分别表式:字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值.我们拿int类型为例:int类型, 占用字节数为4byte, 学过计算机原理的同学应该知道, 字节(b
2015-11-11 19:29:10
1537
1
原创 Git 分支 - 分支的新建与合并
让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤:开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:切换到你的线上分支(production branch)。为这个紧急任务新建一个分支,并在其中修复它。在测试通过之后,切换回线上分支,然后合并这
2015-11-11 19:20:49
326
原创 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
314
原创 对文件操作之FileUtils方法大全
获取系统的临时目录路径:getTempDirectoryPath()public static String getTempDirectoryPath() { return System.getProperty("java.io.tmpdir"); } 获取代表系统临时目录的文件:getTempDirectory ()public static File getTemp
2015-11-11 18:50:44
23934
原创 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
991
原创 使用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
6649
原创 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
2669
原创 加载properties文件的方法
首先是building-service.properties文件如下,”=”后面是有内容的,这里因为隐私故省略。gerritURL=jenkinsURL=http:gerritUsername=gerritPassword=API_Token=下面是读取properties文件中相关值的办法 首先需要导入import java.util.Properties;private static
2015-08-26 09:48:17
367
原创 在交互式shell脚本中创建对话框
当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入。对话框的类型有密码箱,检查表,菜单,等等。他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显而易见的。如下图所示: 当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入。whiptail可以在shell脚本中创建基于终端的对话框,消息框的过程,类似于Zenity或xdi
2015-08-22 04:28:21
659
原创 shell脚本中一些特殊符号
在shell中常用的特殊符号罗列如下: # ; ;; . , / \\ 'string'| ! $ ${} $? $$ $* \"string\"* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \\<...\\> + - %= ==
2015-08-22 04:11:18
870
LIRE怎么使用?我将其引入项目src下就会显示大红叉提示错误
2014-12-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人