socat|半卷使用socat进行端口转发沈觅仁技术打火机1commentsocat是一个多功能的网络工具,名字来由是”SOcketCAT”,因此可以看出它基于socket,能够折腾socket相关的无数事情。当然这些都不是我关心的重点。我发现并尝试使用socat的原因可以参看此前的一次端口转发的尝试,本文的重点是介绍一下我对socat的使用心得,以及折腾了一个小时的GENTOO版socat服务脚本。为了表示对网络先驱的尊重,首先贴参考文章:《PortFo
系统 2019-08-12 01:32:31 2271
0,:g/null/d找到null的行并且删掉1,简单替换表达式替换命令可以在全文中用一个单词替换另一个单词::%s/four/4/g“%”范围前缀表示在所有行中执行替换。最后的“g”标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可如果你有一个象“thirtyfour”这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用“\<”来指定匹配单词开头::%s/\显然,这样在处理“fourt
系统 2019-08-12 01:32:27 2271
指令集是CPU体系架构的重要组成部分。C语言的语法是对解决现实问题的运算和流程的方法的高度概况和抽象,其主要为算术、逻辑运算和分支控制,而指令集就是对这些抽象的详细支持,汇编仅仅只是是为了让开发者更好地记住指令,但它跟CPU所认的机器码事实上是一一相应的,因此汇编也是低级语言。CPU的指令运行一般包含取指、译码和运行,这是经典的三级指令运行流水线,教科书上往往以这三种过程来描写叙述,arm7也是。可是现代的CPU设计往往使用更广泛使用的5级流水线,也就是分
系统 2019-08-12 01:33:31 2270
父/子使用父/子方法时,每一行都包含对父级的引用。下表定义了一个用于在父/子关系中包含父行和子行的典型表:复制代码USEAdventureWorks2008R2;GOCREATETABLEParentChildOrg(BusinessEntityIDintPRIMARYKEY,ManagerIdintREFERENCESParentChildOrg(BusinessEntityID),EmployeeNamenvarchar(50));GO针对一些常见操作
系统 2019-08-12 01:33:13 2270
有许多情况下,我们需要查看一个进程当前打开了哪些文件,反过来我们也希望知道某一个文件正在被哪些进程所读写。在Linux下有许多有用的工具可以帮我们完成这两个工作,下面介绍这两个工具:lsof与fuser。fuserfindfilesorsockets'user格式:fuser[选项]fname-k如果找到打开文件的进程,则发送SIGKILL杀死此进程,通过-i选项,可以为用户提供交互选择-signal用户可以指定使用何种信号去kill进程,如果-k参数指定
系统 2019-08-12 01:33:07 2270
在Linux使用GCC编译C语言共享库对任何程序员来说库都是必不可少的。所谓的库是指已经编译好的供你使用的代码。它们常常提供一些通用功能,例如链表和二叉树可以用来保存任何数据,或者是一个特定的功能例如一个数据库服务器的接口,就像MySQL。大部分大型的软件项目都会包含若干组件,其中一些你发现可以用在其他项目中,又或者你仅仅出于组织目的将不同组件分离出来。当你有一套可复用的并且逻辑清晰的函数时,将其构建为一个库会十分有用,这样你就不将这些源代码拷贝到你的源代
系统 2019-08-12 01:33:02 2270
http://blog.csdn.net/ruglcc/article/details/7874076zieckey(zieckey@yahoo.com.cn)线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/
系统 2019-08-12 01:32:54 2270
作者:马路遥日常工作中,我们经常需要在多台硬件完全相同的电脑上安装同样的Linux,尤其是在做集群应用或互为备份的数据库服务器的时候。笔者是兼职Linux教师,出于讲课的需要,经常要在硬件配置完全相同的电脑上为学生安装多达十台或更多的Linux系统。如果使用最常见的CDROM安装方式,恐怕一次就要用掉一天的时间。而采用Kickstart安装方式,大约60分钟就全部安装完毕了。Kickstart是RedHat发展的快速定制安装方式,可以让电脑按照事先设计好的
系统 2019-08-29 23:16:58 2269
Linux一直试图在桌面操作系统上与Windows一决高低,但是多年来赢取的市场份额非常有限。事实证明,除去PC桌面,Linux还有很多可以争取的市场空间。随着近期,诺基亚Maemo与英特尔Moblin项目合并后推出MeeGo操作系统,谷歌Android操作系统在智能手机市场取得的进展,这些基于Linux平台的自由软件接连迸发,无疑都让人欢欣鼓舞。同时,KDE这个14年来伴随着Linux走进普通用户电脑桌面的图形桌面,也迎来了革命性的时刻。在2010年,K
系统 2019-08-29 22:05:11 2268
众所周知的是,vim的代码是Bram用patch的方式维护的,一种典型的集约式管理,虽然edyfox在https://vim.svn.sourceforge.net/svnroot/vim维护了svn版本,但这也只是导入CVS的内容而已,别人无法往里面加入代码,问题是,当你想开发一系列试验性功能时,没法直接在vim的svn仓库上工作(比如创建分支),而只能用自己的版本管理仓库。这便造成了一个显然的维护问题,以我自己为例,vim-cocoa的代码原本使用co
系统 2019-08-12 01:33:34 2268
SQOOP的安装配置_Linux伊甸园开源社区-24小时滚动更新开源资讯,全年无休!SQOOP是一款开源的工具,主要用于在HADOOP与传统的数据库间进行数据的传递,下面从SQOOP用户手册上摘录一段描述SqoopisatooldesignedtotransferdatabetweenHadoopandrelationaldatabases.YoucanuseSqooptoimportdatafromarelationaldatabasemanagemen
系统 2019-08-12 01:33:25 2268
Linux的编译使用GNUmake工具来检查整个系统的文件和调用gcc工具以及脚本完毕编译源码生成image等操作。要了解整个编译系统,我们首先要了解Linux内核的Makefile文件。Linux的编译系统包含5个部分Makefile顶层的Makefile文件.config内核配置文件arch/$(ARCH)/Makefile平台Makefile文件scripts/Makefile.*脚本规则kbuildMakefiles大概500多个其它的Makefi
系统 2019-08-12 01:32:38 2268
From:http://blog.csdn.net/cutesource/article/details/5635044一、进程控制:fork创建一个新进程clone按指定条件创建子进程execve运行可执行文件exit中止进程_exit立即中止当前进程getdtablesize进程所能打开的最大文件数getpgid获取指定进程组标识号setpgid设置指定进程组标志号getpgrp获取当前进程组标识号setpgrp设置当前进程组标志号getpid获取进程
系统 2019-08-12 01:32:13 2268
原文:SSMS2008插件开发(4)--自定义菜单打开上次的项目MySSMSAddin中的Connect类,发现该类继于了两个接口:IDTExtensibility2和IDTCommandTarget,关于这两个接口的详细说明,请点击这两个接口转到MSDN。IDTExtensibility2接口有2个重要的方法:OnConnection和OnDisconnection。OnConnection表示当(宿主)SSMS加载外接程序的时候调用此接口,可以在此方法
系统 2019-08-12 01:31:58 2268
手机无疑是继PC以后,最有市场潜力的终端,所有IT(甚至还有家电)制造商都不希望再犯当年IBM和APPLE对PC的判断失误。Google作为Nasdaq第一高价股,在资本市场的风光无限缘于其源源不断的创新能力,以及对既有技术垄断的挑战。大家都知道,Google是一家不怎么使用微软技术的高科技公司,由于其产品线对微软的针对性(比如Gmail对Hotmail、Gtalk对MSN),在国外高举反微软垄断大旗和开源的大环境下,Google越来越被看成微软的最大对手
系统 2019-08-29 23:28:32 2266