活着的死人 发表于 2015-1-18 11:22:51

Linux教程之一个交换成绩仓酷云

要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。
明天碰着一个交换成绩:必要把全体接口中呈现的一个链接改成另外一个链接。固然链接地点是保留在数据库中的,可是因为某些缘故原由,不克不及间接修正数据库中的内容,只能在衬着了局的时分再举行交换。
假如有很好的逻辑封装的话,这个成绩并非甚么难事儿,可恰好代码一团乱,弄不分明究竟哪些接口必要修正。我本盘算依托蛮力挨个文件查,但试了试发明事情量其实太年夜了,没举措只能想一想其余招儿。
最初找到的招儿就是「tcpdump」,经由过程它能够间接过滤服务器衬着的内容:
shell>tcpdump-ieth0srcport80-l-s0-w-|strings|grep-B100www.foo.com由于会见量年夜,以是经由过程一段工夫的采样,就能够捕获到尽年夜部分必要交换的内容。
不外仅仅如许还不敷,由于固然我们过滤出了有成绩的内容,可是我们其实不晓得其对应的地点是甚么,以是我们必要想举措把地点放到呼应了局里往。
假如用PHP的话,能够借助「auto_prepend_file」为一切的PHP呼应增添一个头:
<?phpheader(X-Request-URI:.$_SERVER);?>假如用Nginx的话,能够借助「add_header」为一切的呼应增添一个头:
http{add_headerX-Request-URI$request_uri;}有了这些展垫事情,再用「tcpdump」过滤内容的时分,就可以直不雅的看到地点了:
HTTP/1.1200OKServer:nginxDate:Fri,22Mar201307:50:39GMTContent-Type:text/htmlTransfer-Encoding:chunkedConnection:closeX-Powered-By:PHPX-Request-URI:<URI>找到了地点,剩下的交换就复杂了,就未几说了。这个成绩其实不难,不外假如选错了办法,那末泯灭的工夫大概会多良多,可见即使是复杂的成绩也值得深图远虑。
BTW:Nginx有一个「Substitution」模块能完成交换,但对本例而言用它有点过了。

功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。

再见西城 发表于 2015-1-20 22:52:14

学习Linux应具备的。[书籍+网络资源]

柔情似水 发表于 2015-1-27 11:44:20

请问谁有Linux的学习心得的吗?简单的说说?

乐观 发表于 2015-2-2 07:47:43

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

小妖女 发表于 2015-2-3 13:02:40

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

不帅 发表于 2015-2-9 01:46:14

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

金色的骷髅 发表于 2015-2-26 17:16:13

对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。

山那边是海 发表于 2015-3-5 22:55:01

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。

admin 发表于 2015-3-11 13:31:34

目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。

莫相离 发表于 2015-3-13 09:09:45

众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。

因胸联盟 发表于 2015-3-20 17:49:59

编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
页: [1]
查看完整版本: Linux教程之一个交换成绩仓酷云