'计算机' 分类的存档

html里title属性换行的方法

今天在写插件时,需要在一段字符的title属性里加入一大段文字。字符串本身用UNIX行尾符LF换行。我直接输出字符串,发现在IE和Firefox下都可以显示出断行。

<div title="123
456">text</div>

不过,Firefox的Html Validator扩展报了错。在网上搜了一圈,这里提到:

The (X)HTML DTDs define the contents of the title attribute as CDATA for which the W3C states:
User agents should interpret attribute values as follows:

  • Replace character entities with characters,
  • Ignore line feeds,
  • Replace each carriage return or tab with a single space.

大概的意思是,XHTML DTD定义title属性为一个CDATA,而根据SGML里CDATA的定义,浏览器应该:替换所有html实体;忽略LF字符;替换所有CR字符和tab字符为一个空格。

按照W3C的说法,执行这3步后,所有的CR和LF字符已经他们的html实体都已消失或变成空格了。看起来在title里换行变成不可能的事了。不过,Firefox好像并没有转换CR字符为空格,而是把CR给忽略了。而LF字符倒是没有被处理,直接换行了。上面的代码,不用UNIX行尾符LF,而是用Mac行尾符CR,在IE下还能换行,但是在Firefox下,CR字符直接被忽略了。我还是很想通过W3C的验证,所以做了一下测试,使用LF字符或者LF的html实体& #10;都是可以的。网上流传说可以用CR的html实体& #13;,其实只是IE中可以,Firefox下一样不行。如果不追求符合W3C,那还不如直接把字符串转成UNIX行尾符输出呢。

<div title="123& #10;456">text</div>

还有,title里有小于号和单引号好像并不要紧,但是有双引号就不行了。这么说来,把字符串里的换行和双引号给替换一下输出就行了?唉,复杂复杂,晕了。这里有一个介绍这方面问题的页面,不过没太看懂。

发现CR的全称是Carriage Return,Carriage是字车的意思,Carriage Return意思是字车复位。LF的全称是Line Feed,喂进一行,就是新起一行的意思。这起源于打字机时代,每打到一行的末尾,打字员要手工把字车推回第一列,字车复位后,纸会上升一行。所以就有了ASCII码值为13的CR和ASCII码值为10的LF两个字符。而DOS和Windows下文本文件的新行用CR和LF两个字符表示,UNIX下用LF,Mac下用CR。呼,这些资料大概在上个世纪我就知道了,不过一直记不住两个字符的ASCII码是多少,现在复习一遍,这下我应该能记住了。[via]

P.S. 好像C++里"\n"在Windows下输出CRLF,在UNIX下输出LF,而"\r"输出CR。PHP里是"\n"输出的是LF,"\r"输出的是CR。[via]

Delay in C++

今天想找一个可以在C++里让程序暂停一段时间的方法。找到这篇《Time Delay in C++》,文中提到,Windows下可以用Sleep()函数或者QueryPerformanceCounter()函数。这两个函数都是Windows API。

Sleep()函数还算好用,我在Dev-C++里试了一下,使用Sleep(1000);这样的代码就可以让程序暂停1秒钟。当然,要在程序开头加上#include <windows.h>#include <winbase.h>

还看到有文章说,UNIX下要用小写的sleep()

电信114为何能进入IE

偶然间看到月光博客的这篇《断网后的互联星空的浏览器挟持》。文章说在2006年12月26日台湾地震导致海缆中断事件后,访问www.bloglines.com时,会进入电信114的搜索页面。我最近在我所用的站点统计网站——51yes里看到,来自电信114的搜索有很多,仅次于Google和百度。(2006年12月,百度:8715、Google:4831、电信114:1691、Google.cn:1639)我觉得,电信114肯定早已存在,只是51yes最近来开始统计来自电信114的搜索而已。鉴于我从2006年3月已经很少使用Maxthon,更不用说IE了,所以我一直没有注意到这个情况。一时兴起,打开IRIS,想看一下电信114是怎样进入每个人的IE的。

