wu

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  Linux

摘要:SHELL是一个工具程序,是用户与内核交互的接口。要清除僵尸进程,必须重启改变文件所有者:chown root filenamebash: declare -x 定义局部变量; declare -a 定义数组;`ls`和$(ls)在bash下同样。整型算术运算 ((n= $j+$k));数值比较的问题: 有2种:1.类似C语言的比较,用(())包含,比如if (( $n < 100 )) 2.用-le来比较,要用[],比如if [ $n -le 100 ], (注意空格的问题)grep 对双引号中的$变量进行展开替换,单引号不展开egrep 扩展了一些正则表达式的元字符(+?等),fgr 阅读全文
posted @ 2012-05-05 13:02 butterflydog 阅读(298) 评论(0) 推荐(0)

摘要:(已发内部论坛,重新整理转贴出来)使用Visual Studio或者Source Insight来写后台代码时,必然会遇到代码如何从windows下同步到Linux开发机中进行编译的问题。常用方法有两种,一种是在Linux下配置Samba;另一种是使用Rsync来同步。Samba毕竟是映射的网络硬盘,读写速度自然没有本机快,我个人不太喜欢直接用VS在其中工作。在Windows下安装cwRsync客户端后,将Rsync的同步脚本作为一个快捷键,添加到VS的菜单栏中(我用的是Alt+T+U),代码有修改,则能很快的同步到Linux开发机中,不过烦人的是,每次都需输入密码。通过添加ssh密钥,并正确 阅读全文
posted @ 2012-04-16 11:02 butterflydog 阅读(1653) 评论(0) 推荐(1)

摘要:标准的udp客户端开了套接口后,一般使用sendto和recvfrom函数来发数据,实际上,udp发送数据有两种方法供大家选用的:方法一:socket----->sendto()或recvfrom()方法二:socket----->connect()----->send()或recv().(此时sendto,recvfrom仍可用)从定义可以看出,sendto和recvfrom在收发时指定地址,而send和recv则没有,那么他们的地址是在那里指定的呢,答案就在于connect函数。在udp编程中,如果你只往一个地址发送,那么你可以使用send和recv,在使用它们之前用co 阅读全文
posted @ 2012-03-20 18:52 butterflydog 阅读(362) 评论(0) 推荐(0)

摘要:转载( http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/?ca=drs-tp4608)简介:Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Pro 阅读全文
posted @ 2012-03-15 17:13 butterflydog 阅读(178) 评论(0) 推荐(0)

摘要:Linux下Daemon进程示例。将进程ID写入到文件中,并对文件加锁,确保只有一个daemon进程在运行。此外,有信号处理函数示例。(备注:参考大名鼎鼎的 APUE中示例,整理而出 :))#include <iostream> using namespace std; //TO BE ADDED #include <fcntl.h> #include <errno.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <sign 阅读全文
posted @ 2012-03-11 20:58 butterflydog 阅读(224) 评论(0) 推荐(0)

摘要:#include <iostream> #include <string> #include <errno.h> #include <iconv.h> using namespace std; //Linux下 GB2312和UTF8转换接口 class CUtilTools { public: CUtilTools(){}; ~CUtilTools(){}; //iInLen的长度不包括\0,应该用strlen。返回值是处理后的sOut长度 static int Utf8ToGb2312(char *sOut, int iMaxOutLen,. 阅读全文
posted @ 2012-03-10 16:23 butterflydog 阅读(662) 评论(0) 推荐(0)

摘要:遇到一个问题:要将一个指定长度的char数组的图片数据通过网络传输,但是所使用的网络数据协议是字符类型的。所以char图片数组里有可能含有\0等字符,会影响到数据的解码。这是就用到了Base64算法。先来看一下Base64的介绍(http://zh.wikipedia.org/wiki/Base64)在MIME格式的电子邮件中,base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。使用时,在传输编码方式中指定base64。使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。完整的base64定义可 阅读全文
posted @ 2011-12-21 14:06 butterflydog 阅读(247) 评论(0) 推荐(0)

摘要:1. 从http://code.google.com/p/googletest/ 下载最新的安装文件,我的是gtest-1.6.0.zip 2. 解压: unzip gtest-1.6.0.zip 3. 安装使用: 从1.5.0版本开始,放弃使用make install,来安装。我们可以根据README文件里的内容来了解安装方法。 快速开始:进入make目录,直接make,看到生成了sample1_unittest文件,执行一下看看结果吧! 在samples文件夹下有一些示例,耐心看一下,很容易就学会使用了。4. 附录:我的测试环境 在我的用户目录建立文件夹:gtest_dir,将gtest安 阅读全文
posted @ 2011-11-23 17:20 butterflydog 阅读(622) 评论(0) 推荐(0)

摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0最近对这三个webserver进行学习,总结一下他们各自在Ubuntu10.04LTS下的安装配置。一、Apache1.官网下载httpd-2.2.17.tar.bz22.官方说明文档里有详细的编译安装过程,摘录如下(部分做了修改)解压 $tarxvfhttpd-2.2.17.tar$cdhttpd-2.2.17配置 $./configure--prefix=PREFIX编译 $make安装 $makeinstall配置 $viPREFIX/conf/httpd.conf测试 $ 阅读全文
posted @ 2011-06-06 17:04 butterflydog 阅读(175) 评论(0) 推荐(0)

摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0VMwareWorkstation提供三种基本的网络连接模式:bridged,networkaddresstranslation(NAT),host-onlynetworking,此外,还允许用户自定义的网络设置。下面就这三种基本的网络连接模式和一些常用的术语进行一些说明,这些说明是从VMwareWorkstation(版本为7.0.1build-227600)的帮助文件中翻译而来,英文原文请参考其帮助文件ConfiguringaVirtualNetwork的CommonNetw 阅读全文
posted @ 2011-03-11 21:06 butterflydog 阅读(357) 评论(0) 推荐(0)

摘要:Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 ... 阅读全文
posted @ 2010-10-25 22:44 butterflydog 阅读(200) 评论(0) 推荐(0)

摘要:Normal 0 false 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 ... 阅读全文
posted @ 2010-10-19 15:56 butterflydog 阅读(168) 评论(0) 推荐(0)

摘要:# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# lsmod # 列出加载的内核模块# env # 查看环境变量资源# free -m # 查看内存使用量和交换区使用量# df -h # 查看各分区使用情况# du -sh # 查看指定目录的大小# grep MemTotal /proc/meminfo # 查看内存总量# grep 阅读全文
posted @ 2010-09-14 09:53 butterflydog 阅读(157) 评论(0) 推荐(0)

摘要:1.配置上网在虚拟机中设置NetworkAdapter的属性为NAT;打开Windows网络连接,查看VMare网卡VMnet8的IP地址,例如为:192.168.83.1进入虚拟机,输入ifconfig命令查看其IP地址,并记录下来,确保其和VMnet8的在同一网段。例如若Ubuntu的IP地址为192.168.83.125,网段为192.168.83.*,应保证VMnet8的地址为192.168.83.12.支持g++命令对于无法用sudoapt-get命令进行安装的情况,用浏览器:http://packages.ubuntu.com/lucid/,进入该地址,查找相应的软件包进行下载,然 阅读全文
posted @ 2010-07-31 16:43 butterflydog 阅读(190) 评论(0) 推荐(0)