自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 CMake的简单例子

CMake 简介CMake是一个跨平台的自动化建构系统,他使用一个名为CMakeLists.txt的文件来描述构建过程,可以产生标准的构建文件,如Unix的Makefile或Windows Visual C++的projects/workspaces。文件CMakeLists.txt需要手工编写,也可以通过编写脚本进行半自动的生成。CMake提供了比autoconfig更简洁的语法。在Linu...

2012-02-02 22:48:48 288

原创 Shell使用getopts读取参数

使用getopts可以处理<command> [-i infile] outfile。不过还不知道怎么处理像<command> outfile [-i infile]。因为getopts遇到outfile时就会放弃分析。usage='Usage: <command> [-i infile] outfile'infile='/tmp/infile'...

2012-01-12 17:22:05 213

原创 shell函数的局部变量,全局变量。

在shell脚本中定义函数时,曾被局部变量,全局变量搞的头昏脑胀的。于是就写了两个脚本尝试了一下。首先看第一个例子#!/bin/bashfunction test() { echo "d_o_f:" $d_o_f d_i_f="defined in function" d_o_f="modified in function" echo "d_i_...

2011-12-31 11:00:41 2258

原创 从大文件中随机抽取一定数据

在建模的时候,时常需要构造训练集和测试集,但当总数据比较大的时候,如何进行简单抽样也是一个问题。假设有这样一个情况,一份数据总共有1,000,000条,要从中抽取100,000条左右的数据。每条数据相对比较大,把所有数据一次放入内存不靠谱,那么如何抽样呢?最龊的方法就是抽取头100,000或100,000条。第二种能想到的方法就是,构造一个1-1,000,000的数组,然后从里面随机抽...

2011-12-20 22:51:03 536

原创 shell下list的使用