打开IRIS,开始sniff;打开IE,输入"asdfghjkl",回车。到IRIS里停止sniff,查看IRIS的Decode项。很明显,在IE地址栏输入"asdfghjkl"回车后,IE首先尝试把它当作URL进行连接,在发现地址有错误的时候,比如不是合法的URL,或者域名解析不到IP,IE将转入搜索状态,去msn网站搜索这个字符串。IE首先连接"http://auto.search.msn.com/response.asp?MT=asdfghjkl&srch=4&prov=&utf8"这个地址,显然这是MSN搜索网站。返回的结果是:"HTTP 302, http://keyword.vnet.cn/kw?k=asdfghjkl"。然后,IE再连接"http://keyword.vnet.cn/kw?k=asdfghjkl",返回:"HTTP 302, http://search.114.vnet.cn/search_web.html?kw=asdfghjkl&fm=kw"。然后IE再连接这个电信114的搜索地址,显示搜索页面。(意外发现,居然存在www.asdfghjkl.com这样一个网站)

当输入的是一个域名的时候,比如"www.bloglines1.com","http://auto.search.msn.com/response.asp?MT=www.bloglines1.com&srch=4&prov=&utf8"返回的是:"HTTP 302, http://keyword.vnet.cn/errhint.html?kw=www.bloglines1.com",这样就会进入提示域名输入错误的页面。

显然,电信114之所以能进入IE,不是因为中文版Windows里带的,也不是因为安装了电信的ADSL带的,也不是因为安装电信ADSL时装的电信的星空极速拨号软件带的,而是电信和微软进行的合作。电信114搜索页面上写的也很明显,“技术提供:Windows Live”,而且缓存页面的链接也指向MSN的缓存页面。

再来看看DNS查询的结果,深圳电信DNS服务器:ns.szptt.net.cn上,auto.search.msn.com:218.30.64.194;keyword.vnet.cn:218.30.64.194;search.114.vnet.cn:218.30.64.193。香港DNS服务器ns1.netvigator.com上,auto.search.msn.com:63.150.131.16, 63.150.131.43。IP地址都一样,呵呵,这说明,只要你的IE的地址栏搜索没有关闭,而且你用的电信的DNS服务器,就跑不了会连上电信114网站。

防止进入电信114网站的方法嘛,正如月光博客所说,在Internet选项中选择“不从地址栏中搜索”即可。或者,来用Firefox吧,hoho

台湾地震震断了海底光缆

早上上网发现国外的网站都上不去了,包括DreamHost,Bloglineswordpress.orgwordpress.org.cn(位于BlueHost)。Firefox状态栏的气象信息总是提示连接超时。位于国外的WatchThatPage报告我的Blog无法访问。看来出国和进来都有问题。

现在知道出了问题要上cnBeta看消息了。cnBeta上说,昨晚台湾地震震断了海底光缆,中国的出国光缆都断掉了。早上《南方都市报》说台湾7.2级地震震中位于海上靠近台湾岛的位置,福建广东有震感,佛山中山一带都有强烈震感。唔,8点26分,我正在超市买菜呢,一点感觉都没有,失落。

OK,紧急预案启动,停用FeedBurner转向插件,http://yskin.net/feed/不再返回HTTP 307转向,起码抓虾,狗狗和国内的GreatNews可以正常读取feed。

不知道海底光缆有紧急预案没有?走韩国、日本、新马泰、俄罗斯、欧洲,都可以呀。还有,台湾地震影响台湾和香港,可是上海出去的光缆影响不到啊,怎么会台湾一地震,整个国内都不能访问出国呢?光缆一断,大陆和台湾的出国访问都断掉了,我这里只有Google的几个服务,包括Gmail和Google Calendar访问不受影响,其他的要么超时,要么几分钟都打不开。这事大了啊,不知道光缆要多久才能修好,要是停几天,那可怎么受得了。

互联网,就互联的这么脆弱?

Update:看cnBeta上说,5次地震,8条光缆中断,光缆修复可能需要一个月。[via,via2]另外,Google因为在国内有服务器,所以影响不大,而Yahoo经过调整,在中国大陆访问已经正常了。还有最重要的MSN,这个N多人用的IM工具,它不能登陆会影响不少人。大家都来用Google Talk吧,哈哈。另外,估计上海那边还有一些出国线路是好的,不过现在估计也被挤爆了。各大骨干路由器的路由表可能还没来得及调整,我tracert www.ibm.com,到202.97.61.50就断了,这是一个上海的IP啊。前几天说要弄一台全球域名根服务器放在中国,现在,恐怕DNS解析要受一些影响,特别是DNS服务器在国外的域名。

这下爽了,我们就这么被彻底的GFW了。脆弱呀,一个7.2级地震就可以让我们不互联了,电信真该多拿点钱投在硬件建设上啊。

