上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页
摘要: Linux 下shell基本上默认是 bash, 下面是我总结的一些技巧。 &  后台运行程序 ()   使用子shell, 比如 (cd ../../commlib/; make) $()  命令替换,和 ``的作用是一样的 <(命令)  把命令的输出到一个临时文件 << HereDoc 使用举例: 比如你要在 s... 阅读全文
posted @ 2011-02-12 12:05 napoleon_liu 阅读(5196) 评论(2) 推荐(1) 编辑
摘要: 在Unix系统下,维护源码版本可以使用很多方法,其中最常用的当然是大名鼎鼎的CVS,但实际上,简单的版本维护工作并没有必要使用复杂的CVS等专门的版本维护工具,Unix标配中的diff和patch工具就完全可以完成代码的简单备份和升级工作。 diff以"行"为单位比较两个文本文件(也可以是目录比较),并将不同之处以某种格式输出到标准输出上;patch可以读入这种输出,并按照一定指令使源文件(目录)按照目标文件(目录)更新。Linux内核源码就是按照这种方式保持更新的,我们在www.kernel.org上可以下载到最新内核的patch文件的bzip2包。本文以gnudiffutils 2.7和 阅读全文
posted @ 2011-01-31 11:53 napoleon_liu 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.ibm.com/developerworks/cn/linux/l-cn-screen/ 你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者... 阅读全文
posted @ 2011-01-30 10:42 napoleon_liu 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/ 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。 nohup/setsid/& 场景: 如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢? hangup 名称的来由 在 Unix 的早期版本中,每个终端都会通 阅读全文
posted @ 2011-01-30 10:31 napoleon_liu 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 简介 ctags − Generate tag files for source code ctags 最先是用来生成C代码的tags文件,后来扩展成可以生成各类语言的tags, 有些语言也有专有的tags生成工具(比如java的jtags, python的 ptags). ctags 生成的 tags文件可用于 vi 来做代码导航和 vi的onmicppcomplete 插件来做代码补全。 ctags -e生成的 TAGS文件可以用于 emacs. 技巧 最简单使用是 : ctags –R . -R 表示递归子目录, 这个命令的意思就是为 当前目录下和其子目录下的文件建立索引( 索引只包 阅读全文
posted @ 2011-01-23 23:33 napoleon_liu 阅读(15991) 评论(0) 推荐(2) 编辑
摘要: 引 C++0x把 auto 关键字改成了 自动类型声明关键字。 比如: mapstring, mapint, vectorstring ::const_iterator it = c.begin(); 可以写成 auto it = c.begin(); 因为类型可以从 c.begin()推导,所以前面的类型声明是重复的。DRY(Don't Repeat Yourself) gcc 4.4 就开始支持这 C++ 0x特性, Visual C++ 2010也支持。 现实 但我们平时使用的 gcc 很多版本都还很低,这该怎么办呢? 方案 gcc 扩展 typeof 帮你忙 阅读全文
posted @ 2011-01-19 09:47 napoleon_liu 阅读(450) 评论(1) 推荐(1) 编辑
摘要: vim 是程序员的编辑器,是编辑器之神。 不过vim的学习曲线太陡了,记得有个人说过,vi要坚持使用一年,少一天的不行,到最后一天你就会有质变,成为高手。 各编辑器的学习曲线 所以vim要天天学,天天练, 介绍几个键盘图,方便工作时看。 学习一个工具最好的方式是学会查看帮助 :help cmd (插入模式的命令是 i_, 命令模式的 c_前缀, v_前缀的是可视模式) : helpgrep key... 阅读全文
posted @ 2011-01-16 10:13 napoleon_liu 阅读(1143) 评论(0) 推荐(0) 编辑
摘要: 前两天在网上看到世界知名的电骡服务器Razorback 2被查封、4人被拘禁的消息,深感当前做eMule / BitTorrent等P2P文件交换软件的不易。以分布式哈希表方式(DHT,Distributed Hash Table)来代替集中索引服务器可以说是目前可以预见到的为数不多的P2P软件发展趋势之一,比较典型的方案主要包括:CAN、CHORD、 Tapestry、Pastry、Kademlia和Viceroy等,而Kademlia协议则是其中应用最为广泛、原理和实现最为实用、简洁的一种, 当前主流的P2P软件无一例外地采用了它作为自己的辅助检索协议,如eMule、Bitcomet、Bi 阅读全文
posted @ 2011-01-11 23:47 napoleon_liu 阅读(1057) 评论(0) 推荐(0) 编辑
摘要: 一、影响Linux服务器性能的因素1. 操作系统级Ø CPU Ø 内存Ø 磁盘I/O带宽Ø 网络I/O带宽2. 程序应用级二、系统性能评估标准影响性能因素评判标准好坏糟糕CPUuser% + sys% 70%user% + sys%= 85%user% + sys% =90% 内存Swap In(si)=0Swap Out(so)=0Per CPU with 10 page/sMore Swap In & Swap Out磁盘iowait % 20%iowait % =35%iowait % = 50% 其中: %user:表示CPU处在用户模式下的时间百分比。 %sys:表示CPU 阅读全文
posted @ 2011-01-11 19:27 napoleon_liu 阅读(1110) 评论(0) 推荐(1) 编辑
摘要: php, apache, perl, bsddb都使用time33哈希. 最简单的版本     uint32_t time33(char const *str, int len)     {         uint32_t  hash = 0;         for (int i = 0; i len; i++) {             hash = hash *33 + (unsi... 阅读全文
posted @ 2010-12-31 14:39 napoleon_liu 阅读(249) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页