1、定义 list1=(a b c)2、获取item个数: ${#list1[@]}3、获取某个item:${list1[0]},${list1[1]}4、转换成以空格分隔各item的字符串: str=${list1[*]}5、把以空格分隔的字符串转换成list:str=a" "b" "c; list1=($str); echo ${#list1[@]};这条用的场所,主要是把...

2011-12-20 17:26:59 20268

原创 查看目录或文件大小

可以使用“ls”来查看一个目录下各个文件的大小,但是无法查看文件夹的大小。shell里有个命令可以实现查看文件,文件夹占磁盘空间大小。那就是“du“几个比较常用的方式1、du -sh 查看当前目录的总的占磁盘空间。-s表示求总和,-h表示使用人类易读的形式,也就是x.xG, x.xM, x.xK这样的形式,而不是字节数。2、du -h迭代显示当前目录下所有子文件夹,文件占磁盘大...

2011-12-20 17:10:21 169

原创 linux下使用openssl加密文件

1.加密一个文件:   [root@fxvsystem root]# openssl enc -des -e -a -in install.log -out install.log.des   enter des-cbc encryption password:   Verifying - enter des-cbc encryption password:  输入密码之后,就会生成install...

2011-12-09 22:03:21 287

原创 在shell脚本运行时如何获取自己所在的目录

在shell脚本中有时需要用到相对路径,来减少子程序的路径配置,但是这样主程序还是需要知道自己所在的路径。有什么办法可以自动获取主程序所在的目录,而不用配置呢。总结了一下,运行脚本的方式有以下几种(假如主程序名为"test.sh")1、./test.sh     or    sh test.sh2、test.sh  (路径配置在了环境变量中)3、../bin/test.sh   or ...

2011-12-01 15:55:46 966

原创 shell中读取ini配置。

利用awk 的范围模板来读取ini中的配置   范围模板匹配从第一个模板的第一次出现到第二个模板的第一次出现之间所有行。如果有一个模板没出现,则匹配到开头或末尾。   如$ awk '/root/,/mysql/' test将显示root第一次出现到mysql第一次出现之间的所有行。假设tmp.ini文件内容为[common]key1="common 1"key2="com...

2011-11-28 19:45:24 266

原创 shell中$*和$@的区别

如果想用一个shell脚本把输入参数完整的传给另一个脚本,特别遇到以下这种情况的时候./a.sh 'test 1' 'test 2'。此时就需要使用$@,而不是$*来完成需求。具体运行一下以下脚本就清楚这两条命令之间的区别了。b.shecho pn:$#echo p: $*echo p: $@ a.shecho $#echo './b.sh $*'./b.sh ...

2011-11-04 16:01:27 220

原创 linux Shell命令行输入的一些实用快捷键

下面是一些shell的常用快捷键,快捷键玩熟悉了在一定程度上是可以提高工作效率滴…Ctrl + a  切换到命令行开始Ctrl + e  切换到命令行末尾Ctrl + l  清除屏幕内容Ctrl + u  清除剪切光标之前的内容Ctrl + k  剪切清除光标之后的内容Ctrl + w  删除光标所指的一个单词(从光标到单词的开头)Ctrl + y  复制剪切板里的内容Ctrl + h  类似...

2011-10-28 14:07:27 352

原创 用shell简单的获取多个文件的字段个数和

有时候会遇到如下情况,现有几个文件,每个文件的每条记录都含有通过tab(也可以是其它字符)切割的字段值,并且第一个字段是key,其它字段都是不一样的,现在需要求所有文件中除了key以外的所有字段个数。当然可以通过写一段简单的脚本实现,其实用一段简单的shell命令就可以实现head -1 -q tmp1.txt tmp2.txt | awk 'BEGIN{FS="\t"; i=0;} {i=i...

2011-10-28 12:41:41 392

原创 shell脚本获取后台子进程的退出状态

 (echo aaa >> /dev/null;sleep 10; exit 0)&(echo bbb >> /dev/null;sleep 11; exit 1)&(echo ccc >> /dev/null;sleep 12; exit 0)&(echo ddd >> /dev/null;sleep 5; ...

2011-09-21 21:02:55 1443

原创 ubuntu pdf中文乱码问题解决

具体步骤:一、安装一个东西,似乎是字体哦?sudo apt-get install poppler-data二、修改字体配置文件sudo gedit /etc/fonts/conf.d/69-language-selector-zh-cn.conf我只修改了红色字体部分,就是WenQuanYi Zen Hei 这款中文字体移动到第一个位置。...

2011-08-09 20:50:39 184

原创 理解MySQL——并行数据库与分区(Partition)

1、并行数据库 1.1、并行数据库的体系结构并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的。对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput),在给定的时间段里所能完成的任务数量;(2)响应时间(Response time),单个任务从提交到完成所需要的时间。对于处理大量小事务的系统,通过并行地处理许多事务可以提高...

2011-08-01 14:51:12 138

原创 Crontab实例

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart ...

2011-07-29 21:38:09 142

原创 C语言宏定义使用技巧

写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。防止一个头文件被重复包含  #ifndef COMDEF_H#define COMDEF_H//头文件内容#endif 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 ...

2011-07-05 22:07:46 165

原创 Eclipse插件信息

1. SVN(Subversion): Subclipse http://subclipse.tigris.org/update2. PyDev: http://pydev.org/updates  

2011-07-04 15:12:39 61

原创 python链接mysql

使用python的时间不久,这几天接到一个小需求,本来想着在linux下使用python实现,但一时手头上没有linux环境,加上这个需求的最终版本需要操作excel 2007,一想得了,干脆就在windows下使用吧,由于输入数据放在mysql中,于是就需要从mysql上取一些数据,虽然数据简单,但还是得想办法连上mysql,查了下Google,貌似MySQL-python这套组件不错,前提本人...

2011-06-30 09:31:04 105

原创 Ubuntu添加应用程序的快捷方式到应用程序中

比如想把Eclipse添加到系统的“应用程序”菜单里,方法如下:sudo gedit /usr/share/applications/Eclipse.desktop//文件名可以随意起然后在里面添加如下内容:[Desktop Entry]Name=EclipseComment=EclipseExec=/home/gcc/work/eclipse/eclipse//这是依你的系统目录而改...

2011-05-07 18:24:21 171

原创 创建型模式

先来看一个《设计模式》中的例子,这段代码很好的简单描述了一个迷宫的设计和实现。只要在加点函数定义它也就可以工作了。但是它很不灵活。它对迷宫的布局进行硬编码。并且它也对迷宫的构件进行了硬编码。创建型模式显示如何使得这个设计更灵活,但未必更小。特别是,它们将便于修改定义一个迷宫构件的类。假设你想在一个包含(所有的东西)施了魔法的迷宫的新游戏中重用一个已有的迷宫布局。施了魔法的迷宫游戏有新的构件...

2011-05-01 23:11:17 87

原创 Emacs使用命令

复制/粘贴在要被复制的块开始处,按Ctrl-Space(由于我的机器Ctr-Space是切换输入法的快捷键,使用Ctr-Shift-Space可以达到同样效果)设置标记,移动光标到要被复制的块的结束处,按Ctr-w剪切(cut)或Meta-w复制(copy),在pc里,Meta一般就是Alt。 跳转到某一行 (Alt+x   goto-line n)按快捷键Meta-...

2011-04-27 09:26:38 94

原创 ubuntu 自动加载硬盘

 如果希望每次系统启动都能自动挂载硬盘,则还需要修改“/etc/fstab”。使用vi或者gedit添加以下一行“/dev/sdb1   /home/user/disk   ext2   defaults   0   0”或则“UUID=xxxxx /home/user/disk  ext2 defaults  0  0"。其中sdb1为添加的虚拟硬盘, UUID后的xxxxx代表添加的虚...

2011-04-20 10:44:12 240

原创 小组级git服务器搭建

 如果使用git的人数较少,可以使用下面的步骤快速部署一个git服务器环境。比如像我现在的状况,就两个人被外派到其它公司做项目,但做的东西又是完全独立的也就是说除了到集成的时候会与公司的其它项目组有代码上的交互,并且平时也不能随意的代码交互,唉,狗屁的security,其它时间就我两个人访问。生成 SSH 公钥每个需要使用git服务器的工程师,自己需要生成一个ssh公钥进入自己的~/.ss...

2011-04-20 10:21:43 85

原创 进程与线程回顾

现代操作系统使用分时技术管理多个运行程序,对用户来说似乎是同步执行的。当然,如果机器上有多个CPU,会有多个程序真正同步运行。但是为了简单起见,我们假设只有一个处理器,在这种情况下同步只是一种表面现象。操作系统将运行程序的每个实例表述为进程(Unix术语)或任务(Windows术语)。因此,同时执行的单个程序的多个调用(例如vi文本编辑器的同步会话)是各自独立的进程。在只有一个CPU的机器上,...

2011-04-18 00:58:19 68

原创 C/C++语言中sizeof对于数组的一点总结

最近在面试中被问到了几个有关sizeof的问题,自我感觉都回答对了,不过回来实际编写代码试了一下,发现还是错了一个地方,于是总结了一下。栈中的数组对于栈中的数组,sizeof给出的会是实际的数组长度,而非指针长度。#include <string.h>#include <stdio.h>int main() { char a[5]=...

2011-03-21 01:26:39 170

原创 Ubuntu下把默认目录名改成英文

由于经常使用shell命令进行操作,中文目录名就比较麻烦,但是中文Ubuntu的那几个默认目录是中文,对我来说就有点鸡肋的感觉了。还好不急,只需要3条命令就可以把它们改成英文名。先把环境改为英文的:export LANG=en_US更新修改默认目录名:xdg-user-dirs-gtk-update 选中以后不再提示,点击更新为新的目录名。最后把环境切换回中文的:exp...

2011-03-15 10:59:40 186

原创 linux 下 apache启动、停止、重启命令

基本的操作方法:本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况apahce启动命令:推荐/usr/local/apache2/bin/apachectl start apaceh启动apache停止命令/usr/local/apache2/bin/apachectl stop   停止apache重新启动命令:/usr/loc...

2011-03-10 09:46:06 96

原创 Linux实用命令汇总(持续更新...)

 经常会为某个简单的命令名google,baidu,于是觉得有必要自己开个页面,持续的更新这些命令。判断shell脚本的输入参数个数命令: argc=$# 使用例子: if [ $# -ne 1 ] then echo "Usage: $0 tabname"; echo "e.g.: $0 cdr_20110114"; exit 1...

2011-03-02 09:22:49 96

原创 Debian下安装中文语言包和输入法

安装Debian的时候为了快速安装,没有设镜像,没想到安装完的时候发现中文语言包没有安装上去,进入系统后全是乱码,只好自己手动安装中文包了。Setup localesdpkg-reconfigure locales 选择zh_CN GB2312zh_CN.GBK GBKzh_CN.UTF-8 UTF-8默认locale还是选en_US.UF8 Inst...

2011-02-20 01:38:07 818

原创 使用Emacs+Cedet+Cscope阅读c/c++代码

Ubuntu 11.04下安装Emacs和Cscope1、安装emacs sudo apt-get install emacs23 emacs23-el 2、安装cscope sudo apt-get install cscope 3、安装color-theme sudo apt-get install emacs-goodies-el 3、配置...

2011-02-13 14:41:43 150

原创 使用 GNU profiler 来提高代码运行速度

简介各种软件对于性能的需求可能会有很大的区别,但是很多应用程序都有非常严格的性能需求,这一点并不奇怪。电影播放器就是一个很好的例子:如果一个电影播放器只能以所需要速度的 75% 来播放电影,那么它几乎就没什么用处了。其他应用程序(例如视频编码)如果是耗时非常长的操作,最好以 “批处理” 任务的方式运行,此时启动一个作业,让其一直运行,然后我们就可以去干别的事情了。尽管这些类型的应用...

2010-10-28 22:28:44 81

原创 Berkeley DB初探

前言最近一个一个相似文章搜索功能时,要保存文章库的向量矩阵,由于矩阵太大无法一次加载到内存中,加上项目属于轻量级。总结了一下需求其实很简单,就是从一个非常大的矩阵中(无法一次性加载到内存),每次会随机通过文章编号得到其tfidf向量(矩阵的一行数据)。发现嵌入式数据库Berkeley DB可以很好的满足我的需求。只要把文章编号看成key,tfidf向量看成data,就可以利用Berkeley ...

2010-10-10 21:07:27 146

高效程序员的45个习惯笔记(1)

  最近电视剧,电影,动画片看腻了,便买了本《高效程序员的45个习惯》来读。至于为什么买这本书而不买其它书呢,我想主要原因是最近项目组开始了某些SCRUM。在这笔记中我想我一开始还只是把书上的一些建议抄下来。算是给自己一个加深映像吧。也不怎么准备发表过多的自己的看法,毕竟经验有限,也提不出太多的建议。好了,开始吧。一、做事不良习惯:出了问题,第一重要的是确定元凶。找到那个白痴!一旦...

2010-09-25 20:15:01 83

原创 base64 encode/decode

下载至http://www.ernzo.com/

2010-09-05 14:01:16 75

原创 解决Ubuntu下音乐播放器Rhythmbox乱码问题

1、进入用户文件夹   cd ~ 2、编辑用户环境 sudo gedit .profile在打开的文件中添加: export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030 export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030 3、保存重启系统。重新导入音乐列表这时几乎所有文...

2010-08-08 13:37:06 122

原创 ictclas算法相关的中文论文

三份pdf

2010-07-08 20:32:17 141

原创 Linux下让eclips支持gbk

最近为了研究一个开源项目,发现自己的eclips无法支持其编码(gbk),于是在网上找了很久,都发现要修改什么系统的编码配置文件,在于本人比较懒,不到迫不得已不会去动系统文件,于是再找,终于找到两篇有用的文章,一篇是关于在vim的配置文件~/.vimrc中加上:set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936,就可以使vim支持GBK。另...

2010-07-04 23:44:13 104

原创 mysql在linux上的安装

今天花了近一天的时间来安装mysql,终于在最后成功了。真是太折腾人了。至于为什么选用source code来安装而不选用rpm,主要是在网上查到rpm不能指定安装目录,这是我不喜欢的。首先下载mysql-5.1.46.tar.gz-yum remove mysql //删除CentOS上自带的老版本mysql-groupadd mysql-useradd -g mysql mys...

2010-05-10 20:54:07 70

空空如也

空空如也

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

TA关注的人

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