小小Flash作品

今天无意中看到一个人收集了全套的小小Flash。记得2003年看过一些小小的Flash,当时小小已经成名已久了。当年好像只看了小小的第2、3、4号Flash,并没有找到其他的几部。今天在第5号里看到了小小的网站:http://www.xiaoxiaomovie.com/。网站里有小小的8部作品,不过主页和作品页面的最后更新日期分别是2004年6月和2003年3月。小小作品是刚有Flash这个东西的年代的经典作品,当时Flash刚刚兴起,刚有“闪客”这个词,网上大多Flash都是Flash MTV,比较好的Flash则是小小的几个Flash,还有台湾的阿贵系列,showgood的大话三国系列,还有讦谯龙唱的那些歌,以及后来韩国的Flash,比如流氓兔,Mr Boombastick。

00年以前,上学放学的路上,路过一些音像店(更准确的说,磁带店),听上一两句歌。再加上春晚,那是当时接触新歌的主要方式。01开始买《网友世界》,当时是从第一期开始买的,以后每个月都有买。每期的光盘里都会有很多Flash MTV,这是我当时接触新歌的一个主要方式。02年开始上网,不过时间被网游占去不少。04年不再买《网友世界》了,深圳音乐电台变成了一个主要方式。而现在,也不常听广播了,又回到了以前,走在街上偶尔听到的一两句。不过现在先进了,可以拿歌词上网Google,哈哈。当然,还有一个好办法,那就是在Kugoo里,抓几个人来,查看他们的所有歌曲,依次虑一遍,能得到不少好歌。

遗憾的是,到现在我还没研究过Flash,一次也没玩过。不过也没什么,我还不会Word和PowerPoint呢,哈哈。

ClockLink——从网络读取时间的Flash时钟

今天找开源软件和自由软件区别的资料,偶然间看到这里有一个Flash时钟。一般的Flash时钟都是读取本地的时间显示的,而我的机器时间比正确时间快了10分钟,所以一眼看出,这个Flash时钟是从网络读取时间进行显示的。这可是个好东西啊,某人抱着对大多数人电脑上时间不对的深切痛惜,一直想在自己的Blog上显示当前的正确时间,无奈技术不行,只能用PHP把时间显示出来,却不会用JavaScript让时间动起来。当然,这根本用不着,现在的Windows XP都有网络校时功能,可以定期修正时间。不过这个Flash时钟还是让我很感兴趣。

继续阅读《ClockLink——从网络读取时间的Flash时钟》

PieTTY——基于PuTTY的SSH客户端

一直用Windows自带的telnet程序登陆DreamHost的shell,不过Telnet连接中,用户名和密码是明文传输的。这年头,World Wide Web都诞生15年了,HTTP协议也有了使用SSL连接的HTTPS,FTP和Telnet之类的老协议也有相应的加密连接版本。FTP对应的是SFTP,Serv-U支持,不过好像没多少人用。Telnet对应的是SSH(Secure Shell)。Windows自带的telnet程序不支持SSH协议,找了一下,最有名的就属基于PuTTYPuTTYPieTTYPieTTY了。PieTTY给PuTTY加了个图形界面,又增加了很多设置选项。整个程序就一个文件,下载下来运行即可。连上我的DreamHost shell,感觉速度比telnet快很多。telnet使用的是23端口,SSH使用的是22端口。或许大家都用telnet,少有人用SSH。又或者,SSH协议在加密传输的时候顺便进行了压缩。我把编码方式设置成UTF-8,这样在python命令行里输入的汉字就不再是GB18030而是UTF-8编码的了。
程序有英文和繁体中文两种界面,在我的Windows XP SP2里,繁体中文菜单的显示没问题,其他地方比如对话框就会乱码。程序支持阴影,支持透明,支持Glass Window Mode,就是不显示程序的边框、标题栏和菜单。

以前用telnet,在python命令行里,如果一条命令输错了就麻烦了,因为左右键、后退键、删除键都没有用,按下后只会出现些乱七八糟的字符。在选项里面乱调了一圈,每个选项都依次试一试,最终后退键盘正常了,还有bash里可以用HOME键了。另外只要选中一段文字,这些文字就会自动复制到剪贴板,再点一下右键,文字就从剪贴板里粘贴过来了,比起Windows命令行方便些。

只不过,软件的设置都保存在注册表,唉,不绿色呀。

