20110124

人有失手,继续命令行下的电驴

人有失手,继续命令行下的电驴

劳动的一个含义,就是做起来令人不爽,所以才有意义,而不仅是爽。

而令人不爽的主要来源,一是重复性工作,另一个就是你的工作白做了,要修改
或者重做。

今天颠颠连到ZHUMAO的机器上,看看下载的任务们如何了。

发现好多都暂停了。再一查,原来磁盘空间不足。

不能啊,两块2T硬盘。基本没装啥呢。

再仔细一看,上次疏忽,没有设置下载的文件都存哪,在默认的路径下呢。那是
一个小硬盘。

调整开始了。

处理amule暂停临时文件都换到u1目录下

改配置文件

nohup amuled -f --config-dir=/u1/young_emule/.aMule/

logfile仍然/home/young/.aMule/logfile,未找到定制的方法。

然后发现了一个问题,在没有GUI的时候,如何开始这些已经暂停了的任务呢?

应该在amulecmd下,resume B347DDB8198069C9BBA3A768F3D9AB1A。
后面那一大段乱糟的数字(部分是十六进制,故也是数字),是HASH。可以理解
为任务的唯一标识。

可是暂停的任务N多,一个一个来可累得很。

* 导出要resume的hash

amulecmd --password="amule" --command="show dl" > go.sh

* sftp 下载go.sh到本地

要下载到本地的原因是,我本地有利器。称EMACS,而远程的机器上似乎没有。
即使有,估计反应也略慢。

* 写成这样的脚本

go.sh中有所有的HASH,还有很多别的。
我想去芜取精,去掉文件名,下载状态等,再添油加醋,变成下面这样。

: amulecmd --password="amule" --command="resume
B347DDB8198069C9BBA3A768F3D9AB1A"

很多行。其体的说,250行。我想你还记得这个吉利的数字。

这一修改工作,需要
隔一行删除一行
重复250次。

这就是令人不爽的第二种情况,重复性工作。

可喜的是,如果一个工作需要做上N多遍,估计前人就遇到过这种问题。

这就是历史的好处。也是人类要立文字的好处。不必把你带到现场去看。

总之,emacs中有一个好功能,叫做 宏。这个名字实在不怎么高雅。它深刻地表
明了计算机科学家们的人文素养。以后还会有N多事例证明这一点,在此不赘述。

宏的名字一般,功用之大却能给人留下深刻的印象。凡有这功能的,都可称一代
神器了。

比如WORD,由于有宏,所以WORD文档可以中宏病毒。宏语言能支持做出来病毒,
这告诉我们,它能够实现很多强大的功能。

比如UltraEdit,windows下的著名编辑器,能二进制能文本,可高度,支持折
叠,就差能上山下海了。当年韩老师看到UltraEdit支持宏,迅速地就学会并完
成了一个贼老大的批处理。韩老师然后对UltraEdit的宏赞叹有加。

想一代强人能赞叹并充分利用的东西,就是好东西了。你想想子龙之赞长枪,吕
布之赞画戟,韩老师之赞UltraEdit的宏,类此。

为了显示我厉害,大家一般把UltraEdit昵称为UE。与UO齐名,或更有名。

Emacs也支持宏。

* Emacs宏

C-x ( 开始录制宏

C-x ) 结束录制宏

C-x e 测试执行一次

C-u 0 C-x e 执行到文件尾

然后用块删除去头去尾,只留下一大片HASH;
然后又祭起宏这一利器,在HASH块前面加了250个
: amulecmd --password="amule" --command="resume
后面加了250个
: "
然后把go.sh上传到ZHUMAO的服务器上;
然后执行。

然后事情就成了。

No comments: