<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kangzj &#187; 命令行</title>
	<atom:link href="http://kangzj.net/tag/%e5%91%bd%e4%bb%a4%e8%a1%8c/feed/" rel="self" type="application/rss+xml" />
	<link>http://kangzj.net</link>
	<description>记录技术和生活~</description>
	<lastBuildDate>Wed, 08 Feb 2012 09:54:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>分享：Vim命令大全</title>
		<link>http://kangzj.net/vim%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/</link>
		<comments>http://kangzj.net/vim%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 08:08:07 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[软件应用]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[命令]]></category>
		<category><![CDATA[命令行]]></category>

		<guid isPermaLink="false">http://kangzj.net/?p=964</guid>
		<description><![CDATA[跟大家分享一个Vim编辑器的命令大全，也给自己存个档（很多命令我也记不全），点击就可以看大图。]]></description>
			<content:encoded><![CDATA[<p>前阵子一群人为了Vi的荣誉在cnBeata吵到不行，牛编辑器就是牛编辑器，不会因为某些人说说就会改变。这里跟大家分享一个Vim编辑器的命令大全，也给自己存个档（很多命令我也记不全），点击可以看大图，分辨率为1280*800，可以当做壁纸。</p>
<p><a href="http://kangzj.net/wp-content/uploads/images/200909/Vi_DD3C/vim_3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="vim" src="http://kangzj.net/wp-content/uploads/images/200909/Vi_DD3C/vim_thumb_3.png" border="0" alt="vim" width="600" height="376" /></a></p>
<p>PS：Vim是Vi的加强版</p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/vim%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/">http://kangzj.net/vim%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/</a> |
<a href="http://kangzj.net/vim%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/#comments">10 条评论</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/vim%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/&title=分享：Vim命令大全">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/linux/" rel="tag">linux</a>, <a href="http://kangzj.net/tag/vi/" rel="tag">vi</a>, <a href="http://kangzj.net/tag/vim/" rel="tag">vim</a>, <a href="http://kangzj.net/tag/%e5%91%bd%e4%bb%a4/" rel="tag">命令</a>, <a href="http://kangzj.net/tag/%e5%91%bd%e4%bb%a4%e8%a1%8c/" rel="tag">命令行</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/vim%e5%91%bd%e4%bb%a4%e5%a4%a7%e5%85%a8/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>php-cli简介&#8212;&#8212;不会Shell语言，一样用Shell！</title>
		<link>http://kangzj.net/php-cli/</link>
		<comments>http://kangzj.net/php-cli/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 15:16:11 +0000</pubDate>
		<dc:creator>kangzj</dc:creator>
				<category><![CDATA[服务器OS]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-cli]]></category>
		<category><![CDATA[preminder]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[命令行]]></category>

		<guid isPermaLink="false">http://kangzj.net/?p=916</guid>
		<description><![CDATA[php可以用来做动态网页，当初php就是为做动态网页而开发的语言，但是理论上php可以用来做任何的程序，甚至是桌面程序，而php-cli是php在命令行运行的支持环境，也就是我们说的可以用来写Shell的环境支持]]></description>
			<content:encoded><![CDATA[<h3>1.基础知识</h3>
<h4>1.1 什么是Shell编程?</h4>
<p>在 Unix 中，shell 可不是简单的命令解释器（典型的有 Windows 中的 DOS ），而是一个全功能的编程环境。Shell 是操作系统的一部分，用来与用户打交道，并且可以用来协调各个命令【1】。用Shell编程可以灵活地解决大量重复任务，十分方便。但是，Shell的语法十分怪异（个人意见），不容易记，如果现在熟悉的语言可以用来写shell那就好了——比如php——就可以快速开发Shell程序了（比如我的<a href="http://apps.kangzj.net/preminder/">Preminder</a>的后台程序），于是便有了这篇文章，本文以Linux为例说明php-cli的用法，其它平台的版本类似。</p>
<h4>1.2 什么是php-cli?</h4>
<p>刚才说到，我们可以用php来开发Shell程序。有的同学可能会问啦：“php不是用来做网页的么？-_-”。是的，php可以用来做动态网页，并且当初php就是为做动态网页而开发的语言，但是理论上php可以用来做任何的程序，甚至是桌面程序，而<strong>php-cli</strong>是php在命令行运行的支持环境，也就是我们说的可以用来写Shell的环境支持。</p>
<blockquote><p><strong>php-cli</strong>是php Command Line Interface的简称，如同它名字的意思，就是php在命令行运行的接口，区别于在Web服务器上运行的php环境（php-cgi, isapi等）【2】。</p></blockquote>
<p>也就是说，php不单可以写前台网页，它还可以用来写后台的程序。</p>
<p><span id="more-916"></span></p>
<h3>2. 执行php-cli脚本</h3>
<h4>2.1 php-cli的语法</h4>
<p>当然是跟php一模一样啦，因为它就是php嘛！只不过一些默认的参数与php-cgi不同，比如运行时间：php-cli默认运行时间是无穷，而网页php默认设置是30s。</p>
<h4>2.2 执行php-cli脚本</h4>
<h5>2.2.1. 直接在终端执行php</h5>
<pre lang="shell">kangzj@localhost# php -r 'print_r(get_defined_constants());'</pre>
<h5>2.2.2. 运行php-cli脚本文件</h5>
<pre lang="shell">kangzj@localhost# php my_script.php

kangzj@localhost# php -f my_script.php</pre>
<p>上而说的php文件就是一般的php文件没有什么不同。还有一种方式，就是在文件中指令解释器，就可以直接在终端以”./test.php执行脚本了”，test.php就像下面这样：</p>
<pre lang="php">#!/usr/bin/php -q
&lt;?php
  echo "Hello world of PHP CLI!";
?&gt;</pre>
<p>补充：php的Shell程序并不一定以php为扩展名，可以以任意扩展名，甚至不要扩展名，只是为了清楚，我才用的php扩展名。</p>
<h5>2.2.3. 用Cron执行php-cli脚本</h5>
<p><a href="http://kangzj.net/linux-cron/">cron是一个linux下的定时执行工具，可以在无需人工干预的情况下运行作业</a>，周期性作业，比如备份数据，<a href="http://apps.kangzj.net/preminder/">Preminder</a>定期查询PR等等，添加的方法：打开/etc/crontab，添加：</p>
<pre lang="shell">0 13 * * * /usr/bin/php -f /home/phpscripts/phpcli.php</pre>
<h3>4. 结语</h3>
<p>如果你会php的话，那么你也会了一种Shell编程语言！</p>
<p>如果你不会php，你去学php，就相当于一下子学会动态网页和Shell两种语言！并且你甚至可以用php来写具有图形界面的应用程序，Dnspod的动态域名客户端中就有一种是用php开发的。</p>
<p>php的易学是出名的，如果你还不会，那是在犹豫什么呢？</p>
<p>另外，再宣传一下我的”<a href="http://apps.kangzj.net/preminder/">Preminder</a>”——PR更新Email提醒服务~~</p>
<h3>5. 参考文献</h3>
<ol>
<li>Linux Shell简介 ： <a title="http://www.linuxsir.org/main/?q=node/135" href="http://www.linuxsir.org/main/?q=node/135">http://www.linuxsir.org/main/?q=node/135</a></li>
<li>PHP Command Line Interface : Mystic Unleashed ：<a title="http://www.php-cli.com/" href="http://www.php-cli.com/">http://www.php-cli.com/</a></li>
<li>ch 4.2， php manual ： <a href="http://www.php.net">http://www.php.net</a></li>
</ol>
<p>PS：Shell命令还是要知道一些的，否则有些功能不太好实现。</p>
<p style='text-align:left'>&copy; 2009, <a href='http://kangzj.net'>kangzj</a>. 版权所有.  </p>
<hr />
<p><small>© kangzj for <a href="http://kangzj.net">Kangzj</a>, 2009. |
<a href="http://kangzj.net/php-cli/">http://kangzj.net/php-cli/</a> |
<a href="http://kangzj.net/php-cli/#comments">11 条评论</a> |
Add to
<a href="http://del.icio.us/post?url=http://kangzj.net/php-cli/&title=php-cli简介&mdash;&mdash;不会Shell语言，一样用Shell！">del.icio.us</a>
<br/>
Post tags: <a href="http://kangzj.net/tag/cron/" rel="tag">cron</a>, <a href="http://kangzj.net/tag/linux/" rel="tag">linux</a>, <a href="http://kangzj.net/tag/php/" rel="tag">php</a>, <a href="http://kangzj.net/tag/php-cli/" rel="tag">php-cli</a>, <a href="http://kangzj.net/tag/preminder/" rel="tag">preminder</a>, <a href="http://kangzj.net/tag/shell/" rel="tag">shell</a>, <a href="http://kangzj.net/tag/%e5%91%bd%e4%bb%a4%e8%a1%8c/" rel="tag">命令行</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://kangzj.net/php-cli/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