或许可以开始玩玩BBS了,比如传说中的ptt,hoho

Update:今天可以登陆cPanel了,把密码改了一下,以后可以享受加密的生活咯。

Claim Feed in Bloglines

今天看到这篇文章里提到的在Bloglines里认领自己的feed的功能,顺着他的提示找到车东《find me: bloglines》

Bloglines提供的这个功能挺不错的,不过6月30号就出了这个功能,却好像没多少人提起过,看来用的人很少啊。进入Bloglines,点页面右上角的"Account",再点击"Publisher Tools",即可进入"Claim Feed"页面。点"Begin Claim"按钮,填入自己Blog的地址,点下一步,Bloglines就会在数据库中搜索出所有指向这个Blog地址的feed,列表显示出来。选择要认领的feed,点下一步,Bloglines会给出两个字符串,一个Claim Key,类似<!-- ckey="4E9CFF29" -->这样,要求发到一篇新的Blog文章里,以便feed里收入这个key;一个user key,类似<!-- ukey="7A0BED31" -->这样,要求写入Blog模版,以便输出到Blog首页里。这两步做好了以后,点击"Verify My Claim"按钮,Bloglines服务器将对这两项进行检查,如果检查通过,这个feed你就成功认领了。

我的Blog地址搜出来4个,用keso的地址(http://blog.donews.com/keso/)试了下,好像可以搜出来很多呀。除了我自己用的评论feed,我的Blog的feed总共有3个订阅地址。大概看了一下,3个地址的Bloglines订阅数分别是:

feed地址 bl订阅数
http://feeds.feedburner.com/Yskin 17
http://yskin.net/feed/ 11
http://yskin.net/feed/atom/ 2

而在FeedBurner后台里,显示Bloglines的订阅数为13。

3个地址都验证过以后,即可对他们进行管理。正如"Claim Feed"页面上方说明部分所说,你可以修改feed的Description部分,修改feed的标识图片和图标(Favicon),设置是否允许Ask.com和Bloglines搜索这个feed。最重要的是,你可以设置这个feed为另一个feed的副本。比如,我想让大家都订阅http://yskin.net/feed/这个地址,我就将另外两个地址设置成这个地址的副本。设置好以后,回到Bloglines,我原先订阅的http://feeds.feedburner.com/Yskin这个地址已经自动改成新的地址了。

明天再过来看效果,这下,以前用FeedBurner转向插件后的遗留问题终于给解决了。看Bloglines的新闻里说,"If you set up a 301 redirect, Bloglines will automagically set that feed as a duplicate to the new feed after a week or two."FeedBurner转向插件以前用的是302,是在.htaccess文件里利用MOD_REWRITE重定向的,2.1版以后用的是307。看来不用301是对的,要是用了,feed订阅地址就全转向FeedBurner烧录过的地址了。

车东的文章里说,抓虾也有类似的功能,不过要手工给管理员提交申请。唉,真麻烦呀。刚去抓虾看了一下,我的原始feed有34个订阅,FeedBurner烧录的有22个,另外RSS 0.92和atom还有分别有三个和两个,而FeedBurner只认了28个。希望抓虾也能尽快完善这方面的功能呀。

Blog系统(比如WordPress),为了兼容各种RSS Reader,提供了RSS 0.92, RSS 2.0, Atom三种feed输出。后来,我们又因为流量,以及为了feed地址固定,而使用FeedBurner烧录feed,让大家都订阅烧录过的feed。再后来,因为怕FeedBurner被封,我们又用FeedBurner转向插件,把3个原始feed地址转向到FeedBurner,这样可以在被封以后立刻停止转向,避免因feed地址变换而损失用户。现在,我们要处理订阅者分别订阅4个feed的问题,希望所有人都只订阅那个RSS 2.0的原始feed。唉,这个小小的feed咋这么麻烦呢。

Update:Bloglines的订阅数已经更新了,现在是17+11+2=30个。FeedBurner那边也更新了。不过,Bloglines的30个完全比不上抓虾的34+22+3+2=61个。抓虾在最近开始读取feed的任何更新,不再象以前那样只读取初始文章而不管文章更新了。这样好,除了GFW的问题不能读取Technorati的feed以外,抓虾和Bloglines也没什么区别了。

Wikipedia也有解封的一天

中文维基百科10万条目今天在风言疯语之IT罗盘那里看到:中文Wikipedia解封了。原来其他语言的Wikipedia早已解封,中文维基百科现在也解封了。试了一下,中文维基百科果然可以访问了,就是速度还是有点慢。中国大陆地区访问Wikipedia都是连接到Wikipedia设在韩国首尔的服务器211.115.107.162。刚才在百度搜索了一下,site:wikipedia.org可以搜索到76页。维基媒体基金会或许应该考虑扩充一下韩国的服务器群,以便应付大量中国网民的访问,还有疯狂的百度服务器的访问。在中文Wikipedia主页看到:“2006年11月12日,中文维基百科成为第12个拥有十万条条目的维基百科语言版本。”[via]中文维基百科的logo也换成了庆祝达到100,000条目的logo。(虽然做的有点粗糙,呵呵)唔,难道这次解封是对十万条目的献礼?

中文维基百科从2005年10月被封到现在,整整一年多了。期间说过很多次解封,但愿这次是真的。以后写wiki再不用偷偷摸摸的了。现在中文维基百科条目数已超过十万,不过还比不上英文Wikipedia的148万条目。这次解封以后,应该会有更多的大陆网民开始写Wikipedia。虽然Wikipedia还是有一些问题,尤其是英文Wikipedia里问题更严重。发表在纽约客的《Wikipedia之狂想》一文中介绍了一些,我也在后面写了一些对中文维基百科的看法。不过,虽然有这样那样的问题,Wikipedia还是在持续发展着。我们可以提出Wikipedia的不足,甚至不看好这一模式,不过我们不能否认那么多维基人做出的这些成就。也许一些条目写的不怎么样,不过还是不可否认Wikipedia上一些好的条目给我们带来了很多帮助。我们中文维基百科前面还有11位,分别是:英语、德语、法语、波兰语、日语、荷兰语、意大利语、葡萄牙语、瑞典语、西班牙语与俄语。争取能早日赶上他们。

刚才上去编辑了一下WordPress条目。发现这个条目在这几个月被编辑过几次,看来WordPress还是有很多人关心的。在英文Wikipedia中WordPress条目的讨论页里看到一句话:"Did you notice how Wikipedia and Wordpress's favicons are similar ? :D"[via]哈哈,还真象耶:Wikipedia;WordPress

到我的pac文件里把wiki的几个域名都删除了,呼。这几个域名原来在第一行,现在第一行变成blogger.com了,另外还有BBC,还有最近新加的Technorati和flickr,我的pac文件还是很长啊,555~~

Update:上午11点,编辑了一个条目,写好点修改一下,就突然就上不去了。等了半个小时,一直连不上,nc连接立刻返回,看来又是被发了reset信号了。不过很奇怪的是,Wikipedia所在的211.115.107.162被封了,upload.wikimedia.org所在的211.115.107.163却没被封。改了一下hosts文件,把中文英文维基百科的域名全指向美国的IP:66.230.200.100,访问就正常了。真是○○××

Update2:下午两点,好了,速度还很快嘞。

Update3:又封咯,哈哈。zh.wikipedia.org不行了,upload.wikimedia.org还行,显然是被封了IP。66.230.200.100也连不上,够狠,TNND。

Linux的nohup命令

昨晚在DreamHost的shell里wget了一个文件,想传到我的ftp上,却又急着回家吃饭。用ftp命令put上去,一断开连接,传输就停止了。觉得Windows都有at命令,Linux应该有定时执行的功能吧。上网查了一番,找到这篇活用Linux的后台任务,原来只要在命令后面加上&符号就可以让任务在后台运行了。不过,这只是让任务在后台执行,断开连接一样会被结束掉。又找到这篇《用nohup命令让Linux下程序永远在后台执行》,介绍了nohup命令和ncftpput程序。于是用了这么一条命令:

nohup ncftpput -u yskin -p *** ftp.server.com /wwwroot 123.zip&

执行后,用jobs命令查看到他正在运行,然后用exit命令退出shell,ftp到我的ftp服务器上,发现文件大小在不停地增加。今天早上上网,发现文件已经传完了。自己睡觉让机器干活,真爽!

好像jobs命令只能显示当前连接中的job,退出后再telnet进去就显示不出来了。另外有一个小发现,ftp服务器上的文件时间被设置过了,看来ncftpput程序会自动设置上传文件的时间呀,我用过的ftp客户端好像都没有这样的功能,以后有空要查一查。

Update:今天特别有兴趣研究这个问题:怎样在ftp里修改FTP服务器上远程文件时间。ncftpput的帮助里有一条"-y Try using 'SITE UTIME' to preserve timestamps on remote host."好像是利用"SITE UTIME"命令来修改远程文件时间的。在网上查到说:Not many remote FTP servers support this, so it may not work.试了一下,我的两个FTP服务器都不支持这条命令,晕倒,Serv-U都不支持。无奈,去ncftp官网把NcFTP Client的源代码下了下来,直接用WinRAR搜索"UTIME",找到c_utime.c文件,里面写的很清楚了,先尝试用"SITE UTIME"命令修改,不行再用MDTM命令修改。试了一下,用ftp命令登陆,敲入quote MDTM 20060101000000 filename,修改成功,bingo.

另外,我还查到PHP里可以用touch()touch()函数修改文件的最后修改时间,和Linux里的touch命令名字一样,hoho

Update2:好像我的FTP服务器上的Serv-U FTP Server v6.0和yskin.net上的vsFTPd 2.0.3都支持MDTM命令,而DreamHost的ProFTPD 1.3.0rc2 Server不支持MDTM命令。So,只能telnet上去,用touch命令改咯。

Update3:Kirin Lin大大推荐使用Linux的screen程序。去Google找了一圈,找到《使用 Screen 看管不适合“无人看管”的终端软件》《Unix/Linux 工具: Screen 命令使用》。这个工具就相当于在shell里再运行一个shell,就像登陆shell,然后输入bash命令,或者Win+R->cmd进Windows命令行提示符后再输入cmd回车一样。只不过,这个新的shell可以随时暂停,而且登出shell后它还在运行,下次还能再登陆进去。

命令很简单,screen -S test即可建立一个叫test的screen,可以在这个screen里运行程序,假设我运行python:

[burns]$ python
Python 2.5 (r25:51908, Nov 23 2006, 19:51:08)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

好吧,我承认我是在炫耀刚在DreamHost上安装的Python 2.5,具体安装过程在这里有详细描述。

这时,按下Ctrl+a,再按下d键,这是显示"[detached]",表示断开了这个screen。然后,我们用screen -ls命令查看一下

[burns]$ screen -ls
There is a screen on:
        1906.test       (Detached) 1 Socket in /var/run/screen/S-yskin.

显示有一个已经断开连接的screen。输入exit,退出shell,然后再telnet进去。键入screen -ls命令,可以发现我可爱的叫test的screen仍然乖乖的躺在那儿。只要DreamHost主机不重启,这个screen应该一直存在吧。输入screen -r test可以重新连接上这个screen(因为我给了它个名字叫test,否则就必须记住1906这个号码咯),我的python还在。按下Ctrl+D退出python,再输入exit就可以退出这个screen,屏幕上会显示"[screen is terminating]"。唔,terminating,这个词好耳熟啊,昨天看《终结者Ⅲ》时好像听过。

Windows命令行提示符和Linux的bash可以进很多层,不过退出时要输入一层一层输入exit退出。呃,试着在一个screen里再开一个screen,按Ctrl+A->D退出,会直接退出第一层screen。用screen -ls命令查看,可以看到第一层已经断开了,第二层还连着。不知道如果开好多层,然后用-D命令强制停止中间的某一层有什么结果,嘿嘿。

才学了几天Linux,发现Linux真好玩,比DOS好玩多了。

Update3:用nohup命令,可以直接在后台运行命令。如果用screen,在一个screen里的时候,即使telnet断线,在登陆上去,切换进screen,还能进入断线前的页面。不过,如果用ncftpput命令,那么命令执行完之后,screen并不会关闭。DOS下有个&符号,可以相继运行几个命令。(Windows应该是&,纯DOS下应该是Ctrl+T吧)在Linux试了一下,&符号好像表示的是同时运行多个命令,以多线程的方式运行。所以,ncftpput还在运行,这边screen已经退出了,screen打开的bash进程也停了。不过这个ncftpput还能继续运行下去,直到上传完文件才自行关闭,好玩的很。而|和<还有>是管道符号。刚才因为输错了命令,偶然间发现一个符号:分号;。分号间隔的命令可以相继运行。在screen里输入ncftpput ... ;exit,等ncftpput上传完文件,这个screen就自动关闭了,hoho

还学了两个命令:ps -e查看进程,kill -9 +进程号强行关闭进程。