<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/podcast2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/jtnet" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/jtnet" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 27 Dec 2011 02:06:07 GMT</lastBuildDate><title>今天，你在做什么？</title><description>互联网行业管理与商务模式的点滴记录</description><link>http://www.jt.net.cn</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Tue, 27 Dec 2011 02:06:07 GMT</pubDate><item><title>如何在linux下加密shell</title><link>http://www.jt.net.cn/2011/12/%e5%a6%82%e4%bd%95%e5%9c%a8linux%e4%b8%8b%e5%8a%a0%e5%af%86shell/</link><content:encoded>&lt;div&gt;如何在linux下加密shell&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;加密shell程序&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;shc是一个加密shell程序的自由软件，它的作用是把shell程序通过C语言转换为一个可执行的二进制文件。&lt;br /&gt;
shc工具的下载地址：&lt;br /&gt;
&lt;a href=&quot;http://www.datsi.fi.upm.es/%7Efrosal/&quot; target=&quot;_blank&quot;&gt;http://www.datsi.fi.upm.es/~frosal/&lt;/a&gt;&lt;br /&gt;
目前最新版本是shc-3.8.6.tgz ，下载到系统后，安装执行：&lt;/p&gt;
&lt;p&gt;# tar xzvf shc-3.8.6.tgz&lt;/p&gt;
&lt;p&gt;# cd shc-3.8.6&lt;/p&gt;
&lt;p&gt;# mkdir -p /usr/local/man/man1&lt;/p&gt;
&lt;p&gt;这步是必须的，不然安装过程中会报错，shc将安装命令到/usr/local/bin/目录下；将帮助文档存放在/usr/local/man/man1/目录下，如果系统中无此目录，安装时会报错，可创建此目录后再执行安装：&lt;/p&gt;
&lt;p&gt;# make install&lt;/p&gt;
&lt;p&gt;这是要回答yes或者y，不能直接回车，否则会报错&lt;br /&gt;
使用方法：shc -f script-name&lt;/p&gt;
&lt;p&gt;“-f”选项指定需要加密的程序，若要将shell程序script.sh加密，执行：&lt;/p&gt;
&lt;p&gt;# shc -f script.sh&lt;/p&gt;
&lt;p&gt;如果要查看执行过程中详细信息，可以添加选项“-v”。执行完成后将产生两个文件：“script.sh.x.c”和“script.sh.x”，命令shc首先通过shell程序生成其C语言的源代码“script.sh.x.c”，然后对它进行编译生成加密后的可执行的二进制文件“script.sh.x”，运行“script.sh.x”可以看到此程序执行结果：&lt;/p&gt;
&lt;p&gt;另shc还提供了一种设定有效执行期限的方法，可以首先使用shc将shell程序转化为二进制，并加上过期时间，如：&lt;/p&gt;
&lt;p&gt;# shc -e 18/10/2006 -m &quot; It’s too late to run this script &quot; -f script.sh&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一种方法(gzexe)：&lt;br /&gt;
&lt;/strong&gt;这种加密方式不是非常保险的方法，但是能够满足一般的加密用途，可以隐蔽脚本中的密码等信息。&lt;br /&gt;
它是使用系统自带的gzexe程序，它不但加密，同时压缩文件。&lt;br /&gt;
使用方法:&lt;br /&gt;
gzexe file.sh&lt;br /&gt;
它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件；&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二种方法(shc)：&lt;/strong&gt;&lt;br /&gt;
使用 shc 对 Linux shell 脚本加密.&lt;br /&gt;
shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件，这个办法很好的解决了脚本中含有IP、密码等不希望公开的问题.&lt;br /&gt;
shc的下载地址:&lt;br /&gt;
&lt;a href=&quot;http://www.anyside.com/linux/shc-3.8.tgz&quot; target=&quot;_blank&quot;&gt;http://www.anyside.com/linux/shc-3.8.tgz&lt;/a&gt;&lt;br /&gt;
安装:&lt;br /&gt;
tar zxvf shc-3.8.tgz&lt;br /&gt;
cd shc-3.8&lt;br /&gt;
make test&lt;br /&gt;
make&lt;br /&gt;
make test&lt;br /&gt;
make strings&lt;br /&gt;
make install&lt;br /&gt;
使用方法:&lt;br /&gt;
shc -r -f script-name&lt;br /&gt;
运行后会生成两个文件,script-name.x 和 script-name.x.c.   其中script-name.x是加密后的可执行的二进制文件；用./script-name即可运行，script-name.x.c是生成 script-name.x的原文件(c语言).&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/590875600/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/%e5%a6%82%e4%bd%95%e5%9c%a8linux%e4%b8%8b%e5%8a%a0%e5%af%86shell/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/12/%e5%a6%82%e4%bd%95%e5%9c%a8linux%e4%b8%8b%e5%8a%a0%e5%af%86shell/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>如何在linux下加密shell &amp;#160; 加密shell程序 shc是一个加密shell程序的自由软件，它的作用是把shell程序通过C语言转换为一个可执行的二进制文件。 shc工具的下载地址： http://www.datsi.fi.upm.es/~frosal/ 目前最新版本是shc-3.8.6.tgz ，下载到系统后，安装执行： # tar xzvf shc-3.8.6.tgz # cd shc-3.8.6 # mkdir -p /usr/local/man/man1 这步是必须的，不然安装过程中会报错，shc将安装命令到/usr/local/bin/目录下；将帮助文档存放在/usr/local/man/man1/目录下，如果系统中无此目录，安装时会报错，可创建此目录后再执行安装： # make install 这是要回答yes或者y，不能直接回车，否则会报错 使用方法：shc -f script-name “-f”选项指定需要加密的程序，若要将shell程序script.sh加密，执行： # shc -f script.sh 如果要查看执行过程中详细信息，可以添加选项“-v”。执行完成后将产生两个文件：“script.sh.x.c”和“script.sh.x”，命令shc首先通过shell程序生成其C语言的源代码“script.sh.x.c”，然后对它进行编译生成加密后的可执行的二进制文件“script.sh.x”，运行“script.sh.x”可以看到此程序执行结果： 另shc还提供了一种设定有效执行期限的方法，可以首先使用shc将shell程序转化为二进制，并加上过期时间，如： # shc -e 18/10/2006 -m &quot; It’s too late to run this script &quot; -f script.sh &amp;#160; 第一种方法(gzexe)： 这种加密方式不是非常保险的方法，但是能够满足一般的加密用途，可以隐蔽脚本中的密码等信息。 它是使用系统自带的gzexe程序，它不但加密，同时压缩文件。 使用方法: [...]&lt;img src=&quot;http://www1.feedsky.com/t1/590875600/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/%e5%a6%82%e4%bd%95%e5%9c%a8linux%e4%b8%8b%e5%8a%a0%e5%af%86shell/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>linux</category><category>ubuntu</category><category>shell</category><category>加密</category><pubDate>Tue, 27 Dec 2011 10:06:07 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/12/%e5%a6%82%e4%bd%95%e5%9c%a8linux%e4%b8%8b%e5%8a%a0%e5%af%86shell/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=139</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/12/%e5%a6%82%e4%bd%95%e5%9c%a8linux%e4%b8%8b%e5%8a%a0%e5%af%86shell/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/590875600/6922877</fs:itemid></item><item><title>windows环境下给ruby安装mysql驱动</title><link>http://www.jt.net.cn/2011/12/windows%e7%8e%af%e5%a2%83%e4%b8%8b%e7%bb%99ruby%e5%ae%89%e8%a3%85mysql%e9%a9%b1%e5%8a%a8/</link><content:encoded>&lt;p&gt;如果是linux环境安装可以到&lt;/p&gt;
&lt;p&gt;http://tmtm.org/en/ruby/mysql/&lt;/p&gt;
&lt;p&gt;下载&lt;/p&gt;
&lt;p&gt;http://tmtm.org/en/ruby/mysql/ruby-mysql-0.2.6.tar.gz&lt;/p&gt;
&lt;p&gt;解压后&lt;br /&gt;
% ruby ./setup.rb&lt;br /&gt;
% ruby ./test.rb hostname user passwd&lt;br /&gt;
# ruby ./install.rb&lt;/p&gt;
&lt;p&gt;如果你的mysql.sock不在 /tmp/mysql.sock 这个位置，需要改改setup.rb&lt;/p&gt;
&lt;p&gt;**********************************************&lt;br /&gt;
windows环境下麻烦点&lt;br /&gt;
装好ruby后下载 mysql-2.8.1-x86-mswin32.gem&lt;br /&gt;
去这个网址http://rubyforge.org/projects/mysql-win&lt;br /&gt;
我用的是http://files.rubyforge.vm.bytemark.co.uk/mysql-win/mysql-2.8.1-x86-mswin32.gem&lt;br /&gt;
安装：gem install mysql-2.8.1-x86-mswin32.gem&lt;br /&gt;
ruby1.8.7版安装失败了，原因不明，换成1.9.1（rubyinstaller-1.9.1-p129-preview1.exe）的安装正常&lt;br /&gt;
gem install mysql-2.8.1-x86-mswin32.gem&lt;/p&gt;
&lt;p&gt;成功之后写个测试文件&lt;br /&gt;
=========================&lt;br /&gt;
require 'mysql'&lt;br /&gt;
dbh = Mysql.real_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;, &quot;a_com&quot;,3306)&lt;br /&gt;
puts dbh.class&lt;br /&gt;
=========================&lt;br /&gt;
运行后返回mysql就正常啦&lt;/p&gt;
&lt;p&gt;参考：&lt;br /&gt;
下载 Ruby *RubyInstaller 的网站我这里无法访问&lt;/p&gt;
&lt;p&gt;http://www.ruby-lang.org/zh_cn/downloads/&lt;/p&gt;
&lt;p&gt;可以用迅雷下载这个地址&lt;/p&gt;
&lt;p&gt;http://rubyinstaller.org/downloads/rubyinstaller-1.9.1-p129-preview1.exe&lt;/p&gt;
&lt;p&gt;Ruby 1.9 + Rails 2.3.3 + MySQL 5.0 环境搭建，Windows平台上&lt;/p&gt;
&lt;p&gt;http://blog.csdn.net/spanzhang/article/details/4510871&lt;/p&gt;
&lt;p&gt;ruby 的资源都可以在　 http://rubyforge.org/ 搜索到。&lt;br /&gt;
在主页右上角搜索，选择&quot;Software/Group&quot;，输入&quot;软件名称&quot;，点击&quot;Search&quot;按钮。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/589408083/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/windows%e7%8e%af%e5%a2%83%e4%b8%8b%e7%bb%99ruby%e5%ae%89%e8%a3%85mysql%e9%a9%b1%e5%8a%a8/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/12/windows%e7%8e%af%e5%a2%83%e4%b8%8b%e7%bb%99ruby%e5%ae%89%e8%a3%85mysql%e9%a9%b1%e5%8a%a8/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>如果是linux环境安装可以到 http://tmtm.org/en/ruby/mysql/ 下载 http://tmtm.org/en/ruby/mysql/ruby-mysql-0.2.6.tar.gz 解压后 % ruby ./setup.rb % ruby ./test.rb hostname user passwd # ruby ./install.rb 如果你的mysql.sock不在 /tmp/mysql.sock 这个位置，需要改改setup.rb ********************************************** windows环境下麻烦点 装好ruby后下载 mysql-2.8.1-x86-mswin32.gem 去这个网址http://rubyforge.org/projects/mysql-win 我用的是http://files.rubyforge.vm.bytemark.co.uk/mysql-win/mysql-2.8.1-x86-mswin32.gem 安装：gem install mysql-2.8.1-x86-mswin32.gem ruby1.8.7版安装失败了，原因不明，换成1.9.1（rubyinstaller-1.9.1-p129-preview1.exe）的安装正常 gem install mysql-2.8.1-x86-mswin32.gem 成功之后写个测试文件 ========================= require 'mysql' dbh = Mysql.real_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;, &quot;a_com&quot;,3306) puts dbh.class ========================= 运行后返回mysql就正常啦 参考： 下载 Ruby *RubyInstaller 的网站我这里无法访问 http://www.ruby-lang.org/zh_cn/downloads/ 可以用迅雷下载这个地址 http://rubyinstaller.org/downloads/rubyinstaller-1.9.1-p129-preview1.exe [...]&lt;img src=&quot;http://www1.feedsky.com/t1/589408083/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/windows%e7%8e%af%e5%a2%83%e4%b8%8b%e7%bb%99ruby%e5%ae%89%e8%a3%85mysql%e9%a9%b1%e5%8a%a8/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>mysql</category><category>ruby</category><pubDate>Wed, 21 Dec 2011 18:13:13 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/12/windows%e7%8e%af%e5%a2%83%e4%b8%8b%e7%bb%99ruby%e5%ae%89%e8%a3%85mysql%e9%a9%b1%e5%8a%a8/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=136</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/12/windows%e7%8e%af%e5%a2%83%e4%b8%8b%e7%bb%99ruby%e5%ae%89%e8%a3%85mysql%e9%a9%b1%e5%8a%a8/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/589408083/6922877</fs:itemid></item><item><title>SSH远程会话管理工具 – screen使用教程</title><link>http://www.jt.net.cn/2011/12/ssh%e8%bf%9c%e7%a8%8b%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7-screen%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b/</link><content:encoded>&lt;p&gt;在刚接触Linux时最怕的就是SSH远程登录Linux VPS编译安装程序时网络突然断开，或者其他情况导致不得不与远程SSH服务器链接断开，远程执行的命令也被迫停止，只能重新连接，重新运行。相信现在有些VPSer也遇到过这个问题，今天就给VPSer们介绍一款远程会话管理工具 - &lt;a href=&quot;http://www.vpser.net/manage/screen.html&quot; target=&quot;_self&quot;&gt;s&lt;/a&gt;creen命令。&lt;/p&gt;
&lt;h2&gt;一、screen命令是什么？&lt;/h2&gt;
&lt;p&gt;Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念，用户可以在一个screen会话中创建多个screen窗口，在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。&lt;/p&gt;
&lt;h2&gt;二、如何安装screen命令？&lt;/h2&gt;
&lt;p&gt;除部分精简的系统或者定制的系统大部分都安装了screen命令，如果没有安装，CentOS系统可以执行：&lt;strong&gt;yum install screen&lt;/strong&gt; ；&lt;/p&gt;
&lt;p&gt;Debian/Ubuntu系统执行：&lt;strong&gt;apt-get install screen&lt;/strong&gt; 。&lt;/p&gt;
&lt;h2&gt;三、screen命令使用方法？&lt;/h2&gt;
&lt;h3&gt;&lt;strong&gt;1、常用的使用方法&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;用来解决文章开始我们遇到的问题，比如在安装lnmp时。&lt;/p&gt;
&lt;h4&gt;1.1 创建screen会话&lt;/h4&gt;
&lt;p&gt;可以先执行：&lt;strong&gt;screen -S lnmp&lt;/strong&gt; ，screen就会创建一个名字为lnmp的会话。 VPS侦探 http://www.vpser.net/&lt;/p&gt;
&lt;h4&gt;1.2 暂时离开，保留screen会话中的任务或程序&lt;/h4&gt;
&lt;p&gt;当需要临时离开时（会话中的程序不会关闭，仍在运行）可以用快捷键Ctrl+a d(即按住Ctrl，依次再按a,d)&lt;/p&gt;
&lt;h4&gt;1.3 恢复screen会话&lt;/h4&gt;
&lt;p&gt;当回来时可以再执行执行：&lt;strong&gt;screen -r lnmp&lt;/strong&gt; 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了，或者当时没有指定会话名，可以执行：&lt;strong&gt;screen -ls&lt;/strong&gt; screen会列出当前存在的会话列表，如下图：&lt;br /&gt;
&lt;a href=&quot;http://www.vpser.net/uploads/2010/10/screen-ls.jpg&quot; rel=&quot;lightbox[134]&quot;&gt;&lt;img title=&quot;screen-ls&quot; src=&quot;http://www.vpser.net/uploads/2010/10/screen-ls.jpg&quot; alt=&quot;&quot; width=&quot;344&quot; height=&quot;117&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;11791.lnmp即为刚才的screen创建的lnmp会话，目前已经暂时退出了lnmp会话，所以状态为Detached，当使用screen -r lnmp后状态就会变为Attached，11791是这个screen的会话的进程ID，恢复会话时也可以使用：&lt;strong&gt;screen -r 11791&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;1.4 关闭screen的会话&lt;/h4&gt;
&lt;p&gt;执行：&lt;strong&gt;exit&lt;/strong&gt; ，会提示：[screen is terminating]，表示已经成功退出screen会话。VPS侦探 http://www.vpser.net/&lt;/p&gt;
&lt;h3&gt;2、远程演示&lt;/h3&gt;
&lt;p&gt;首先演示者先在服务器上执行 &lt;strong&gt;screen -S test&lt;/strong&gt; 创建一个screen会话，观众可以链接到远程服务器上执行&lt;strong&gt;screen -x test &lt;/strong&gt; 观众屏幕上就会出现和演示者同步。&lt;/p&gt;
&lt;h3&gt;3、常用快捷键&lt;/h3&gt;
&lt;p&gt;Ctrl+a c ：在当前screen会话中创建窗口&lt;br /&gt;
Ctrl+a w ：窗口列表&lt;br /&gt;
Ctrl+a n ：下一个窗口&lt;br /&gt;
Ctrl+a p ：上一个窗口&lt;br /&gt;
Ctrl+a 0-9 ：在第0个窗口和第9个窗口之间切换&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310441/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/ssh%e8%bf%9c%e7%a8%8b%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7-screen%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/12/ssh%e8%bf%9c%e7%a8%8b%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7-screen%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>在刚接触Linux时最怕的就是SSH远程登录Linux VPS编译安装程序时网络突然断开，或者其他情况导致不得不与远程SSH服务器链接断开，远程执行的命令也被迫停止，只能重新连接，重新运行。相信现在有些VPSer也遇到过这个问题，今天就给VPSer们介绍一款远程会话管理工具 - screen命令。 一、screen命令是什么？ Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。Screen中有会话的概念，用户可以在一个screen会话中创建多个screen窗口，在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。 二、如何安装screen命令？ 除部分精简的系统或者定制的系统大部分都安装了screen命令，如果没有安装，CentOS系统可以执行：yum install screen ； Debian/Ubuntu系统执行：apt-get install screen 。 三、screen命令使用方法？ 1、常用的使用方法 用来解决文章开始我们遇到的问题，比如在安装lnmp时。 1.1 创建screen会话 可以先执行：screen -S lnmp ，screen就会创建一个名字为lnmp的会话。 VPS侦探 http://www.vpser.net/ 1.2 暂时离开，保留screen会话中的任务或程序 当需要临时离开时（会话中的程序不会关闭，仍在运行）可以用快捷键Ctrl+a d(即按住Ctrl，依次再按a,d) 1.3 恢复screen会话 当回来时可以再执行执行：screen -r lnmp 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了，或者当时没有指定会话名，可以执行：screen -ls screen会列出当前存在的会话列表，如下图： 11791.lnmp即为刚才的screen创建的lnmp会话，目前已经暂时退出了lnmp会话，所以状态为Detached，当使用screen -r lnmp后状态就会变为Attached，11791是这个screen的会话的进程ID，恢复会话时也可以使用：screen -r 11791 1.4 关闭screen的会话 执行：exit ，会提示：[screen is terminating]，表示已经成功退出screen会话。VPS侦探 http://www.vpser.net/ 2、远程演示 首先演示者先在服务器上执行 screen -S test 创建一个screen会话，观众可以链接到远程服务器上执行screen [...]&lt;img src=&quot;http://www1.feedsky.com/t1/588310441/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/ssh%e8%bf%9c%e7%a8%8b%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7-screen%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>vps</category><category>ubuntu</category><category>会话</category><category>php</category><category>管理</category><category>使用教程</category><category>screen</category><category>远程</category><pubDate>Sat, 17 Dec 2011 16:50:21 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/12/ssh%e8%bf%9c%e7%a8%8b%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7-screen%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=134</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/12/ssh%e8%bf%9c%e7%a8%8b%e4%bc%9a%e8%af%9d%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7-screen%e4%bd%bf%e7%94%a8%e6%95%99%e7%a8%8b/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310441/6922877</fs:itemid></item><item><title>VIM 如何快速删除HTML标签里的内容</title><link>http://www.jt.net.cn/2011/12/vim-%e5%a6%82%e4%bd%95%e5%bf%ab%e9%80%9f%e5%88%a0%e9%99%a4html%e6%a0%87%e7%ad%be%e9%87%8c%e7%9a%84%e5%86%85%e5%ae%b9/</link><content:encoded>&lt;div&gt;
&lt;div id=&quot;blog_text&quot;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;di[&lt;/strong&gt; 删除一对 &lt;strong&gt;[]&lt;/strong&gt; 中的所有字符&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;di(&lt;/strong&gt; 删除一对 &lt;strong&gt;() &lt;/strong&gt;中的所有字符&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;di&amp;lt;&lt;/strong&gt; 删除一对 &lt;strong&gt;&amp;lt;&amp;gt;&lt;/strong&gt; 中的所有字符&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;di{&lt;/strong&gt; 删除一对 &lt;strong&gt;{}&lt;/strong&gt; 中的所有字符&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ffcc00; font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;dit&lt;/strong&gt; 删除一对 &lt;strong&gt;HTML/XML 的标签内部&lt;/strong&gt;的所有字符&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;di&quot;  di'  di`&lt;/strong&gt; 删除一对引号字符 (&lt;strong&gt;&quot;&lt;/strong&gt; 或 &lt;strong&gt;' &lt;/strong&gt;或&lt;strong&gt; `)&lt;/strong&gt; 中所有字符&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: medium;&quot;&gt;&lt;br /&gt;
&lt;strong&gt;举例说明：&lt;br /&gt;
&amp;lt;div&amp;gt;i am the content..please remove me...&amp;lt;/div&amp;gt;&lt;br /&gt;
现在将&amp;lt;div&amp;gt;标签里的内容删除，执行命令：dit  后， 将会得到预期的结果：&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310442/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/vim-%e5%a6%82%e4%bd%95%e5%bf%ab%e9%80%9f%e5%88%a0%e9%99%a4html%e6%a0%87%e7%ad%be%e9%87%8c%e7%9a%84%e5%86%85%e5%ae%b9/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/12/vim-%e5%a6%82%e4%bd%95%e5%bf%ab%e9%80%9f%e5%88%a0%e9%99%a4html%e6%a0%87%e7%ad%be%e9%87%8c%e7%9a%84%e5%86%85%e5%ae%b9/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>di[ 删除一对 [] 中的所有字符 di( 删除一对 () 中的所有字符 di&amp;#60; 删除一对 &amp;#60;&amp;#62; 中的所有字符 di{ 删除一对 {} 中的所有字符 dit 删除一对 HTML/XML 的标签内部的所有字符 di&quot;  di'  di` 删除一对引号字符 (&quot; 或 ' 或 `) 中所有字符 举例说明： &amp;#60;div&amp;#62;i am the content..please remove me...&amp;#60;/div&amp;#62; 现在将&amp;#60;div&amp;#62;标签里的内容删除，执行命令：dit  后， 将会得到预期的结果： &amp;#60;div&amp;#62;&amp;#60;/div&amp;#62;&lt;img src=&quot;http://www1.feedsky.com/t1/588310442/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/vim-%e5%a6%82%e4%bd%95%e5%bf%ab%e9%80%9f%e5%88%a0%e9%99%a4html%e6%a0%87%e7%ad%be%e9%87%8c%e7%9a%84%e5%86%85%e5%ae%b9/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>ubuntu</category><category>vim</category><pubDate>Thu, 08 Dec 2011 11:54:41 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/12/vim-%e5%a6%82%e4%bd%95%e5%bf%ab%e9%80%9f%e5%88%a0%e9%99%a4html%e6%a0%87%e7%ad%be%e9%87%8c%e7%9a%84%e5%86%85%e5%ae%b9/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=131</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/12/vim-%e5%a6%82%e4%bd%95%e5%bf%ab%e9%80%9f%e5%88%a0%e9%99%a4html%e6%a0%87%e7%ad%be%e9%87%8c%e7%9a%84%e5%86%85%e5%ae%b9/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310442/6922877</fs:itemid></item><item><title>天外飞仙级别的Linux Shell命令</title><link>http://www.jt.net.cn/2011/12/%e5%a4%a9%e5%a4%96%e9%a3%9e%e4%bb%99%e7%ba%a7%e5%88%ab%e7%9a%84linux-shell%e5%91%bd%e4%bb%a4/</link><content:encoded>&lt;p&gt;&lt;strong&gt;引言&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Shell作为Unix系操作系统当中最有魅力且不可或缺的组件，经过数十载的洗礼不仅没有被淘汰，而且愈加变得成熟稳健，究其原因，大概因为它是个非常稳固的粘合剂，能够把大量功能强大的组件任意配搭，总能很好很快地完成用户的任务。&lt;/p&gt;
&lt;p&gt;本文的一些命令很可能看起来是”雕虫小技”，我们只好仰慕一下Shell大牛了，但是有些细节我会稍加发掘加以说明，遇到有趣的地方希望能博您一笑了。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;1.  以SUDO运行上条命令&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;$ sudo !!&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;大家应该都知sudo，不解释。但通常出现的情况是，敲完命令执行后报错才发现忘了sudo。这时候，新手用户就会：按上箭头，按左箭头，盯着光标回到开始处，输入sudo，回车；高手用户就蛋定多了，按Ctrl-p，按Ctrl-a，输入sudo，回车。&lt;/p&gt;
&lt;p&gt;这里介绍这个是天外飞仙级别的，对，就直接sudo !!。&lt;/p&gt;
&lt;p&gt;当然这几种解决方式效果是完全一样的，只是款不一样，嗯，不解释。&lt;/p&gt;
&lt;p&gt;两 个感叹号其实是bash的一个特性，称为事件引用符（event designators）。!!其实相当于!-1，引用前一条命令，当然也可以!-2，!-50。默认情况下bash会在~/.bash_history 文件内记录用户执行的最近500条命令，history命令可以显示这些命令。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;关于事件引用符的更多用法可以深入阅读 &lt;a href=&quot;http://www.catonmat.net/blog/the-definitive-guide-to-bash-command-line-history/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #cc6600;&quot;&gt;The Definitive Guide to Bash Command Line History&lt;/span&gt;&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;2.  以HTTP方式共享当前文件夹的文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑;&quot;&gt;$ python -m SimpleHTTPServer&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;这命令启动了Python的SimpleHTTPServer模块，考虑到Python在绝大多数的Linux发行版当中都默认安装，所以这个命令很可能是最简单的跨平台传文件的方法。&lt;/p&gt;
&lt;p&gt;命令执行后将在本机8000端口开放HTTP服务，在其他能访问本机的机器的浏览器打开ttp://ip:8000即打开一个目录列表，点击即可下载。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;3.  在以普通用户打开的VIM当中保存一个ROOT用户文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;:w !sudo tee %&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;这 题目读起来纠结，其实是很常见的，常常忘记了sudo就直接用vim编辑/etc内的文件，（不过也不一定，vim发现保存的文件无法保存时候会 提示）等编辑好了，保存时候才发现没权限。曲线方法是先保存个临时文件，退出后再sudo cp回去。不过实际上在vim里面可以直接完成这个过程的，命令就是如此。&lt;/p&gt;
&lt;p&gt;查阅vim的文档（输入:help :w），会提到命令:w!{cmd}，让vim执行一个外部命令{cmd}，然后把当前缓冲区的内容从stdin传入。&lt;/p&gt;
&lt;p&gt;tee是一个把stdin保存到文件的小工具。&lt;/p&gt;
&lt;p&gt;而%，是vim当中一个只读寄存器的名字，总保存着当前编辑文件的文件路径。&lt;/p&gt;
&lt;p&gt;所以执行这个命令，就相当于从vim外部修改了当前编辑的文件，好完工。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;4.  切换回上一个目录&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;$ cd -&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;应该不少人都知道这个，横杆-代表上一个目录的路径。&lt;/p&gt;
&lt;p&gt;实际上cd -就是cd $OLDPWD的简写，bash的固定变量$OLDPWD总保存着之前一个目录的路径。&lt;/p&gt;
&lt;p&gt;相对地，$PWD总保存着当前目录的路径。这些变量在编写shell脚本时候相当有用。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;5.  替换上一条命令中的一个短语&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;$ ^foo^bar^&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;又是另外一个事件引用符（event designator），可以把上一条命令当中的foo替换成bar。&lt;/p&gt;
&lt;p&gt;在需要重复运行调试一道长长的命令，需要测试某个参数时候，用这个命令会比较实用；但多数人会首先选择按上箭头提出上道命令，再移动光标去修改某参数，这样更直观，但效率上就不够使用引用符高，而且在脚本中用这个方法可以简化很多。&lt;/p&gt;
&lt;p&gt;这道命令的原始样式应该是这样的:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;!!:s/foo/bar/&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;后面的一段大家应该很熟悉，vim、sed的替换操作都是这样的语法。&lt;/p&gt;
&lt;p&gt;关于事件引用符的更多用法可以深入阅读:  The Definitive Guide to Bash Command Line History&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;6.  快速备份一个文件&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;$ cp filename{,.bak}&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;这 道命令把filename文件拷贝成filename.bak，大家应该在一些比较复杂的安装教程里面见过这样的用法。其原理就在于bash对大 括号的展开操作，filename{,.bak}这一段会被展开成filename filename.bak再传给cp，于是就有了备份的命令了。&lt;/p&gt;
&lt;p&gt;大括号在bash里面是一个排列的意义，可以试试这个：&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;$ echo {a,b,c}{a,b,c}{a,b,c}&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;将输出三个集合的全排列:&lt;/p&gt;
&lt;pre&gt;aaa aab aac aba abb abc aca acb acc baa bab bac bba bbb bbc bca bcb bcc caa cab cac cba cbb cbc cca ccb ccc&lt;/pre&gt;
&lt;p&gt;关于shell当中的集合操作，可深入阅读”&lt;a href=&quot;http://www.catonmat.net/blog/set-operations-in-unix-shell/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #cc6600;&quot;&gt;Set Operations in the Unix Shell&lt;/span&gt;&lt;/a&gt;”&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;7.  免密码SSH登录主机&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;$ ssh-copy-id remote-machine&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;这个命令把当前用户的公钥串写入到远程主机的~/.ssh/authorized_keys内，这样下次使用ssh登录的时候，远程主机就直接根据这串密钥完成身份校验，不再询问密码了。前提是你当前用户有生成了公钥，默认是没有的，先执行ssh-keygen试试吧！&lt;/p&gt;
&lt;p&gt;这个命令如果用手工完成，是这样的：&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;your-machine$ scp ~/.ssh/identity.pub remote-machine: your-machine$ ssh remote-machine remote-machine$ cat identity.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;如果你想删掉远程主机上的密钥，直接打开authorized_keys，搜索你的用户名，删除那行，即可。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;&lt;strong&gt;8.  抓取LINUX桌面的视频&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;span style=&quot;color: #ff0000; font-family: 微软雅黑; font-size: small;&quot;&gt;$ ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg&lt;/span&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;我们在一些视频网站上看到别人的3D桌面怎么怎么酷的视频，通常就是这么来的，ffmpeg可以直接解码X11的图形，并转换到相应输出格式。&lt;/p&gt;
&lt;p&gt;ffmpeg的通常用法是，根据一堆参数，输出一个文件，输出文件通常放最后，下面解析下几个参数：&lt;/p&gt;
&lt;p&gt;-f x11grab 指定输入类型。因为x11的缓冲区不是普通的视频文件可以侦测格式，必须指定后ffmpeg才知道如何获得输入。&lt;/p&gt;
&lt;p&gt;-s wxga 设置抓取区域的大小。wxga是1366*768的标准说法，也可以换成-s 800×600的写法。&lt;/p&gt;
&lt;p&gt;-r 25 设置帧率，即每秒抓取的画面数。&lt;/p&gt;
&lt;p&gt;-i :0.0 设置输入源，本地X默认在0.0&lt;/p&gt;
&lt;p&gt;-sameq 保持跟输入流一样的图像质量，以用来后期处理。&lt;/p&gt;
&lt;p&gt;至于其他ffmpeg的用法，可以参考下面两篇文章：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.catonmat.net/blog/how-to-extract-audio-tracks-from-youtube-videos/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #cc6600;&quot;&gt;How to Extract Audio Tracks from YouTube Videos&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.catonmat.net/blog/converting-youtube-flvs-to-a-better-format-with-ffmpeg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: #cc6600;&quot;&gt;Converting YouTube Flash Videos to a Better Format with ffmpeg&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr size=&quot;2&quot; width=&quot;100%&quot; /&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: medium;&quot;&gt;&lt;strong&gt;后记&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;说 Shell是一种编程语言，可能有些尴尬，虽然很多人每天都在用Shell，但从来没见它荣登TIOBE编程语言排行榜之类的，可以说毫无名分， 因为很多用户没意识到它是一种语言，只当做这是一个能够很好完成任务的工具，基本得理所当然，就好像GUI程序的菜单、按钮一样。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;掌 握Shell，通常能够让任务在数秒钟内完成，这就让Shell跟C、Perl、Python这些语言区别开来，没人否认后者更能胜任更多的任 务，但是他们是在不同的层面上去做，Shell依赖大量的系统组件黏合调用，而后者依赖各种库，各所擅长不同的应用领域，比喻就是，Shell是混凝土， 可以很方便地粘合一些建筑组件而成为稳固的高楼大厦；但同样是粘合剂，粘玻璃窗、粘书报、粘皮鞋，混凝土是绝对不合适的，Shell并不擅长一些细致操 作，比如它连浮点运算都不支持，更别提什么图形运算什么的。但这并不妨碍Shell来帮我们完成很多粗重任务。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑; font-size: small;&quot;&gt;Shell 的工作方式，大多数入门用户会觉得枯燥难学，而所谓的经典教材也离不开《Advanced Bash-Scripting》、《Bash Guide for Beginners》，但类似本文这样的一些”雕虫小技”因为难登大雅之堂绝不会收录进去。这情况如果象国外一些unix用户比较多的地方会有很好改善， 即使是新手，偶尔看看别人的操作都能”偷师”一手，我编译本系列文章其实也就希望稍微改善一下这个状况。&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310443/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/%e5%a4%a9%e5%a4%96%e9%a3%9e%e4%bb%99%e7%ba%a7%e5%88%ab%e7%9a%84linux-shell%e5%91%bd%e4%bb%a4/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/12/%e5%a4%a9%e5%a4%96%e9%a3%9e%e4%bb%99%e7%ba%a7%e5%88%ab%e7%9a%84linux-shell%e5%91%bd%e4%bb%a4/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>引言 Shell作为Unix系操作系统当中最有魅力且不可或缺的组件，经过数十载的洗礼不仅没有被淘汰，而且愈加变得成熟稳健，究其原因，大概因为它是个非常稳固的粘合剂，能够把大量功能强大的组件任意配搭，总能很好很快地完成用户的任务。 本文的一些命令很可能看起来是”雕虫小技”，我们只好仰慕一下Shell大牛了，但是有些细节我会稍加发掘加以说明，遇到有趣的地方希望能博您一笑了。 1.  以SUDO运行上条命令 $ sudo !! 大家应该都知sudo，不解释。但通常出现的情况是，敲完命令执行后报错才发现忘了sudo。这时候，新手用户就会：按上箭头，按左箭头，盯着光标回到开始处，输入sudo，回车；高手用户就蛋定多了，按Ctrl-p，按Ctrl-a，输入sudo，回车。 这里介绍这个是天外飞仙级别的，对，就直接sudo !!。 当然这几种解决方式效果是完全一样的，只是款不一样，嗯，不解释。 两 个感叹号其实是bash的一个特性，称为事件引用符（event designators）。!!其实相当于!-1，引用前一条命令，当然也可以!-2，!-50。默认情况下bash会在~/.bash_history 文件内记录用户执行的最近500条命令，history命令可以显示这些命令。 &amp;#160; 关于事件引用符的更多用法可以深入阅读 The Definitive Guide to Bash Command Line History。 2.  以HTTP方式共享当前文件夹的文件 $ python -m SimpleHTTPServer 这命令启动了Python的SimpleHTTPServer模块，考虑到Python在绝大多数的Linux发行版当中都默认安装，所以这个命令很可能是最简单的跨平台传文件的方法。 命令执行后将在本机8000端口开放HTTP服务，在其他能访问本机的机器的浏览器打开ttp://ip:8000即打开一个目录列表，点击即可下载。 3.  在以普通用户打开的VIM当中保存一个ROOT用户文件 :w !sudo tee % 这 题目读起来纠结，其实是很常见的，常常忘记了sudo就直接用vim编辑/etc内的文件，（不过也不一定，vim发现保存的文件无法保存时候会 提示）等编辑好了，保存时候才发现没权限。曲线方法是先保存个临时文件，退出后再sudo cp回去。不过实际上在vim里面可以直接完成这个过程的，命令就是如此。 查阅vim的文档（输入:help :w），会提到命令:w!{cmd}，让vim执行一个外部命令{cmd}，然后把当前缓冲区的内容从stdin传入。 tee是一个把stdin保存到文件的小工具。 而%，是vim当中一个只读寄存器的名字，总保存着当前编辑文件的文件路径。 所以执行这个命令，就相当于从vim外部修改了当前编辑的文件，好完工。 4.  切换回上一个目录 $ cd - 应该不少人都知道这个，横杆-代表上一个目录的路径。 [...]&lt;img src=&quot;http://www1.feedsky.com/t1/588310443/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/%e5%a4%a9%e5%a4%96%e9%a3%9e%e4%bb%99%e7%ba%a7%e5%88%ab%e7%9a%84linux-shell%e5%91%bd%e4%bb%a4/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>ubuntu</category><category>shell</category><pubDate>Thu, 08 Dec 2011 11:50:38 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/12/%e5%a4%a9%e5%a4%96%e9%a3%9e%e4%bb%99%e7%ba%a7%e5%88%ab%e7%9a%84linux-shell%e5%91%bd%e4%bb%a4/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=128</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/12/%e5%a4%a9%e5%a4%96%e9%a3%9e%e4%bb%99%e7%ba%a7%e5%88%ab%e7%9a%84linux-shell%e5%91%bd%e4%bb%a4/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310443/6922877</fs:itemid></item><item><title>vim 使用技巧</title><link>http://www.jt.net.cn/2011/12/vim-%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7/</link><content:encoded>&lt;p&gt;先稍为介绍一下 vim. vi 是 unix/linux 下极为普遍的一种文本编辑器, 大部分机器上都&lt;br /&gt;
有. vi 有各种变种, 在不同的机器上常用不同的变种软件. 其中 vim 比较好用也用得比较&lt;br /&gt;
广泛. vim 是 Vi IMproved 的缩写, 表示更好的 vi. 我个人觉得它是非常好的编辑器(为&lt;br /&gt;
了避免 Emacs 粉丝挑眼, 就不说最好了). 没用过的也建议试试看, 当然 vim 对编写文本&lt;br /&gt;
文件很方便好用, 比如编写程序, html文档等等, 却不能用来编写 word 文档.&lt;/p&gt;
&lt;p&gt;关于 vim 的安装, 基本使用方法等网络上能搜出许多, 就不在这里罗嗦了, 要是对 vim 有&lt;br /&gt;
兴趣, 那就看看这里(中文文档): &lt;a href=&quot;http://blog.chinaunix.net/link.php?url=http://vcd.gro.clinux.org%2F&quot; target=&quot;_blank&quot;&gt;http://vcd.gro.clinux.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;本文就说些其中比较有用, 比较常用的命令, 若能熟练运用这些命令, 那么会发现编辑文件&lt;br /&gt;
很舒服.&lt;/p&gt;
&lt;p&gt;说明:&lt;br /&gt;
以下的例子中 xxx 表示在命令模式下输入 xxx 并回车&lt;br /&gt;
以下的例子中 &lt;img src='http://www.jt.net.cn/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /&gt; xx 表示在扩展模式下输入 xxx 并回车&lt;br /&gt;
小括号中的命令表示相关命令.&lt;br /&gt;
在编辑模式或可视模式下输入的命令会另外注明.&lt;/p&gt;
&lt;p&gt;1. 查找&lt;/p&gt;
&lt;p&gt;/xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示&lt;br /&gt;
向上查找.其中xxx可以是正规表达式,关于正规式就不多说了.&lt;br /&gt;
一般来说是区分大小写的, 要想不区分大小写, 那得先输入&lt;br /&gt;
:set ignorecase&lt;br /&gt;
查找到以后, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.&lt;/p&gt;
&lt;p&gt;*(#) 当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的&lt;br /&gt;
下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方&lt;br /&gt;
向查找.&lt;/p&gt;
&lt;p&gt;g*(g#) 此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, 而&lt;br /&gt;
是匹配包含该单词的所有字符串.&lt;/p&gt;
&lt;p&gt;gd 本命令查找与光标所在单词相匹配的单词, 并将光标停留在文档的非&lt;br /&gt;
注释段中第一次出现这个单词的地方.&lt;/p&gt;
&lt;p&gt;% 本命令查找与光标所在处相匹配的反括号, 包括 () [] {}&lt;/p&gt;
&lt;p&gt;f(F)x 本命令表示在光标所在行进行查找, 查找光标右(左)方第一个x字符.&lt;br /&gt;
找到后:&lt;br /&gt;
输入 ; 表示继续往下找&lt;br /&gt;
输入 , 表示反方向查找&lt;/p&gt;
&lt;p&gt;2. 快速移动光标&lt;br /&gt;
在 vi 中, 移动光标和编辑是两件事, 正因为区分开来, 所以可以很方便的进行光标定&lt;br /&gt;
位和编辑. 因此能更快一点移动光标是很有用的.&lt;/p&gt;
&lt;p&gt;w(e) 移动光标到下一个单词.&lt;br /&gt;
b 移动光标到上一个单词.&lt;/p&gt;
&lt;p&gt;0 移动光标到本行最开头.&lt;br /&gt;
^ 移动光标到本行最开头的字符处.&lt;br /&gt;
$ 移动光标到本行结尾处.&lt;/p&gt;
&lt;p&gt;H 移动光标到屏幕的首行.&lt;br /&gt;
M 移动光标到屏幕的中间一行.&lt;br /&gt;
L 移动光标到屏幕的尾行.&lt;br /&gt;
gg 移动光标到文档首行.&lt;br /&gt;
G 移动光标到文档尾行.&lt;br /&gt;
c-f (即 ctrl 键与 f 键一同按下) 本命令即 page down.&lt;br /&gt;
c-b (即 ctrl 键与 b 键一同按下, 后同) 本命令即 page up.&lt;/p&gt;
&lt;p&gt;'' 此命令相当有用, 它移动光标到上一个标记处, 比如用 gd, * 等查&lt;br /&gt;
找到某个单词后, 再输入此命令则回到上次停留的位置.&lt;/p&gt;
&lt;p&gt;'. 此命令相当好使, 它移动光标到上一次的修改行.&lt;/p&gt;
&lt;p&gt;`. 此命令相当强大, 它移动光标到上一次的修改点.&lt;/p&gt;
&lt;p&gt;3. 拷贝, 删除与粘贴&lt;br /&gt;
在 vi 中 y 表示拷贝, d 表示删除, p 表示粘贴. 其中拷贝与删除是与光标移动命令&lt;br /&gt;
结合的, 看几个例子就能够明白了.&lt;/p&gt;
&lt;p&gt;yw 表示拷贝从当前光标到光标所在单词结尾的内容.&lt;br /&gt;
dw 表示删除从当前光标到光标所在单词结尾的内容.&lt;br /&gt;
y0 表示拷贝从当前光标到光标所在行首的内容.&lt;br /&gt;
d0 表示删除从当前光标到光标所在行首的内容.&lt;br /&gt;
y$ 表示拷贝从当前光标到光标所在行尾的内容.&lt;br /&gt;
d$ 表示删除从当前光标到光标所在行尾的内容.&lt;br /&gt;
yfa 表示拷贝从当前光标到光标后面的第一个a字符之间的内容.&lt;br /&gt;
dfa 表示删除从当前光标到光标后面的第一个a字符之间的内容.&lt;/p&gt;
&lt;p&gt;特殊地:&lt;br /&gt;
yy 表示拷贝光标所在行.&lt;br /&gt;
dd 表示删除光标所在行.&lt;br /&gt;
D 表示删除从当前光标到光标所在行尾的内容.&lt;/p&gt;
&lt;p&gt;关于拷贝, 删除和粘贴的复杂用法与寄存器有关, 可以自行查询.&lt;/p&gt;
&lt;p&gt;4. 数字与命令&lt;br /&gt;
在 vi 中数字与命令结合往往表示重复进行此命令, 若在扩展模式的开头出现则表示行&lt;br /&gt;
号定位. 如:&lt;/p&gt;
&lt;p&gt;5fx 表示查找光标后第 5 个 x 字符.&lt;/p&gt;
&lt;p&gt;5w(e) 移动光标到下五个单词.&lt;/p&gt;
&lt;p&gt;5yy 表示拷贝光标以下 5 行.&lt;br /&gt;
5dd 表示删除光标以下 5 行.&lt;/p&gt;
&lt;p&gt;y2fa 表示拷贝从当前光标到光标后面的第二个a字符之间的内容.&lt;/p&gt;
&lt;p&gt;:12,24y 表示拷贝第12行到第24行之间的内容.&lt;br /&gt;
:12,y 表示拷贝第12行到光标所在行之间的内容.&lt;br /&gt;
:,24y 表示拷贝光标所在行到第24行之间的内容. 删除类似.&lt;/p&gt;
&lt;p&gt;5. 快速输入字符&lt;br /&gt;
在 vi 中, 不要求你输入每一个字符, 可以有很多种方法快速输入一些字符.&lt;br /&gt;
使用 linux/unix 的同学一定有一个经验, 在命令行下输入命令时敲入头几个字符再按&lt;br /&gt;
TAB 系统就会自动将剩下的字符补齐, 假如有多个匹配则会打印出来. 这就是著名的命令&lt;br /&gt;
补齐(其实windows中也有文件名补齐功能). vi 中有许多的字符串补齐命令, 非常方便.&lt;/p&gt;
&lt;p&gt;c-p(c-n) 在编辑模式中, 输入几个字符后再输入此命令则 vi 开始向上(下)搜&lt;br /&gt;
索开头与其匹配的单词并补齐, 不断输入此命令则循环查找. 此命令&lt;br /&gt;
会在所有在这个 vim 程序中打开的文件中进行匹配.&lt;/p&gt;
&lt;p&gt;c-x-l 在编辑模式中, 此命令快速补齐整行内容, 但是仅在本窗口中出现的&lt;br /&gt;
文档中进行匹配.&lt;/p&gt;
&lt;p&gt;c-x-f 在编辑模式中, 这个命令表示补齐文件名. 如输入:&lt;br /&gt;
/usr/local/tom 后再输入此命令则它会自动匹配出:&lt;br /&gt;
/usr/local/tomcat/&lt;/p&gt;
&lt;p&gt;abbr 即缩写. 这是一个宏操作, 可以在编辑模式中用一个缩写代替另一个&lt;br /&gt;
字符串. 比如编写java文件的常常输入 System.out.println, 这很&lt;br /&gt;
是麻烦, 所以应该用缩写来减少敲字. 可以这么做:&lt;br /&gt;
:abbr sprt System.out.println&lt;br /&gt;
以后在输入sprt后再输入其他非字母符号, 它就会自动扩展为System.&lt;br /&gt;
out.println&lt;/p&gt;
&lt;p&gt;6. 替换&lt;br /&gt;
替换是 vi 的强项, 因为可以用正规表达式来匹配字符串.以下提供几个例子.&lt;/p&gt;
&lt;p&gt;:s/aa/bb/g 将光标所在行出现的所有包含 aa 的字符串中的 aa 替换为 bb&lt;br /&gt;
:s//&amp;lt;aa/&amp;gt;/bb/g 将光标所在行出现的所有 aa 替换为 bb, 仅替换 aa 这个单词&lt;br /&gt;
:%s/aa/bb/g 将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb&lt;br /&gt;
:12,23s/aa/bb/g 将从12行到23行中出现的所有包含 aa 的字符串中的 aa 替换为 bb&lt;br /&gt;
:12,23s/^/#/ 将从12行到23行的行首加入 # 字符&lt;br /&gt;
:%s= *$== 将所有行尾多余的空格删除&lt;br /&gt;
:g/^/s*$/d 将所有不包含字符(空格也不包含)的空行删除.&lt;/p&gt;
&lt;p&gt;7. 多文件编辑&lt;br /&gt;
在一个 vim 程序中打开很多文件进行编辑是挺方便的.&lt;/p&gt;
&lt;p&gt;:sp(:vsp) 文件名 vim 将分割出一个横(纵)向窗口, 并在该窗口中打开新文件.&lt;br /&gt;
从 vim6.0 开始, 文件名可以是一个目录的名称, 这样, vim 会&lt;br /&gt;
把该目录打开并显示文件列表, 在文件名上按回车则在本窗口打&lt;br /&gt;
开该文件, 若输入 O 则在新窗口中打开该文件, 输入 ? 可以看&lt;br /&gt;
到帮助信息.&lt;/p&gt;
&lt;p&gt;:e 文件名 vim 将在原窗口中打开新的文件, 若旧文件编辑过, 会要求保存.&lt;/p&gt;
&lt;p&gt;c-w-w vim 分割了好几个窗口怎么办? 输入此命令可以将光标循环定位&lt;br /&gt;
到各个窗口之中.&lt;/p&gt;
&lt;p&gt;:ls 此命令查看本 vim 程序已经打开了多少个文件, 在屏幕的最下方&lt;br /&gt;
会显示出如下数据:&lt;br /&gt;
1 %a &quot;usevim.html&quot; 行 162&lt;br /&gt;
2 # &quot;xxxxxx.html&quot; 行 0&lt;/p&gt;
&lt;p&gt;其中:&lt;br /&gt;
1 表示打开的文件序号, 这个序号很有用处.&lt;br /&gt;
%a 表示文件代号, % 表示当前编辑的文件,&lt;br /&gt;
# 表示上次编辑的文件&lt;br /&gt;
&quot;usevim.html&quot; 表示文件名.&lt;br /&gt;
行 162 表示光标位置.&lt;/p&gt;
&lt;p&gt;:b 序号(代号) 此命令将指定序号(代号)的文件在本窗口打开, 其中的序号(代号)&lt;br /&gt;
就是用 :ls 命令看到的.&lt;/p&gt;
&lt;p&gt;:set diff 此命令用于比较两个文件, 可以用&lt;br /&gt;
:vsp filename&lt;br /&gt;
命令打开另一个文件, 然后在每个文件窗口中输入此命令,就能看&lt;br /&gt;
到效果了.&lt;/p&gt;
&lt;p&gt;8. 宏替换&lt;br /&gt;
vi 不仅可以用 abbr 来替换文字, 也可以进行命令的宏定义. 有些命令输起来很费劲,&lt;br /&gt;
因此我把它们定义到 &amp;lt;F1&amp;gt;-&amp;lt;F12&amp;gt; 上, 这样就很方便了.这些配置可以预先写到 ~/.vimrc&lt;br /&gt;
(windows 下为 $VIM/_vimrc) 中, 写进去的时候不用写前面的冒号.&lt;/p&gt;
&lt;p&gt;:nmap &amp;lt;F2&amp;gt; :nohls&amp;lt;cr&amp;gt; 取消被搜索字串的高亮&lt;br /&gt;
:nmap &amp;lt;F9&amp;gt; &amp;lt;C-W&amp;gt;w 命令模式下转移光标到不同窗口&lt;br /&gt;
:imap &amp;lt;F9&amp;gt; &amp;lt;ESC&amp;gt;&amp;lt;F9&amp;gt; 输入模式下运行&amp;lt;F9&amp;gt;&lt;br /&gt;
:nmap &amp;lt;F12&amp;gt; :%s= *$==&amp;lt;cr&amp;gt; 删除所有行尾多余的空格.&lt;br /&gt;
:imap &amp;lt;F12&amp;gt; &amp;lt;ESC&amp;gt;&amp;lt;F12&amp;gt; 同上&lt;/p&gt;
&lt;p&gt;:java 中: (注, 这里为什么说 java 中, 因为以下定义对其他文件格式不起作用, 下文&lt;br /&gt;
会说到如何实现这一点)&lt;br /&gt;
:nmap &amp;lt;F3&amp;gt; :comp javac&amp;lt;CR&amp;gt;:mak -d . %&amp;lt;CR&amp;gt;&lt;br /&gt;
此命令用 javac 编译 java 文件, 它会自动将光标定位到出错点. 不过这需要定&lt;br /&gt;
义一个 javac.vim 文件在 $VIM/compiler 下, 在 javac.vim 里面只有两行字:&lt;br /&gt;
setlocal makeprg=javac&lt;br /&gt;
setlocal errorformat=%A%f:%l:/ %m,%-Z%p^,%-C%.%#&lt;/p&gt;
&lt;p&gt;:nmap &amp;lt;F4&amp;gt; :comp ant&amp;lt;CR&amp;gt;:mak&amp;lt;CR&amp;gt;&lt;br /&gt;
此命令用 ant 编译 java 文件, 它会自动将光标定位到出错点. 一般来说, 安装&lt;br /&gt;
vim 后已经有了compiler/ant.vim文件, 因此这个命令可以直接使用. 但是需要&lt;br /&gt;
在当前目录下有 build.xml 文件, 当然还必须安装 ant 才行.&lt;/p&gt;
&lt;p&gt;:nmap &amp;lt;F5&amp;gt; :cl&amp;lt;CR&amp;gt; 此命令用于查看所有的编译错误.&lt;br /&gt;
:imap &amp;lt;F5&amp;gt; &amp;lt;ESC&amp;gt;&amp;lt;F5&amp;gt;&lt;/p&gt;
&lt;p&gt;:nmap &amp;lt;F6&amp;gt; :cc&amp;lt;CR&amp;gt; 此命令用于查看当前的编译错误.&lt;br /&gt;
:imap &amp;lt;F6&amp;gt; &amp;lt;ESC&amp;gt;&amp;lt;F6&amp;gt;&lt;/p&gt;
&lt;p&gt;:nmap &amp;lt;F7&amp;gt; :cn&amp;lt;CR&amp;gt; 此命令用于跳到下一个出错位置.&lt;br /&gt;
:imap &amp;lt;F7&amp;gt; &amp;lt;ESC&amp;gt;&amp;lt;F7&amp;gt;&lt;/p&gt;
&lt;p&gt;:nmap &amp;lt;F8&amp;gt; :cp&amp;lt;CR&amp;gt; 此命令用于跳到上一个出错位置.&lt;br /&gt;
:imap &amp;lt;F8&amp;gt; &amp;lt;ESC&amp;gt;&amp;lt;F8&amp;gt;&lt;/p&gt;
&lt;p&gt;:nmap &amp;lt;F11&amp;gt; :JavaBrowser&amp;lt;cr&amp;gt;&lt;br /&gt;
此命令用于在窗口左部分割出一个新窗口, 里面的内容是 java 的资源树, 包括&lt;br /&gt;
本文件中出现的类, 类的成员变量及成员方法, 就好像 JCreator 表现的那样.&lt;br /&gt;
在这个窗口中输入 ? 会看到帮助. 嘿嘿, 很好用, 不过需要 ctags 支持.&lt;br /&gt;
:imap &amp;lt;F11&amp;gt; &amp;lt;ESC&amp;gt;&amp;lt;F11&amp;gt;&lt;/p&gt;
&lt;p&gt;9. TAB&lt;br /&gt;
TAB 就是制表符, 单独拿出来做一节是因为这个东西确实很有用.&lt;/p&gt;
&lt;p&gt;&amp;lt;&amp;lt; 输入此命令则光标所在行向左移动一个 tab.&lt;br /&gt;
&amp;gt;&amp;gt; 输入此命令则光标所在行向右移动一个 tab.&lt;br /&gt;
5&amp;gt;&amp;gt; 输入此命令则光标后 5 行向右移动一个 tab.&lt;br /&gt;
:12,24&amp;gt; 此命令将12行到14行的数据都向右移动一个 tab.&lt;br /&gt;
:12,24&amp;gt;&amp;gt; 此命令将12行到14行的数据都向右移动两个 tab.&lt;/p&gt;
&lt;p&gt;那么如何定义 tab 的大小呢? 有人愿意使用 8 个空格位, 有人用4个, 有的用2个.&lt;br /&gt;
有的人希望 tab 完全用空格代替, 也有的人希望 tab 就是 tab. 没关系, vim 能&lt;br /&gt;
帮助你.以下的设置一般也都先写入配置文件中, 免得老敲.&lt;/p&gt;
&lt;p&gt;:set shiftwidth=4 设置自动缩进 4 个空格, 当然要设自动缩进先.&lt;br /&gt;
:set sts=4 即设置 softtabstop 为 4. 输入 tab 后就跳了 4 格.&lt;br /&gt;
:set tabstop=4 实际的 tab 即为 4 个空格, 而不是缺省的 8 个.&lt;br /&gt;
:set expandtab 在输入 tab 后, vim 用恰当的空格来填充这个 tab.&lt;/p&gt;
&lt;p&gt;10. autocmd&lt;br /&gt;
这个命令十分的强大, 可以用这个命令实现对不同的文件格式应用不同的配置; 可以&lt;br /&gt;
在新建文件时自动添加上版权声明等等. 这些命令一般定义在 ~/.vimrc 这样的配置文件&lt;br /&gt;
里面. 由于他很强大, 所以我不能给出很具体的说明, 只能举几个例子, 详细的请看帮助.&lt;/p&gt;
&lt;p&gt;:autocmd! 删除所有之前的自动命令.&lt;br /&gt;
autocmd FileType java source ~/.vim/files/java.vim&lt;br /&gt;
autocmd FileType java source ~/.vim/files/jcommenter.vim&lt;br /&gt;
以上两条命令让我在打开 java 文件时才应用后面提到的两个配置文件.&lt;br /&gt;
autocmd BufNewFile *.java 0r ~/.vim/files/skeletons/java.skel&lt;br /&gt;
以上这条命令让我在新建 java 文件时自动加入 java.skel 文件的内容.&lt;br /&gt;
autocmd BufNewFile *.java normal gnp&lt;br /&gt;
以上这条命令让我在新建 java 文件时自动运行 gnp 命令, 这个命令进行一些特殊化&lt;br /&gt;
处理, 比如将新 java 文件中的 __date__ 替换成今天的日期什么的.&lt;/p&gt;
&lt;p&gt;11. 常用脚本&lt;br /&gt;
在 vim.sf.net 你可以发现很多脚本(script), 这些脚本常常有让你意想不到的作用.&lt;br /&gt;
我常用的有:&lt;/p&gt;
&lt;p&gt;jcommenter.vim 自动加入 javadoc 风格的注释.&lt;br /&gt;
JBrowser.vim 类资源浏览. C, C++ 等可以用 Tlist&lt;/p&gt;
&lt;p&gt;还有许多有用的, 比如 checkstyle.vim 可以检验你的编程风格, jad.vim 可以直接&lt;br /&gt;
反编译 .class 文件等等.&lt;/p&gt;
&lt;p&gt;12. 常用配置&lt;br /&gt;
在~/.vimrc 配置文件中你常常需要一些个性化配置. 比如上面写的一些宏定义, 一些&lt;br /&gt;
autocmd 定义等等. 比如:&lt;/p&gt;
&lt;p&gt;set suffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc&lt;br /&gt;
这样在vim中打开文件时, 按 tab 键补齐文件名时它会忽略上述文件.&lt;/p&gt;
&lt;p&gt;set nu 显示行号&lt;br /&gt;
set ai 设置自动缩进&lt;br /&gt;
map Y y$ 让 Y 和 D 一样, 要不然 Y 的本意和 yy 一样.&lt;/p&gt;
&lt;p&gt;13. 其他&lt;br /&gt;
还有许多有意思的命令, 记录在这里免得忘记.&lt;/p&gt;
&lt;p&gt;. 重复上次编辑命令.&lt;br /&gt;
:g/^/exec &quot;s/^/&quot;.strpart(line(&quot;.&quot;).&quot; &quot;, 0, 4) 在行首插入行号&lt;br /&gt;
:runtime! syntax/2html.vim 转换 txt 成 html, 会按照你的&lt;br /&gt;
颜色配置来转&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310444/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/vim-%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/12/vim-%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>先稍为介绍一下 vim. vi 是 unix/linux 下极为普遍的一种文本编辑器, 大部分机器上都 有. vi 有各种变种, 在不同的机器上常用不同的变种软件. 其中 vim 比较好用也用得比较 广泛. vim 是 Vi IMproved 的缩写, 表示更好的 vi. 我个人觉得它是非常好的编辑器(为 了避免 Emacs 粉丝挑眼, 就不说最好了). 没用过的也建议试试看, 当然 vim 对编写文本 文件很方便好用, 比如编写程序, html文档等等, 却不能用来编写 word 文档. 关于 vim 的安装, 基本使用方法等网络上能搜出许多, 就不在这里罗嗦了, 要是对 vim 有 兴趣, 那就看看这里(中文文档): http://vcd.gro.clinux.org/ 本文就说些其中比较有用, 比较常用的命令, 若能熟练运用这些命令, 那么会发现编辑文件 很舒服. 说明: 以下的例子中 xxx [...]&lt;img src=&quot;http://www1.feedsky.com/t1/588310444/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/12/vim-%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>ubuntu</category><category>技巧</category><category>vim</category><pubDate>Thu, 08 Dec 2011 11:23:41 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/12/vim-%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=125</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/12/vim-%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310444/6922877</fs:itemid></item><item><title>小谈MySQL字符集</title><link>http://www.jt.net.cn/2011/11/%e5%b0%8f%e8%b0%88mysql%e5%ad%97%e7%ac%a6%e9%9b%86/</link><content:encoded>&lt;p&gt;首先,这片文章纯粹是我的个人经验之谈,适用于我常见的环境及项目中.&lt;br /&gt;
个人建议,数据库字符集尽量使用utf8(HTML页面对应的是utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多 种不同字符集之间的转换的字符集,尽管你在命令行工具上可能无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集.&lt;br /&gt;
接下来是完整的一个例子：&lt;br /&gt;
1.创建数据库表&lt;br /&gt;
mysql&amp;gt;CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci;&lt;br /&gt;
#注意后面这句话 &quot;COLLATE utf8_general_ci&quot;,大致意思是在排序时根据utf8校验集来排序&lt;br /&gt;
#那么在这个数据库下创建的所有数据表的默认字符集都会是utf8了&lt;br /&gt;
mysql&amp;gt;create table my_table (name varchar(20) not null default '')type=myisam default charset utf8;&lt;br /&gt;
#这句话就是创建一个表了,制定默认字符集为utf8&lt;br /&gt;
2.写数据&lt;br /&gt;
例子1是通过php直接插入数据:&lt;br /&gt;
a.php&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
mysql_connect('localhost','user','password');&lt;br /&gt;
mysql_select_db('my_db');&lt;br /&gt;
//请注意,这步很关键,如果没有这步,所有的数据读写都会不正确的&lt;br /&gt;
//它的作用是设置本次数据库联接过程中,数据传输的默认字符集&lt;br /&gt;
//其他编程语言/接口也类似，例如 .net/c#/odbc&lt;br /&gt;
//jdbc则设置连接字符串为类似&quot;jdbc:mysql://localhost/db?user=user&amp;amp;password=123456&amp;amp;useUnicode=true&amp;amp;characterEncoding=UTF-8&quot;&lt;br /&gt;
mysql_query(&quot;set names utf8;&quot;);&lt;br /&gt;
//必须将gb2312(本地编码)转换成utf-8,也可以使用iconv()函数&lt;br /&gt;
mb_convert_encoding(&quot;insert into my_table values('测试');&quot;, &quot;utf-8&quot;, &quot;gb2312&quot;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
例子是通过页面提交插入数据2:&lt;br /&gt;
b.php&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
//输出本页编码为utf-8&lt;br /&gt;
header(&quot;content-type:text/html; charset=utf-8&quot;);&lt;br /&gt;
mysql_connect('localhost','user','password');&lt;br /&gt;
mysql_select_db('my_db');&lt;br /&gt;
mysql_query(&quot;set names utf8;&quot;);&lt;br /&gt;
if(isset($_REQUEST['name'))&lt;br /&gt;
{&lt;br /&gt;
//由于上面已经指定本页字符集为utf-8了,因此无需转换编码&lt;br /&gt;
mysql_query(sprintf(&quot;insert into my_table values('%s');&quot;, $_REQUEST['name']));&lt;br /&gt;
}&lt;br /&gt;
$q = mysql_query(&quot;select * from my_table&quot;);&lt;br /&gt;
while($r = mysql_fetch_row($q))&lt;br /&gt;
{&lt;br /&gt;
print_r($r);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&amp;gt;&lt;br /&gt;
&amp;lt;form action=&quot;&quot; method=&quot;post&quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&quot;text&quot; name=&quot;name&quot; value=&quot;&quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&quot;submit&quot; value='submit'&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
自此,使用utf8字符集的完整的例子结束了.&lt;br /&gt;
如果你想使用gb2312编码,那么建议你使用latin1作为数据表的默认字符集,这样就能直接用中文在命令行工具中插入数据,并且可以直接显示出来.而不要使用gb2312或者gbk等字符集,如果担心查询排序等问题,可以使用binary属性约束,例如:&lt;br /&gt;
create table my_table ( name varchar(20) binary not null default '')type=myisam default charset latin1;&lt;br /&gt;
附1：旧数据升级办法&lt;br /&gt;
以原来的字符集为latin1为例，升级成为utf8的字符集。原来的表: old_table (default charset=latin1)，新表：new_table(default charset=utf8)。&lt;br /&gt;
第一步：导出旧数据&lt;br /&gt;
mysqldump --default-character-set=latin1 -hlocalhost -uroot -B my_db --tables old_table &amp;gt; old.sql&lt;br /&gt;
第二步：转换编码(类似unix/linux环境下)&lt;br /&gt;
iconv -t utf-8 -f gb2312 -c old.sql &amp;gt; new.sql&lt;br /&gt;
或者可以去掉 -f 参数，让iconv自动判断原来的字符集&lt;br /&gt;
iconv -t utf-8 -c old.sql &amp;gt; new.sql&lt;br /&gt;
在这里，假定原来的数据默认是gb2312编码。&lt;br /&gt;
第三步：导入&lt;br /&gt;
修改old.sql，在插入/更新语句开始之前，增加一条sql语句：&lt;br /&gt;
&quot;SET NAMES utf8;&quot;&lt;br /&gt;
，保存。&lt;br /&gt;
mysql -hlocalhost -uroot my_db &amp;lt; new.sql&lt;br /&gt;
大功告成！！&lt;br /&gt;
附2：支持查看utf8字符集的MySQL客户端有&lt;br /&gt;
1.) MySQL-Front，据说这个项目已经被MySQL AB勒令停止了，不知为何，如果国内还有不少破解版可以下载（不代表我推荐使用破解版 &lt;img src='http://www.jt.net.cn/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /&gt; ）。&lt;br /&gt;
2.) Navicat，另一款非常不错的MySQL客户端，汉化版刚出来，还邀请我试用过，总的来说还是不错的，不过也需要付费。&lt;br /&gt;
3.) PhpMyAdmin，开源的php项目，非常好。&lt;br /&gt;
4.) Linux下的终端工具（Linux terminal），把终端的字符集设置为utf8，连接到MySQL之后，执行 SET NAMES UTF8; 也能读写utf8数据了。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310445/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e5%b0%8f%e8%b0%88mysql%e5%ad%97%e7%ac%a6%e9%9b%86/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/11/%e5%b0%8f%e8%b0%88mysql%e5%ad%97%e7%ac%a6%e9%9b%86/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>首先,这片文章纯粹是我的个人经验之谈,适用于我常见的环境及项目中. 个人建议,数据库字符集尽量使用utf8(HTML页面对应的是utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多 种不同字符集之间的转换的字符集,尽管你在命令行工具上可能无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集. 接下来是完整的一个例子： 1.创建数据库表 mysql&amp;#62;CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci; #注意后面这句话 &quot;COLLATE utf8_general_ci&quot;,大致意思是在排序时根据utf8校验集来排序 #那么在这个数据库下创建的所有数据表的默认字符集都会是utf8了 mysql&amp;#62;create table my_table (name varchar(20) not null default '')type=myisam default charset utf8; #这句话就是创建一个表了,制定默认字符集为utf8 2.写数据 例子1是通过php直接插入数据: a.php &amp;#60;?php mysql_connect('localhost','user','password'); mysql_select_db('my_db'); //请注意,这步很关键,如果没有这步,所有的数据读写都会不正确的 //它的作用是设置本次数据库联接过程中,数据传输的默认字符集 //其他编程语言/接口也类似，例如 .net/c#/odbc //jdbc则设置连接字符串为类似&quot;jdbc:mysql://localhost/db?user=user&amp;#38;password=123456&amp;#38;useUnicode=true&amp;#38;characterEncoding=UTF-8&quot; mysql_query(&quot;set names utf8;&quot;); //必须将gb2312(本地编码)转换成utf-8,也可以使用iconv()函数 mb_convert_encoding(&quot;insert into my_table values('测试');&quot;, &quot;utf-8&quot;, &quot;gb2312&quot;); ?&amp;#62; [...]&lt;img src=&quot;http://www1.feedsky.com/t1/588310445/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e5%b0%8f%e8%b0%88mysql%e5%ad%97%e7%ac%a6%e9%9b%86/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>ubuntu</category><category>php</category><category>mysql</category><category>网站运营</category><category>字符集</category><pubDate>Sat, 19 Nov 2011 14:24:50 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/11/%e5%b0%8f%e8%b0%88mysql%e5%ad%97%e7%ac%a6%e9%9b%86/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=121</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/11/%e5%b0%8f%e8%b0%88mysql%e5%ad%97%e7%ac%a6%e9%9b%86/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310445/6922877</fs:itemid></item><item><title>安卓里面原来还有个特殊的事件</title><link>http://www.jt.net.cn/2011/11/%e5%ae%89%e5%8d%93%e9%87%8c%e9%9d%a2%e5%8e%9f%e6%9d%a5%e8%bf%98%e6%9c%89%e4%b8%aa%e7%89%b9%e6%ae%8a%e7%9a%84%e4%ba%8b%e4%bb%b6/</link><content:encoded>&lt;div&gt;
&lt;blockquote&gt;&lt;p&gt;大家都可以感受到iPhone,Android,iPad带来了移动互联网革命，前端程序员们，大家准备好了吗？移 动互联网早已不是那个WAP的时代，WAP基本被淘汰了，新一代的智能移动终端，都具有了标准的HTML,CSS,JS的解析能力，但是又和桌面不同，比 如这样的终端是没有光标的，也就是我们平时经常用到的 mouseover这些光标相关的东西，在这些终端上是没有作用的。同时，这些终端又具有一些他们自己的特色，比如 touch 事件，因为操作全是 touch ，所以这个事件如果好好利用，在移动互联网开发中会发挥大用处的。&lt;/p&gt;
&lt;p&gt;正好现在手里有个 Android 设备，做毕设用的，现在也想为毕设搞点新鲜内容，所以就做了对 Android 浏览器的 touch 事件的测试。说了这么多，是因为这个东西很简单，不说点废话撑下门面，那这个博文就太短了。&lt;/p&gt;
&lt;p&gt;touth相关的事件有 touchstart,touchend,touchmove。这三个事件最重要的属性是 pageX和 pageY,表示X,Y坐标。&lt;/p&gt;
&lt;p&gt;其中 touchstart 在开始触摸的时间激发， touchend 在触摸结束的时间激发， touchmove 这个事件比较奇怪，按道理在触摸到过程中不断激发这个事件才对，但是在我的 Android 1.5 中，在 touchstart 激发后激发一次，然后剩余的都和 touchend 差不多同时激发。&lt;/p&gt;
&lt;p&gt;这三个事件都都有一个 timeStamp 的属性，查看 timeStamp 属性，可以看到顺序是 touchstart -&amp;gt; touchmove -&amp;gt;touchmove -&amp;gt; … -&amp;gt; touchmove -&amp;gt;touchend，但是在我这里测试实际看到的确是上一段中提到的那样。&lt;/p&gt;
&lt;p&gt;现在 Android 官方也没有一个好的关于 WEB APP 的文档，不过有了 touchstart, touchend 这两个事件的 pageX,pageY,timeStamp 属性已经可以开发出好玩的东西了。比如我想让用户通过划屏幕，来做 tab 切换。&lt;/p&gt;
&lt;p&gt;关于 touch 事件的测试，你可以用你的 iPhone,Android,iPad访问&lt;a href=&quot;http://lab.allenm.me/touch.html&quot; target=&quot;_blank&quot;&gt;http://lab.allenm.me/touch.html&lt;/a&gt;，然后触摸屏幕，看结果。注意由于为了完整展示效果，所以对屏幕宽度有要求，最好横批浏览。同时，预告一下，我以后会用 allenm.me 这个域名，等有空了做迁移。&lt;/p&gt;
&lt;p&gt;另外附上&lt;a href=&quot;http://developer.apple.com/safari/library/documentation/appleapplications/reference/safariwebcontent/handlingevents/handlingevents.html&quot; target=&quot;_blank&quot;&gt;apple 官方关于这个事件的文档.&lt;/a&gt;有兴趣的可以去看看，iPhone 可是支持多点触摸的，在这个文档里，我们也可以看到处理多点触摸的方法。&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;经过测试发现，使用该属性与原生JAVA开发的应用完全一致。如果采用HTML5的事件属性，则慢死。&lt;/p&gt;
&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310446/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e5%ae%89%e5%8d%93%e9%87%8c%e9%9d%a2%e5%8e%9f%e6%9d%a5%e8%bf%98%e6%9c%89%e4%b8%aa%e7%89%b9%e6%ae%8a%e7%9a%84%e4%ba%8b%e4%bb%b6/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/11/%e5%ae%89%e5%8d%93%e9%87%8c%e9%9d%a2%e5%8e%9f%e6%9d%a5%e8%bf%98%e6%9c%89%e4%b8%aa%e7%89%b9%e6%ae%8a%e7%9a%84%e4%ba%8b%e4%bb%b6/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>大家都可以感受到iPhone,Android,iPad带来了移动互联网革命，前端程序员们，大家准备好了吗？移 动互联网早已不是那个WAP的时代，WAP基本被淘汰了，新一代的智能移动终端，都具有了标准的HTML,CSS,JS的解析能力，但是又和桌面不同，比 如这样的终端是没有光标的，也就是我们平时经常用到的 mouseover这些光标相关的东西，在这些终端上是没有作用的。同时，这些终端又具有一些他们自己的特色，比如 touch 事件，因为操作全是 touch ，所以这个事件如果好好利用，在移动互联网开发中会发挥大用处的。 正好现在手里有个 Android 设备，做毕设用的，现在也想为毕设搞点新鲜内容，所以就做了对 Android 浏览器的 touch 事件的测试。说了这么多，是因为这个东西很简单，不说点废话撑下门面，那这个博文就太短了。 touth相关的事件有 touchstart,touchend,touchmove。这三个事件最重要的属性是 pageX和 pageY,表示X,Y坐标。 其中 touchstart 在开始触摸的时间激发， touchend 在触摸结束的时间激发， touchmove 这个事件比较奇怪，按道理在触摸到过程中不断激发这个事件才对，但是在我的 Android 1.5 中，在 touchstart 激发后激发一次，然后剩余的都和 touchend 差不多同时激发。 这三个事件都都有一个 timeStamp 的属性，查看 timeStamp 属性，可以看到顺序是 touchstart -&amp;#62; touchmove -&amp;#62;touchmove -&amp;#62; … -&amp;#62; touchmove -&amp;#62;touchend，但是在我这里测试实际看到的确是上一段中提到的那样。 现在 Android 官方也没有一个好的关于 WEB APP 的文档，不过有了 touchstart, touchend [...]&lt;img src=&quot;http://www1.feedsky.com/t1/588310446/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e5%ae%89%e5%8d%93%e9%87%8c%e9%9d%a2%e5%8e%9f%e6%9d%a5%e8%bf%98%e6%9c%89%e4%b8%aa%e7%89%b9%e6%ae%8a%e7%9a%84%e4%ba%8b%e4%bb%b6/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>事件</category><category>前端</category><category>安卓</category><pubDate>Sat, 19 Nov 2011 14:21:17 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/11/%e5%ae%89%e5%8d%93%e9%87%8c%e9%9d%a2%e5%8e%9f%e6%9d%a5%e8%bf%98%e6%9c%89%e4%b8%aa%e7%89%b9%e6%ae%8a%e7%9a%84%e4%ba%8b%e4%bb%b6/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=118</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/11/%e5%ae%89%e5%8d%93%e9%87%8c%e9%9d%a2%e5%8e%9f%e6%9d%a5%e8%bf%98%e6%9c%89%e4%b8%aa%e7%89%b9%e6%ae%8a%e7%9a%84%e4%ba%8b%e4%bb%b6/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310446/6922877</fs:itemid></item><item><title>最新微小说强势来袭！！陪你度过光棍节！</title><link>http://www.jt.net.cn/2011/11/%e6%9c%80%e6%96%b0%e5%be%ae%e5%b0%8f%e8%af%b4%e5%bc%ba%e5%8a%bf%e6%9d%a5%e8%a2%ad%ef%bc%81%ef%bc%81%e9%99%aa%e4%bd%a0%e5%ba%a6%e8%bf%87%e5%85%89%e6%a3%8d%e8%8a%82%ef%bc%81/</link><content:encoded>&lt;p&gt;1，不要总是抱怨你的那个他有这样那样的缺点,如果他完美了,也许他就不是你的了，毕竟，一张床上不会睡两类人&lt;/p&gt;
&lt;p&gt;2，客服小姐：小明你是要几等座？ 小明：你们一共有几等？ 客服小姐：特等，一等，二等，等等，二等要多&lt;br /&gt;
等一等。小明：我看下，等一等。客服小姐：别等了，再等一等也没了。小明：那不等了就这个吧。 请问小明&lt;br /&gt;
最终买了几等座？ A特等 B一等 C二等 D等等 E等一等 F再等一等 G别等 H不等&lt;br /&gt;
3，我不想考试，别逼我！英语不及格？正常！你是中国人就应该不及格！数学不及格？正常！你买菜要用函数计&lt;br /&gt;
算吗？政治不及格？正常！中国十多亿人何时轮到你当国家主席！语文不及格？正常！你骂人用修辞手法吗？&lt;br /&gt;
物理不及格？正常！你跳楼要考虑空气阻力吗？生物不及格？正常！你搞不清自己是男是女吗？&lt;/p&gt;
&lt;p&gt;4，美国教授考察中国后的感叹：中国人活得太累，他们的人生只有两个词组，成功和拼搏·····我很奇怪，&lt;br /&gt;
他们连快乐都感受不到，却想追求幸福。另：小学-大学，忙着各种考试；毕业-忙着结婚；结婚后-忙着生孩子&lt;br /&gt;
养孩子；退休了-给孩子看孩子…如此活着而已！唉。。。有空为什么不快乐一下呢?去全是谈资玩玩！&lt;/p&gt;
&lt;p&gt;5，一对老年夫妇谈起青年时代，对遥远过去他们激动不已，决定像年轻时那样，到河边约会。 那天，老爹采了鲜&lt;br /&gt;
花，来到了河边等待，一直不见老太太来，天快黑了，只好回家，到家里他看到老伴盖着羊皮袄躺在床上。老爹&lt;br /&gt;
嚷起来了：“你怎么敢失约呢？”老太太把脸埋在枕头里，羞怯地说：“我妈不让我去。”.&lt;/p&gt;
&lt;p&gt;6，大学心理课上，白发苍苍的老教授问：“哪位同学能解释什么是良心？” 一同学答：“良心是我心里一个三角&lt;br /&gt;
形的东西。我没有做坏事，它便静静不动；如果我干了坏事，它便转动起来，每个角都把我刺痛；如果我一直干&lt;br /&gt;
坏事，每一个角都磨平了，也就不觉得痛了&lt;/p&gt;
&lt;p&gt;7，夫妻两个人，辛辛苦苦打拼，然后买了个海景别墅，还房贷每天压力巨大，早出晚归，然后他们家的保姆每天做&lt;br /&gt;
的最多的事情就是抱着他们家的狗在阳台上看海，喝咖啡……&lt;/p&gt;
&lt;p&gt;8，带新女友和母亲滑雪，遇雪崩受伤被困山洞数日，母外出求援久未归女友去寻。半夜醒来，母满脸是血坐于身&lt;br /&gt;
旁，女友此时跑回大喊母已死变厉鬼欲害我，母亦执此词说女友。我未及多想随女友逃，回望母，似有泪。女友&lt;br /&gt;
携我入山谷斩断手脚掏食内脏而去。我太傻，她只爱了我两个月，妈妈却爱了我二十年&lt;/p&gt;
&lt;p&gt;9，他牵着她在雪天里走着。女生明显不耐烦，不停地用手扫掉头衣服上的雪花，问：我都说分手了还带我去哪？&lt;br /&gt;
他说，最后陪我走走吧。女生问，你不冷吗？他摇头。怎么会？女生不再说话，只希望路快点走完。放开手的&lt;br /&gt;
刹那他差点落泪，我总喜欢在雪天里牵着你走，因为一不小心我们就可以一起白头&lt;/p&gt;
&lt;p&gt;10，铅笔先生爱上了白纸小姐。他写情诗送她，白纸小姐却选择了钢笔先生。铅笔先生很伤心，拜托橡皮小姐把自己&lt;br /&gt;
的情诗清理干净。他想，默默爱她吧，永远别让她知道写情诗其实会耗尽自己生命。铅笔先生不会知道，暗恋他&lt;br /&gt;
的橡皮小姐，其实也在耗尽自己生命地帮助他爱她&lt;/p&gt;
&lt;p&gt;11，他们异地相恋，她难解相思之苦，向上天祈祷：让我穿越到最爱我的那个男人身边陪伴他吧！一道白光闪过，&lt;br /&gt;
她看到系着围裙、拿着锅铲的爸爸满脸惊喜地看着她：你怎么回来了&lt;/p&gt;
&lt;p&gt;12，新婚姻法让她很没安全感。于是，他把所有产权转到她名下。公园散步时他故意逗她，装着委屈说，好了现在&lt;br /&gt;
轮到我担心净身出户了。她很是得意洋洋，对啊，房子车子孩子都是我的！他撅起嘴，用小男孩似的无辜眼神望&lt;br /&gt;
着妻子。她俏皮地笑了，轻靠在他肩膀上娇嗲地说，可我是属于你的呀，傻瓜&lt;/p&gt;
&lt;p&gt;13，她说他的怀抱是全世界最有安全感的地方.打雷的时候,委屈的时候,她都喜欢窝在他怀里. 有一天他们吵架了,&lt;br /&gt;
她含泪摔门而出. 他追出去紧紧抱着她. “你放开我.”她哭道.他越发不放手: “我知道你伤心的时候喜欢抱着&lt;br /&gt;
我,从今天开始,只要我的双手还在,就不会放过任何一个抱你的机会.”&lt;/p&gt;
&lt;p&gt;14，哥几个合资要开一家公司，为了彰显公司的牛逼，特取名“能力”！“能力公司”听着多霸气啊！兴高采烈地从&lt;br /&gt;
工商局拿回执照，哥几个傻眼了，只见执照上大大地写着“能力有限公司”。&lt;/p&gt;
&lt;p&gt;15，10岁挨了妈妈打，他哭了，20岁挨了妈妈打，他怒了，30岁挨了妈妈打，他忍了，40岁挨了妈妈打，他笑了，&lt;br /&gt;
50岁挨了妈妈打，他哭了。10岁因为无知而哭泣，20岁因为不解而暴怒，30岁因为知晓而隐忍，40岁是为深知而&lt;br /&gt;
微笑，50岁感恩而哭泣。60、70岁在回忆中追寻曾经温柔的触感&lt;/p&gt;
&lt;p&gt;16，我一个大男人，饿了给你煮饭，冷了给你织毛衣，病了彻夜陪你，晚上还任你取暖。我为了你还不结婚，&lt;br /&gt;
没有女人这十多年都过来了。现在你结婚了，就要搬出去了？就要丢开老子了？你想得美，没门！我后半辈子&lt;br /&gt;
你必须负责！”————————“爸，别闹了…”&lt;/p&gt;
&lt;p&gt;17，8岁，回家前：“一分钟内我要是抓到你，你就和我一起玩。”18岁，出国前：“四年留学回来后我要是找&lt;br /&gt;
到你，你就嫁给我。”38岁，手术前：“五个小时后要是看不到我，你就忘了我。”78岁，临终前：“下辈子如&lt;br /&gt;
果我还能遇到你，请你努力记起我。因为…这个游戏，我只想和你一个人玩。”&lt;/p&gt;
&lt;p&gt;18，老鼠被猫写给她的情书感动决定嫁给猫，结果却被猫吃掉，临死前猫得意地说：“小样，这么容易上当”。&lt;br /&gt;
老鼠捏着猫写给她的情书，无比凄凉地笑道：“在我收到你情书的那一刻，我就料到会是这样的结局，但我&lt;br /&gt;
不愿相信这样的事实”。爱何尝不是明知道别人说的是假话，却宁愿相信是真的。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310447/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e6%9c%80%e6%96%b0%e5%be%ae%e5%b0%8f%e8%af%b4%e5%bc%ba%e5%8a%bf%e6%9d%a5%e8%a2%ad%ef%bc%81%ef%bc%81%e9%99%aa%e4%bd%a0%e5%ba%a6%e8%bf%87%e5%85%89%e6%a3%8d%e8%8a%82%ef%bc%81/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/11/%e6%9c%80%e6%96%b0%e5%be%ae%e5%b0%8f%e8%af%b4%e5%bc%ba%e5%8a%bf%e6%9d%a5%e8%a2%ad%ef%bc%81%ef%bc%81%e9%99%aa%e4%bd%a0%e5%ba%a6%e8%bf%87%e5%85%89%e6%a3%8d%e8%8a%82%ef%bc%81/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>1，不要总是抱怨你的那个他有这样那样的缺点,如果他完美了,也许他就不是你的了，毕竟，一张床上不会睡两类人 2，客服小姐：小明你是要几等座？ 小明：你们一共有几等？ 客服小姐：特等，一等，二等，等等，二等要多 等一等。小明：我看下，等一等。客服小姐：别等了，再等一等也没了。小明：那不等了就这个吧。 请问小明 最终买了几等座？ A特等 B一等 C二等 D等等 E等一等 F再等一等 G别等 H不等 3，我不想考试，别逼我！英语不及格？正常！你是中国人就应该不及格！数学不及格？正常！你买菜要用函数计 算吗？政治不及格？正常！中国十多亿人何时轮到你当国家主席！语文不及格？正常！你骂人用修辞手法吗？ 物理不及格？正常！你跳楼要考虑空气阻力吗？生物不及格？正常！你搞不清自己是男是女吗？ 4，美国教授考察中国后的感叹：中国人活得太累，他们的人生只有两个词组，成功和拼搏·····我很奇怪， 他们连快乐都感受不到，却想追求幸福。另：小学-大学，忙着各种考试；毕业-忙着结婚；结婚后-忙着生孩子 养孩子；退休了-给孩子看孩子…如此活着而已！唉。。。有空为什么不快乐一下呢?去全是谈资玩玩！ 5，一对老年夫妇谈起青年时代，对遥远过去他们激动不已，决定像年轻时那样，到河边约会。 那天，老爹采了鲜 花，来到了河边等待，一直不见老太太来，天快黑了，只好回家，到家里他看到老伴盖着羊皮袄躺在床上。老爹 嚷起来了：“你怎么敢失约呢？”老太太把脸埋在枕头里，羞怯地说：“我妈不让我去。”. 6，大学心理课上，白发苍苍的老教授问：“哪位同学能解释什么是良心？” 一同学答：“良心是我心里一个三角 形的东西。我没有做坏事，它便静静不动；如果我干了坏事，它便转动起来，每个角都把我刺痛；如果我一直干 坏事，每一个角都磨平了，也就不觉得痛了 7，夫妻两个人，辛辛苦苦打拼，然后买了个海景别墅，还房贷每天压力巨大，早出晚归，然后他们家的保姆每天做 的最多的事情就是抱着他们家的狗在阳台上看海，喝咖啡…… 8，带新女友和母亲滑雪，遇雪崩受伤被困山洞数日，母外出求援久未归女友去寻。半夜醒来，母满脸是血坐于身 旁，女友此时跑回大喊母已死变厉鬼欲害我，母亦执此词说女友。我未及多想随女友逃，回望母，似有泪。女友 携我入山谷斩断手脚掏食内脏而去。我太傻，她只爱了我两个月，妈妈却爱了我二十年 9，他牵着她在雪天里走着。女生明显不耐烦，不停地用手扫掉头衣服上的雪花，问：我都说分手了还带我去哪？ 他说，最后陪我走走吧。女生问，你不冷吗？他摇头。怎么会？女生不再说话，只希望路快点走完。放开手的 刹那他差点落泪，我总喜欢在雪天里牵着你走，因为一不小心我们就可以一起白头 10，铅笔先生爱上了白纸小姐。他写情诗送她，白纸小姐却选择了钢笔先生。铅笔先生很伤心，拜托橡皮小姐把自己 的情诗清理干净。他想，默默爱她吧，永远别让她知道写情诗其实会耗尽自己生命。铅笔先生不会知道，暗恋他 的橡皮小姐，其实也在耗尽自己生命地帮助他爱她 11，他们异地相恋，她难解相思之苦，向上天祈祷：让我穿越到最爱我的那个男人身边陪伴他吧！一道白光闪过， 她看到系着围裙、拿着锅铲的爸爸满脸惊喜地看着她：你怎么回来了 12，新婚姻法让她很没安全感。于是，他把所有产权转到她名下。公园散步时他故意逗她，装着委屈说，好了现在 轮到我担心净身出户了。她很是得意洋洋，对啊，房子车子孩子都是我的！他撅起嘴，用小男孩似的无辜眼神望 着妻子。她俏皮地笑了，轻靠在他肩膀上娇嗲地说，可我是属于你的呀，傻瓜 13，她说他的怀抱是全世界最有安全感的地方.打雷的时候,委屈的时候,她都喜欢窝在他怀里. 有一天他们吵架了, 她含泪摔门而出. 他追出去紧紧抱着她. “你放开我.”她哭道.他越发不放手: “我知道你伤心的时候喜欢抱着 我,从今天开始,只要我的双手还在,就不会放过任何一个抱你的机会.” 14，哥几个合资要开一家公司，为了彰显公司的牛逼，特取名“能力”！“能力公司”听着多霸气啊！兴高采烈地从 工商局拿回执照，哥几个傻眼了，只见执照上大大地写着“能力有限公司”。 15，10岁挨了妈妈打，他哭了，20岁挨了妈妈打，他怒了，30岁挨了妈妈打，他忍了，40岁挨了妈妈打，他笑了， [...]&lt;img src=&quot;http://www1.feedsky.com/t1/588310447/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e6%9c%80%e6%96%b0%e5%be%ae%e5%b0%8f%e8%af%b4%e5%bc%ba%e5%8a%bf%e6%9d%a5%e8%a2%ad%ef%bc%81%ef%bc%81%e9%99%aa%e4%bd%a0%e5%ba%a6%e8%bf%87%e5%85%89%e6%a3%8d%e8%8a%82%ef%bc%81/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>笑笑</category><category>等一等</category><pubDate>Fri, 11 Nov 2011 21:18:44 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/11/%e6%9c%80%e6%96%b0%e5%be%ae%e5%b0%8f%e8%af%b4%e5%bc%ba%e5%8a%bf%e6%9d%a5%e8%a2%ad%ef%bc%81%ef%bc%81%e9%99%aa%e4%bd%a0%e5%ba%a6%e8%bf%87%e5%85%89%e6%a3%8d%e8%8a%82%ef%bc%81/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/?p=115</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/11/%e6%9c%80%e6%96%b0%e5%be%ae%e5%b0%8f%e8%af%b4%e5%bc%ba%e5%8a%bf%e6%9d%a5%e8%a2%ad%ef%bc%81%ef%bc%81%e9%99%aa%e4%bd%a0%e5%ba%a6%e8%bf%87%e5%85%89%e6%a3%8d%e8%8a%82%ef%bc%81/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310447/6922877</fs:itemid></item><item><title>小明终于去祸害外国人了</title><link>http://www.jt.net.cn/2011/11/%e5%b0%8f%e6%98%8e%e7%bb%88%e4%ba%8e%e5%8e%bb%e7%a5%b8%e5%ae%b3%e5%a4%96%e5%9b%bd%e4%ba%ba%e4%ba%86/</link><content:encoded>&lt;p&gt;一：录音：“小明，窗台上落了鸟屎，去擦一下好么？＂“我擦！！我不擦！！”——问：小明擦不擦窗台？&lt;/p&gt;
&lt;p&gt;二：录音：“小明，今晚上有思修课呢！你去不去？？”“我去！！我不去！！”——问：小明去不去思修课？&lt;/p&gt;
&lt;p&gt;三：录音：“小明，你饿不饿？我们晚上吃什么好呢？”“额。。。我不饿。。”——问：小明饿不饿？&lt;/p&gt;
&lt;p&gt;四：录音：“小明，你要他那个礼物呢还是我这个礼物呢？”“那个。。。这个吧”——问：小明要哪个？&lt;/p&gt;
&lt;p&gt;五：录音：“小明，你想好了么？”“想好了”“你先说还是我先说？”“我说。。。你说吧。。”——问：谁先说。&lt;/p&gt;
&lt;p&gt;六：录音：“小明，昨天下午你抱着的是谁啊？你女朋友吧？”“你妹！！！我妹！！”——问：小明抱着的是谁？&lt;/p&gt;
&lt;p&gt;七：录音：“小明，这碟是小红的吗？”“你大爷的！我的！”——问：这碟是谁的？&lt;/p&gt;
&lt;p&gt;八：录音：“小明，今天我妹妹来看我，要不要和我一起去见她啊？”“见你妹啊，不见”——问：小明到底要不要去见人家妹妹？&lt;/p&gt;
&lt;p&gt;九：录音：“小明，今天上课用不用带笔啊？”“带毛笔啊”——问：小明意思带不带笔？&lt;/p&gt;
&lt;p&gt;十：录音：“小明，要大扫除了，赶紧去干活。”“干！！我不干！！”——问：小明到底要不要去干活？&lt;/p&gt;
&lt;p&gt;十一：录音：“小明，你能不能不靠在我身上？”“我靠，我不靠！”——问:小明到底靠不靠？&lt;/p&gt;
&lt;p&gt;十二：录音：“小明，去倒一下夜香！你倒不倒？”“我倒！我不倒！”——问：小明倒不倒夜香？&lt;/p&gt;
&lt;p&gt;十三：录音：“小明，明天六级考试考吗？”“我靠！！我不考！！”——问：小明会去考试吗？&lt;/p&gt;
&lt;p&gt;十四：录音：“小明，你的睫毛好漂亮，真的假的？”“假的”“真的么？”“真的”——问：小明的睫毛是真的假的？&lt;/p&gt;
&lt;p&gt;十五：录音：“小明，你吃早饭了么？”“吃个蛋！！！”——问：小明早上吃了什么？&lt;/p&gt;
&lt;p&gt;十六：录音：“小明，毛老师和我掉水里先救哪个？”“救毛老师啊！！！”——问：小明救了谁?&lt;/p&gt;
&lt;p&gt;十七：录音：小芳：“你妹啊，老娘这个月大姨妈还没来，愁死姐了，简直就是坑爹啊！”——问：短文中谁很着急？ A. 小芳她妹妹 B. 小芳她老娘 C. 小芳她姐姐 D.小芳她爹 E .小芳她大姨妈 F. 小芳。G.小芳的男友小明&lt;/p&gt;
&lt;p&gt;十八：录音：“小明，你不爱她为什么要跟她结婚？”“你妈逼的！！我妈逼的！！！”——问：谁逼小明结的婚？&lt;/p&gt;
&lt;p&gt;十九：录音:“小明，谢谢你送我的红蓝立体眼镜。”“闹太套~”——问: 小明姓什么？ A红 B黄 C蓝&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/588310448/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e5%b0%8f%e6%98%8e%e7%bb%88%e4%ba%8e%e5%8e%bb%e7%a5%b8%e5%ae%b3%e5%a4%96%e5%9b%bd%e4%ba%ba%e4%ba%86/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.jt.net.cn/2011/11/%e5%b0%8f%e6%98%8e%e7%bb%88%e4%ba%8e%e5%8e%bb%e7%a5%b8%e5%ae%b3%e5%a4%96%e5%9b%bd%e4%ba%ba%e4%ba%86/feed/</wfw:commentRss><slash:comments>0</slash:comments><description>一：录音：“小明，窗台上落了鸟屎，去擦一下好么？＂“我擦！！我不擦！！”——问：小明擦不擦窗台？ 二：录音：“小明，今晚上有思修课呢！你去不去？？”“我去！！我不去！！”——问：小明去不去思修课？ 三：录音：“小明，你饿不饿？我们晚上吃什么好呢？”“额。。。我不饿。。”——问：小明饿不饿？ 四：录音：“小明，你要他那个礼物呢还是我这个礼物呢？”“那个。。。这个吧”——问：小明要哪个？ 五：录音：“小明，你想好了么？”“想好了”“你先说还是我先说？”“我说。。。你说吧。。”——问：谁先说。 六：录音：“小明，昨天下午你抱着的是谁啊？你女朋友吧？”“你妹！！！我妹！！”——问：小明抱着的是谁？ 七：录音：“小明，这碟是小红的吗？”“你大爷的！我的！”——问：这碟是谁的？ 八：录音：“小明，今天我妹妹来看我，要不要和我一起去见她啊？”“见你妹啊，不见”——问：小明到底要不要去见人家妹妹？ 九：录音：“小明，今天上课用不用带笔啊？”“带毛笔啊”——问：小明意思带不带笔？ 十：录音：“小明，要大扫除了，赶紧去干活。”“干！！我不干！！”——问：小明到底要不要去干活？ 十一：录音：“小明，你能不能不靠在我身上？”“我靠，我不靠！”——问:小明到底靠不靠？ 十二：录音：“小明，去倒一下夜香！你倒不倒？”“我倒！我不倒！”——问：小明倒不倒夜香？ 十三：录音：“小明，明天六级考试考吗？”“我靠！！我不考！！”——问：小明会去考试吗？ 十四：录音：“小明，你的睫毛好漂亮，真的假的？”“假的”“真的么？”“真的”——问：小明的睫毛是真的假的？ 十五：录音：“小明，你吃早饭了么？”“吃个蛋！！！”——问：小明早上吃了什么？ 十六：录音：“小明，毛老师和我掉水里先救哪个？”“救毛老师啊！！！”——问：小明救了谁? 十七：录音：小芳：“你妹啊，老娘这个月大姨妈还没来，愁死姐了，简直就是坑爹啊！”——问：短文中谁很着急？ A. 小芳她妹妹 B. 小芳她老娘 C. 小芳她姐姐 D.小芳她爹 E .小芳她大姨妈 F. 小芳。G.小芳的男友小明 十八：录音：“小明，你不爱她为什么要跟她结婚？”“你妈逼的！！我妈逼的！！！”——问：谁逼小明结的婚？ 十九：录音:“小明，谢谢你送我的红蓝立体眼镜。”“闹太套~”——问: 小明姓什么？ A红 B黄 C蓝&lt;img src=&quot;http://www1.feedsky.com/t1/588310448/jtnet/feedsky/s.gif?r=http://www.jt.net.cn/2011/11/%e5%b0%8f%e6%98%8e%e7%bb%88%e4%ba%8e%e5%8e%bb%e7%a5%b8%e5%ae%b3%e5%a4%96%e5%9b%bd%e4%ba%ba%e4%ba%86/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>小明</category><category>笑笑</category><pubDate>Mon, 07 Nov 2011 21:16:23 +0800</pubDate><author>朝闻道</author><comments>http://www.jt.net.cn/2011/11/%e5%b0%8f%e6%98%8e%e7%bb%88%e4%ba%8e%e5%8e%bb%e7%a5%b8%e5%ae%b3%e5%a4%96%e5%9b%bd%e4%ba%ba%e4%ba%86/#comments</comments><guid isPermaLink="false">http://www.jt.net.cn/2011/11/%e5%b0%8f%e6%98%8e%e7%bb%88%e4%ba%8e%e5%8e%bb%e7%a5%b8%e5%ae%b3%e5%a4%96%e5%9b%bd%e4%ba%ba%e4%ba%86/</guid><dc:creator>朝闻道</dc:creator><fs:srclink>http://www.jt.net.cn/2011/11/%e5%b0%8f%e6%98%8e%e7%bb%88%e4%ba%8e%e5%8e%bb%e7%a5%b8%e5%ae%b3%e5%a4%96%e5%9b%bd%e4%ba%ba%e4%ba%86/</fs:srclink><fs:srcfeed>http://www.jt.net.cn/feed/</fs:srcfeed><fs:itemid>feedsky/jtnet/~8804503/588310448/6922877</fs:itemid></item></channel></rss>
