`
文章列表
原文见:http://heikezhi.com/2011/06/19/swiss-army-knife-of-unix-debugging-lsof/ 这是“你应该知道的Unix和Linux命令”系列的第三篇,在这篇文章中,我会介绍lsof这个工具,如果说netcat是进行网络诊断的瑞士军刀,那么lsof就是Unix调试的瑞士军刀。 Lsof是遵从Unix哲学的典范,它只做一件事情,并且做的相当完美——它可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,Socket流,网络Socket,UNIX域Sock ...
如果你曾经花了许多时间在Unix命令行上,那么或许你已经见过xargs了,如果你还没听过xargs,那就先让我来解释下,xargs是一个从标准输入或许参数并执行命令的程序。 常见使用 我常常见到将find和xargs组合使用以对find返回的文件列表执行某些操作。 更新:根据Twitter和hacker news上的反馈,find是个很强大的命令,它自己也有-exec和-delete这样的参数可以用来执行命令和删除文件,尽管如此,如果你对find的这些选项不太了解,或是想不起来-exec那古怪的语法,那么你还是可以使用更为简单的xargs,并且xargs在效率上也更胜一筹。 递归查找所有 ...
SSH有很多非常酷的特性,如何它是你每天的工作伴侣,那么我想你有必要了解以下16条高效使用SSH的秘籍,它们帮你节省的时间肯定会远远大于你用来配置它们的时间。 1. 多条连接共享 如果你需要在多个窗口中打开到同一个服务器的连接,而不想每次都输入用户名,密码,或是等待连接建立,那么你可以配置SSH的连接共享选项,在本地打开你的SSH配置文件,通常它们位于~/.ssh/config,然后添加下面2行: ControlMaster auto ControlPath /tmp/ssh_mux_%h_%p_%r 现在试试断开你与服务器的连接,并建立一条新连接,然后打开一个新窗口,再创建一条连接,你 ...
转载请标明出处: http://fuliang.iteye.com/blog/1136669 第一部分 Hadoop 分布式的编程框架 第一章 Hadoop 简介 1、philosophy: move-code-to-data,适合数据密集性应用。 2、SQL database VS Hadoop:    1) SCALE-OUT INSTEAD VS SCALE-UP    2) Key/value对 VS 关系表:无结构、半结构数据 VS 结构化的数据    3)函数式编程(MapReduce) VS 声明式编程(SQL):hive can map the sql to the job ...
转载请标明出处: http://fuliang.iteye.com/blogs/1141293 内容系统需要做分类、抽取等的评测工具,这个工具每次评测的对象需要的字段不一样,可以是一项或多项内容结合的评估。我们希望能够动态定义这些评测的字段,并且这些字段供给ExtJS的表格展现。 ExtJS所consume的JS格式非常固定,所以需要转化成这种固定的格式才能正确展现。所以我们对评估对象targets定义了几个固定的字段id,url,version和动态定义的评测字段evaljson的json字符串。 引用 id |          url          |               ...
今天偶然看了一下,一个运行了多年的电子合同系统,一直有人抱怨的近百种的合同模板和程序维护,发现这么多年竟然一直使用强迫计算机让人一样的方式做事情:合同每个模板开发一套复杂的程序,将存在数据库的合同数据的每一个字段,输出到对应表格的位置上,生成pdf的合同文件,打印,维护这近百套合同的程序可是件费力不讨好的事情。 这个事情明显是分不清楚人擅长做什么事情,计算机擅长做什么事情导致的。这件事情其实非常容易解决的事情,或许只需要100行代码就可以解决的事情,结果耗费了大量的人力物力数月。 人擅长填写表格,如果每个表格我们做一下标注,那么标注100个合同表格最多不用一天的时间,而计算机很容易统一处理标 ...
在Java中我们可以使用Runtime.getRuntime().exec();来和系统交互。这个API过于底层,exec返回一个代表进程的对象,然后从中读取执行结果或者错误信息。并且如果不关心进程的输出,而没有把输入结果重定向到/dev/null,超过输出结果的buffer就会阻塞。 scala.sys.process提供了shell的和系统交互的DSL,包括执行命令、逻辑操作、重定向、管道等操作。 使用!来执行外部命令: "find project -name *.jar" ! 如果没有参数,直接输出到标准输出或者标准错误输出 你可以传递Logger参数给! ...
转载请标明出处:http://fuliang.iteye.com/blog/1127437 我们抓取的网页抽取的结果是带有日期的文件,经常需要操作某个日期范围的文件,来进行统计,抽样,入库,所有需要一个方便的DSL来处理这件事情。 我们希望制定几个条件就可以得到符合条件的文件,比如: data_set = CrawlerDataSet.with_cond do |cond| cond.dir("/mydir"). from_date("2011-05-01"). to_date("20 ...
转载请标明出处:http://fuliang.iteye.com/blog/1122051 公司的蜘蛛抓取的内容一个记录是以TAB分割的各个字段的值,并且随着各种分类得分、正文静态得分策略的添加,版本不断的演变。每次做抽样、分析、分类语料等文本处理都需要写一些样板式的代码,并且得到wiki查找指定版本每个字段的位置。构建一个好的DSL来自动处理这件事情能够省去很多重复的操作,只需要关注要处理的事情即可。 我们想提供简单自然的API来做事情,我们常用的需求有: 1、每次版本变更几乎不需要修改代码、只需要添加配置文件,比如新版本增加一个 travel_confidence,我们不需要修改代码就可以 ...
转载请标明出处:http://fuliang.iteye.com/blog/1122008 经常需要从网上抓取一些需要的内容做成语料,供分类使用。所以需要一个灵活的抓取、抽取程序-自己的DSL来做这件事,这样每次只需要写几行代码就能得到需要的内容。比如我比较希望以下几行代码就能把我的博客的内容给抓下来: crawler = Crawler.new 1.upto(10) do |pn| urls = [] crawler.fetch "http://fuliang.iteye.com/?page=#{pn}" do |page| ...
在笔记本安装Ubuntu11.04增强功能失败 引用 fuliang@fuliang-VirtualBox:~$ sudo /etc/init.d/vboxadd setup Removing existing VirtualBox DKMS kernel modules ...done. Removing existing VirtualBox non-DKMS kernel modules ...done. Building the VirtualBox Guest Additions kernel modules The headers for the current running ke ...
删除安装所有的gem: gem list | cut -d" " -f1 | xargs gem uninstall -aIx
转载请标明出处: http://fuliang.iteye.com/blog/1071157 高性能的索引策略 创建正确的索引和恰当的使用它,对查询的性能起到关键的作用。我们已经介绍了各种不同的索引的能力和弱点。下面我们将介绍索引的威力所在。 有很多的创建和选择使用索引的有效方式,因为有很多特殊情况的优化和特殊行为。 孤立列 如果你不将索引列孤立出来,MySQL通常无法用到索引。"孤立"一列意思是它不能是表达式的 一部分或者在函数中。 比如: SELECT actor_id FROM sakila.actor WHERE actor_id + 1 = 5; SEL ...
awk getline开始一直用做按行读取文件。 getline还有其他一些比较好用的功能,他可以集成shell命令,而不使用system就可以 做到: 比如想删除一个文件a里面按行存放的文件名得所有文件,那么在awk里面可以使用: awk '{cmd="rm "$0|getline} a 下面是转自:http://bbs.chinaunix.net/thread-108596-1-1.html 的一些用法介绍: 1、getline用法简介: getline 是awk里用于输入重定向的一个函数,他可以从标准输入/一个管道/文件读取输入, 而不只是从当前被处理的文件来处理, ...
国外著名高校的公开课,对字幕进行了翻译,感觉不错: http://so.v.163.com/movie/listpage/listprogram1/pl2/%BC%C6%CB%E3%BB%FA/default/fc/ot/default/1.html 最近在看 斯坦福大学公开课 :机器学习
Global site tag (gtag.js) - Google Analytics