﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-喜气羊羊</title><link>http://www.phpweblog.net/young40/</link><description>羊羊其实是条鱼|每天学习一点点|每天进步一点点</description><language>zh-cn</language><lastBuildDate>Sun, 05 Jul 2009 05:45:08 GMT</lastBuildDate><pubDate>Sun, 05 Jul 2009 05:45:08 GMT</pubDate><ttl>60</ttl><item><title>php处理透明png图片</title><link>http://www.phpweblog.net/young40/archive/2008/11/26/6124.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Wed, 26 Nov 2008 07:07:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/11/26/6124.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/6124.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/11/26/6124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/6124.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/6124.html</trackback:ping><description><![CDATA[写了一个处理图片缩放的程序，发现png图片缩放后和原来的差别很大<br>原有图片上一块 渐变 和 局部透明 被弄掉了。<br><br>找了好久才发现原来是alpha通道的问题。<br><br>现在这段程序可以做到png的原样输出<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&lt;?</span><span style="color: #000000;">php<br></span><span style="color: #800080;">$im</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;imagecreatefrompng(</span><span style="color: #000000;">'</span><span style="color: #000000;">1.png</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">缺少这一句png将和原图有差别</span><span style="color: #008000;"><br></span><span style="color: #000000;">imagesavealpha(</span><span style="color: #800080;">$im</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br><br></span><span style="color: #008080;">header</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">Content-type:image/png</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br><br>imagepng(</span><span style="color: #800080;">$im</span><span style="color: #000000;">);<br>imagedestroy(</span><span style="color: #800080;">$im</span><span style="color: #000000;">);<br></span><span style="color: #000000;">?&gt;</span></div>
<br>哎，前面几天做过一段时间图像处理，整的快崩溃了<br>什么混色，什么alpha通道。。。。<br><br> <img src ="http://www.phpweblog.net/young40/aggbug/6124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-11-26 15:07 <a href="http://www.phpweblog.net/young40/archive/2008/11/26/6124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Zend Studio 6.1.0 发布[Eclipse平台]</title><link>http://www.phpweblog.net/young40/archive/2008/09/20/5810.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 20 Sep 2008 03:14:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/09/20/5810.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5810.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/09/20/5810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5810.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5810.html</trackback:ping><description><![CDATA[一个屡获大奖的专业 PHP 集成开发环境，具备功能强大的专业编辑工具和调试工具，支持PHP语法加亮显示，支持语法自动填充功能，支持书签功能，支持语法自动缩排和代码复制功能，内置一个强大的PHP代码调试工具，支持本地和远程两种调试模式，支持多种高级调试功能。<strong>Zend
Studio for Eclipse
v6.0是PHP官方的开发工具.它基于Eclipse和PDT,加入了ZendStudio的专用特性,ZF框架,ZendCore Zend
Platform.Zend Studio一直是很多PHP开发者的首选工具,它与Java的关系一向甚为亲密</strong>,Zend Studio 5一直都是基于Java Swing的,现在好了,Zend Studio直接改投Eclipse了.<br><br><img  src="http://cnbeta.com/articles/pic/down.gif" alt=""><strong>下载:</strong><a  href="http://downloads.zend.com/studio-eclipse/6.1.0/ZendStudioForEclipse-6_1_0.exe" target="_blank">Zend Studio for Eclipse 6.1.0</a><br>
<img  src="http://cnbeta.com/articles/pic/view.gif" alt=""><strong>查看:</strong><a  href="http://www.zend.com/en/products/studio/whats-new" target="_blank">What's new</a><br><img  src="http://cnbeta.com/articles/pic/down.gif"><strong>下载:</strong><a  href="http://downloads.zend.com/studio-eclipse/6.1.0/ZendStudioForEclipse-6_1_0.exe" target="_blank">Zend Studio 6.1.0 for Windows</a><br><br>还有一个注册码<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">用户名：PHPER<br>注册码：4784D9D0086669570000</span></div>
<br><br><img src ="http://www.phpweblog.net/young40/aggbug/5810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-09-20 11:14 <a href="http://www.phpweblog.net/young40/archive/2008/09/20/5810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#操作GDplusI大杂烩</title><link>http://www.phpweblog.net/young40/archive/2008/09/07/5727.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sun, 07 Sep 2008 13:44:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/09/07/5727.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5727.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/09/07/5727.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5727.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5727.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">Bitmap&nbsp;bmp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bitmap(</span><span style="color: #000000;">3437</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">2601</span><span style="color: #000000;">,&nbsp;PixelFormat.Format32bppPArgb);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bmp.SetResolution(</span><span style="color: #000000;">300</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">300</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageFormat&nbsp;yy&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;bmp.RawFormat;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Graphics.FromImage(bmp);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Image&nbsp;img&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bitmap(</span><span style="color: #000000;">"</span><span style="color: #000000;">bg.jpg</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawImage(img,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">50</span><span style="color: #000000;">));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Image&nbsp;t&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bitmap(</span><span style="color: #000000;">"</span><span style="color: #000000;">t.jpg</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawImage(t,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Rectangle(</span><span style="color: #000000;">500</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">600</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1000</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1000</span><span style="color: #000000;">));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Image&nbsp;png&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bitmap(</span><span style="color: #000000;">"</span><span style="color: #000000;">png.png</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageAttributes&nbsp;imga&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ImageAttributes();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ColorMap&nbsp;map&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ColorMap();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.OldColor&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Color.FromArgb(</span><span style="color: #000000;">255</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">255</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map.NewColor&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Color.FromArgb(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ColorMap[]&nbsp;maps&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{&nbsp;map&nbsp;};<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imga.SetRemapTable(maps,&nbsp;ColorAdjustType.Bitmap);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float[][]&nbsp;Matrix&nbsp;=&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;float[]&nbsp;{1.0f,&nbsp;0.0f,&nbsp;0.0f,&nbsp;0.0f,&nbsp;0.0f},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;float[]&nbsp;{0.0f,&nbsp;1.0f,&nbsp;0.0f,&nbsp;0.0f,&nbsp;0.0f},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;float[]&nbsp;{0.0f,&nbsp;0.0f,&nbsp;1.0f,&nbsp;0.0f,&nbsp;0.0f},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;float[]&nbsp;{0,0f,&nbsp;0.0f,&nbsp;0.0f,&nbsp;0.3f,&nbsp;0.0f},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;float[]&nbsp;{0.0f,&nbsp;0.0f,&nbsp;0.0f,&nbsp;0.0f,&nbsp;1.0f},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};/*<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">[][]&nbsp;Matrix&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">[]&nbsp;{</span><span style="color: #000000;">1.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">[]&nbsp;{</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">1.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">[]&nbsp;{</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">1.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">[]&nbsp;{</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.3f</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">},<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">[]&nbsp;{</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0.0f</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1.0f</span><span style="color: #000000;">}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ColorMatrix&nbsp;ma&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ColorMatrix(Matrix);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imga.SetColorMatrix(ma,&nbsp;ColorMatrixFlag.Default,&nbsp;ColorAdjustType.Bitmap);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawImage(png,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Rectangle(</span><span style="color: #000000;">600</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">700</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">),&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;GraphicsUnit.Pixel,&nbsp;imga);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageFormat&nbsp;xx&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;bmp.RawFormat;<br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bmp.Save(</span><span style="color: #000000;">"</span><span style="color: #000000;">rs.jpg</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;ImageFormat.Jpeg);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bmp.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;img.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;png.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.Dispose();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(</span><span style="color: #000000;">"</span><span style="color: #000000;">ok</span><span style="color: #000000;">"</span><span style="color: #000000;">);</span></div>
<br><br>2<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;partial&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Catch&nbsp;:&nbsp;Form<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">#region</span><span style="color: #000000;">&nbsp;用户变量</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Point&nbsp;DownPoint&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Point.Empty;</span><span style="color: #008000;">//</span><span style="color: #008000;">记录鼠标按下坐标，用来确定绘图起点</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;CatchFinished&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;</span><span style="color: #008000;">//</span><span style="color: #008000;">用来表示是否截图完成</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;CatchStart&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;</span><span style="color: #008000;">//</span><span style="color: #008000;">表示截图开始</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Bitmap&nbsp;originBmp;</span><span style="color: #008000;">//</span><span style="color: #008000;">用来保存原始图像</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Rectangle&nbsp;CatchRect;</span><span style="color: #008000;">//</span><span style="color: #008000;">用来保存截图的矩形</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">#endregion</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;Catch()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Catch_Load(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.SetStyle(ControlStyles.OptimizedDoubleBuffer&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;ControlStyles.AllPaintingInWmPaint&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;ControlStyles.UserPaint,&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.UpdateStyles();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">以上两句是为了设置控件样式为双缓冲，这可以有效减少图片闪烁的问题，关于这个大家可以自己去搜索下</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;originBmp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bitmap(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.BackgroundImage);</span><span style="color: #008000;">//</span><span style="color: #008000;">BackgroundImage为全屏图片，我们另用变量来保存全屏图片</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Catch_MouseClick(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;MouseEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(e.Button&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;MouseButtons.Right)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.DialogResult&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DialogResult.OK;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Close();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Catch_MouseDown(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;MouseEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(e.Button&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;MouseButtons.Left)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">CatchStart)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #008000;">//</span><span style="color: #008000;">如果捕捉没有开始</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CatchStart&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DownPoint&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(e.X,&nbsp;e.Y);</span><span style="color: #008000;">//</span><span style="color: #008000;">保存鼠标按下坐标</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Catch_MouseMove(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;MouseEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(CatchStart)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #008000;">//</span><span style="color: #008000;">如果捕捉开始</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;destBmp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(Bitmap)originBmp.Clone();</span><span style="color: #008000;">//</span><span style="color: #008000;">新建一个图片对象，并让它与原始图片相同</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point&nbsp;newPoint&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(DownPoint.X,&nbsp;DownPoint.Y);</span><span style="color: #008000;">//</span><span style="color: #008000;">获取鼠标的坐标</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Graphics.FromImage(destBmp);</span><span style="color: #008000;">//</span><span style="color: #008000;">在刚才新建的图片上新建一个画板</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pen&nbsp;p&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Pen(Color.Blue,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;width&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Math.Abs(e.X&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;DownPoint.X),&nbsp;height&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Math.Abs(e.Y&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;DownPoint.Y);</span><span style="color: #008000;">//</span><span style="color: #008000;">获取矩形的长和宽</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(e.X&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;DownPoint.X)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newPoint.X&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;e.X;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(e.Y&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;DownPoint.Y)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newPoint.Y&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;e.Y;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CatchRect&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Rectangle(newPoint,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Size(width,&nbsp;height));</span><span style="color: #008000;">//</span><span style="color: #008000;">保存矩形</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawRectangle(p,&nbsp;CatchRect);</span><span style="color: #008000;">//</span><span style="color: #008000;">将矩形画在这个画板上</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.Dispose();</span><span style="color: #008000;">//</span><span style="color: #008000;">释放目前的这个画板</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.CreateGraphics();</span><span style="color: #008000;">//</span><span style="color: #008000;">重新新建一个Graphics类<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">如果之前那个画板不释放，而直接g=this.CreateGraphics()这样的话无法释放掉第一次创建的g,因为只是把地址转到新的g了．如同string一样</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.CreateGraphics();</span><span style="color: #008000;">//</span><span style="color: #008000;">在整个全屏窗体上新建画板</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g1.DrawImage(destBmp,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">));</span><span style="color: #008000;">//</span><span style="color: #008000;">将刚才所画的图片画到这个窗体上<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">这个也可以属于二次缓冲技术，如果直接将矩形画在窗体上，会造成图片抖动并且会有无数个矩形．</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g1.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destBmp.Dispose();</span><span style="color: #008000;">//</span><span style="color: #008000;">要及时释放，不然内存将会被大量消耗</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Catch_MouseUp(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;MouseEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(e.Button&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;MouseButtons.Left)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(CatchStart)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CatchStart&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CatchFinished&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Catch_MouseDoubleClick(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;MouseEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(e.Button&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;MouseButtons.Left&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;CatchFinished)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(CatchRect.Contains(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(e.X,&nbsp;e.Y)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;CatchedBmp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bitmap(CatchRect.Width,&nbsp;CatchRect.Height);</span><span style="color: #008000;">//</span><span style="color: #008000;">新建一个于矩形等大的空白图片</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Graphics.FromImage(CatchedBmp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawImage(originBmp,&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Rectangle(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;CatchRect.Width,&nbsp;CatchRect.Height),&nbsp;CatchRect,&nbsp;GraphicsUnit.Pixel);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">把orginBmp中的指定部分按照指定大小画在画板上</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clipboard.SetImage(CatchedBmp);</span><span style="color: #008000;">//</span><span style="color: #008000;">将图片保存到剪贴板</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CatchFinished&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.BackgroundImage&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;originBmp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CatchedBmp.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.DialogResult&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DialogResult.OK;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Close();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;button2_Click(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Hide();</span><span style="color: #008000;">//</span><span style="color: #008000;">隐藏当前窗体</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.Sleep(</span><span style="color: #000000;">50</span><span style="color: #000000;">);</span><span style="color: #008000;">//</span><span style="color: #008000;">让线程睡眠一段时间，窗体消失需要一点时间</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Catch&nbsp;CatchForm&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Catch();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bitmap&nbsp;CatchBmp&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bitmap(Screen.AllScreens[</span><span style="color: #000000;">0</span><span style="color: #000000;">].Bounds.Width,&nbsp;Screen.AllScreens[</span><span style="color: #000000;">0</span><span style="color: #000000;">].Bounds.Height);</span><span style="color: #008000;">//</span><span style="color: #008000;">新建一个和屏幕大小相同的图片&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Graphics.FromImage(CatchBmp);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.CopyFromScreen(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">),&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">),&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Size(Screen.AllScreens[</span><span style="color: #000000;">0</span><span style="color: #000000;">].Bounds.Width,&nbsp;Screen.AllScreens[</span><span style="color: #000000;">0</span><span style="color: #000000;">].Bounds.Height));</span><span style="color: #008000;">//</span><span style="color: #008000;">保存全屏图片</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CatchForm.BackgroundImage&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;CatchBmp;</span><span style="color: #008000;">//</span><span style="color: #008000;">将Catch窗体的背景设为全屏时的图片</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(CatchForm.ShowDialog()&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;DialogResult.OK)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #008000;">//</span><span style="color: #008000;">如果Catch窗体结束,就将剪贴板中的图片放到信息发送框中</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IDataObject&nbsp;iData&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Clipboard.GetDataObject();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataFormats.Format&nbsp;myFormat&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DataFormats.GetFormat(DataFormats.Bitmap);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(iData.GetDataPresent(DataFormats.Bitmap))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;richTextBox1.Paste(myFormat);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clipboard.Clear();</span><span style="color: #008000;">//</span><span style="color: #008000;">清除剪贴板中的对象</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Show();</span><span style="color: #008000;">//</span><span style="color: #008000;">重新显示窗体</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br>3<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.CreateGraphics();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pen&nbsp;p&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Pen(Color.Red,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.RotateTransform(i);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawLine(p,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1000</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.ResetTransform();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">平移坐标轴</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.TranslateTransform(</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawLine(p,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.ResetTransform();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">先平移到指定坐标,然后进行度旋转</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.TranslateTransform(</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.RotateTransform(</span><span style="color: #000000;">45</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawLine(p,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.Dispose();</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.CreateGraphics();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rectangle&nbsp;rect&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Rectangle(</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">500</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">500</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SolidBrush&nbsp;b1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;SolidBrush(Color.Black);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.FillRectangle(b1,&nbsp;rect);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawString("我爱你",&nbsp;new&nbsp;Font("微软雅黑",&nbsp;90),&nbsp;b1,&nbsp;new&nbsp;PointF(90,&nbsp;10));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TextureBrush&nbsp;b2&nbsp;=&nbsp;new&nbsp;TextureBrush(Image.FromFile("OY1-024.JPG"));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.Location&nbsp;=&nbsp;new&nbsp;Point(100,&nbsp;100);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.Width&nbsp;=&nbsp;2000;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.Height&nbsp;=&nbsp;2000;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.FillRectangle(b2,&nbsp;rect);</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rect.Location&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Point(</span><span style="color: #000000;">400</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">400</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LinearGradientBrush&nbsp;b3&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;LinearGradientBrush(rect,&nbsp;Color.BlueViolet,&nbsp;Color.Black,&nbsp;LinearGradientMode.ForwardDiagonal);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.FillRectangle(b3,&nbsp;rect);<br><br></span></div>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&nbsp;Pen&nbsp;p&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Pen(Color.Black,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.CreateGraphics();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.DashStyle&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DashStyle.Dot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawLine(p,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.DashPattern&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">[]&nbsp;{&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;};<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawLine(p,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.DashStyle&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DashStyle.Solid;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.EndCap&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;LineCap.ArrowAnchor;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawLine(p,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.Dispose();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.Dispose();</span></div>
<br>4
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;e.Graphics;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pen&nbsp;p&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Pen(Color.Aqua,&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawLine(p,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">400</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawRectangle(p,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">100</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawRectangle(p,&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">500</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">600</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawEllipse(p,&nbsp;</span><span style="color: #000000;">50</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">70</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">600</span><span style="color: #000000;">);</span></div>
5<br><br><img src ="http://www.phpweblog.net/young40/aggbug/5727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-09-07 21:44 <a href="http://www.phpweblog.net/young40/archive/2008/09/07/5727.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#创建快捷桌面及程序菜单方式</title><link>http://www.phpweblog.net/young40/archive/2008/08/31/5686.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 30 Aug 2008 18:27:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/08/31/5686.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5686.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/08/31/5686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5686.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5686.html</trackback:ping><description><![CDATA[首先要添加对 Windows Script Host Object Model的引用<br><br>然后使用<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">1</span>&nbsp;<span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;IWshRuntimeLibrary;</span></div>
<br>添加代码:<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;1</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #000000;">WshShell&nbsp;shell&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;WshShell();<br></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;desktopShortCutPath&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">\\测试.lnk</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;desktopShortCutPath&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;System.Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">\\程序\\ddd\\dadfd.lnk</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">程序菜单用</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;ddd&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Path.GetDirectoryName(desktopShortCutPath);<br></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">Directory.Exists(ddd))<br></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Directory.CreateDirectory(ddd);<br></span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IWshShortcut&nbsp;sc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(IWshShortcut)shell.CreateShortcut(desktopShortCutPath);<br></span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc.TargetPath&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Application.StartupPath&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">\\ShortCut.exe</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc.Description&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">测试啦</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br></span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc.Save();</span></div>
<br><img src ="http://www.phpweblog.net/young40/aggbug/5686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-08-31 02:27 <a href="http://www.phpweblog.net/young40/archive/2008/08/31/5686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PHP解压缩zip文件</title><link>http://www.phpweblog.net/young40/archive/2008/08/19/5603.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Tue, 19 Aug 2008 01:00:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/08/19/5603.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5603.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/08/19/5603.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5603.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5603.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&lt;?</span><span style="color: #000000;">php<br></span><span style="color: #008080;">header</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">Content-type:&nbsp;text/html;charset=utf-8</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br></span><span style="color: #008080;">error_reporting</span><span style="color: #000000;">(</span><span style="color: #ff00ff;">E_ALL</span><span style="color: #000000;">);<br></span><span style="color: #008080;">set_time_limit</span><span style="color: #000000;">(</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br><br></span><span style="color: #800080;">$zip_filename</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Test.zip</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br><br></span><span style="color: #800080;">$zip_filename</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">key_exists</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">zip</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_GET</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_GET</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">zip</span><span style="color: #000000;">'</span><span style="color: #000000;">]</span><span style="color: #000000;">?</span><span style="color: #800080;">$_GET</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">zip</span><span style="color: #000000;">'</span><span style="color: #000000;">]</span><span style="color: #000000;">:</span><span style="color: #800080;">$zip_filename</span><span style="color: #000000;">;<br></span><span style="color: #800080;">$zip_filepath</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">str_replace</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">\\</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">/</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">dirname</span><span style="color: #000000;">(</span><span style="color: #ff00ff;">__FILE__</span><span style="color: #000000;">))&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">/</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$zip_filename</span><span style="color: #000000;">;<br><br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #008080;">is_file</span><span style="color: #000000;">(</span><span style="color: #800080;">$zip_filepath</span><span style="color: #000000;">))<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">die</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">文件"</span><span style="color: #000000;">'</span><span style="color: #000000;">.</span><span style="color: #800080;">$zip_filepath</span><span style="color: #000000;">.</span><span style="color: #000000;">'</span><span style="color: #000000;">"不存在!</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br>}<br><br></span><span style="color: #800080;">$zip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ZipArchive();<br></span><span style="color: #800080;">$rs</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$zip</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">open(</span><span style="color: #800080;">$zip_filepath</span><span style="color: #000000;">);<br><br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #800080;">$rs</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!==</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">TRUE</span><span style="color: #000000;">)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">die</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">解压失败!Error&nbsp;Code:</span><span style="color: #000000;">'</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$rs</span><span style="color: #000000;">);<br>}<br><br></span><span style="color: #800080;">$zip</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">extractTo(</span><span style="color: #000000;">'</span><span style="color: #000000;">./</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br></span><span style="color: #800080;">$zip</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">close();<br><br></span><span style="color: #0000ff;">echo</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$zip_filename</span><span style="color: #000000;">.</span><span style="color: #000000;">'</span><span style="color: #000000;">解压成功!</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br></span><span style="color: #000000;">?&gt;</span></div>
<br>代码很简单，不过还是研究了好大一会手册<br>php配置中需要zlib支持<br>win下就是<var>php_zip.dll<br></var> <img src ="http://www.phpweblog.net/young40/aggbug/5603.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-08-19 09:00 <a href="http://www.phpweblog.net/young40/archive/2008/08/19/5603.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#只运行一个程序实例</title><link>http://www.phpweblog.net/young40/archive/2008/08/17/5576.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sun, 17 Aug 2008 14:33:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/08/17/5576.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5576.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/08/17/5576.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5576.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5576.html</trackback:ping><description><![CDATA[Mutex翻译过来就是 互斥体<br><br>http://dict.iciba.com/mutex/<br><br>详见MSDN关于Mutex类的详解<br><br>我们现在要实现一个程序只运行一个实例啦<br><br>首先创建一个标准的c#窗体程序，打开 Program.cs<br>我们可以看到自动生成的代码如下：<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;"></span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System;<br></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Collections.Generic;<br></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Windows.Forms;<br></span><span style="color: #0000ff;"></span><span style="color: #000000;"><br></span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;MutexForm<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Program<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;summary&gt;</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;The&nbsp;main&nbsp;entry&nbsp;point&nbsp;for&nbsp;the&nbsp;application.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;/summary&gt;</span><span style="color: #808080;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[STAThread]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Main()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.EnableVisualStyles();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.SetCompatibleTextRenderingDefault(</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application.Run(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Form1());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
<br><br>我们将代码做一点修改：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System;<br></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Collections.Generic;<br></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Windows.Forms;<br></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Threading;<br><br></span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;MutexForm<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Program<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;summary&gt;</span><span style="color: #008000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;The&nbsp;main&nbsp;entry&nbsp;point&nbsp;for&nbsp;the&nbsp;application.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;/summary&gt;</span><span style="color: #808080;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[STAThread]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Main()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.EnableVisualStyles();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.SetCompatibleTextRenderingDefault(</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">只运行一个实例</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;createNew;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mutex&nbsp;m&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Mutex(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">MutexForm</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">out</span><span style="color: #000000;">&nbsp;createNew);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(createNew)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.Run(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Form1());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.ReleaseMutex();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
<br>Ok啦，运行一下，可以看到我们的程序只会运行一个实例啦<br><br>PS:代码很简单，但是美中不足，似乎不能第二次运行的时候，激活前一个实例<br>如果可以激活前一个实例就好了<br>希望达人赐教哈。。<br><br>  <img src ="http://www.phpweblog.net/young40/aggbug/5576.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-08-17 22:33 <a href="http://www.phpweblog.net/young40/archive/2008/08/17/5576.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flex中使用ExternalInterface中的一个很难查找出的小问题</title><link>http://www.phpweblog.net/young40/archive/2008/08/06/5531.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Tue, 05 Aug 2008 17:02:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/08/06/5531.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5531.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/08/06/5531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5531.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5531.html</trackback:ping><description><![CDATA[在使用ExternalInterface的时候我遇到<br>将一个变量设置为""时导致ExternalInterface调用失败<br><br>脚本不报错，但是C#收不到ExternalInterface发起的请求<br><br>解决的办法也很简单，就是把""设置为null即可<br><br>感谢蟀哥辛苦地解决了这个问题。。。<br><br><img src ="http://www.phpweblog.net/young40/aggbug/5531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-08-06 01:02 <a href="http://www.phpweblog.net/young40/archive/2008/08/06/5531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#实现拖放[DragDrop]打开文件</title><link>http://www.phpweblog.net/young40/archive/2008/08/06/5530.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Tue, 05 Aug 2008 16:59:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/08/06/5530.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5530.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/08/06/5530.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5530.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5530.html</trackback:ping><description><![CDATA[首先在Winform中设置<br><br>AllowDrop为True，默认是Fasle的<br><br>然后打开Winform的Event列表可以在Dragdrop中找到关于拖放的几个东东<br><br>双击就可以添加打开文件的代码了<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">label1.Text&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(</span><span style="color: #000000;">0</span><span style="color: #000000;">).ToString();&nbsp;</span></div>
<br>然后使用上述代码就获取到拖放进来的文件的路径了。<br><br><br>补充:<br>在<span style="color: #000000;">DragEnter事件中要这样写<br>意思就是只接受数据为文件的拖动，如果拖动过来的不是数据，那么就拒绝本次拖动操作<br></span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;"> XXX_DragEnter(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;DragEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(e.Data.GetDataPresent(DataFormats.FileDrop))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Effect&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DragDropEffects.Link;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Effect&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;DragDropEffects.None;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br>然后再<span style="color: #000000;">DragDrop事件中做响应操作。</span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;"> XXX_DragDrop(</span><span style="color: #0000ff;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;DragEventArgs&nbsp;e)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br>  <img src ="http://www.phpweblog.net/young40/aggbug/5530.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-08-06 00:59 <a href="http://www.phpweblog.net/young40/archive/2008/08/06/5530.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>地震归来</title><link>http://www.phpweblog.net/young40/archive/2008/06/12/5117.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Thu, 12 Jun 2008 02:40:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/06/12/5117.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5117.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/06/12/5117.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5117.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5117.html</trackback:ping><description><![CDATA[还在这里写bolg，说明我还没有挂。<br><br>生者坚强，逝者安息。<br><br>多难兴邦！<br><br><img src ="http://www.phpweblog.net/young40/aggbug/5117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-06-12 10:40 <a href="http://www.phpweblog.net/young40/archive/2008/06/12/5117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#中使用Flash控件</title><link>http://www.phpweblog.net/young40/archive/2008/06/12/5116.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Thu, 12 Jun 2008 02:38:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/06/12/5116.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/5116.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/06/12/5116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/5116.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/5116.html</trackback:ping><description><![CDATA[首先，Windows Server 2008的64bit版本没有办法正常的开发含flash控件的程序<br>原因是flash控件没有办法正常在系统中注册，使用ie的64bit版本没有办法使用flash控件<br>至于开发出来的程序是不是可以正常使用，要等做出来才知道<br><br>没有办法，装了一个xp的sp3继续开发<br><br>1.将flash控件加入tool box<br>将C:\WINDOWS\system32\Macromed\Flash\Flash9f.ocx复制到开发目录下的obj\Debug中<br>菜单tool=》choose toolbox items=》com components=》shockwave flash objec 确定<br>2.在toolbox中找到shockwave flash object拖入开发窗体中即可<br><br>ps：vs2008会把工具控件分类，这个控件出现在那个分类下，似乎不是固定的。。faint。。<br><img src ="http://www.phpweblog.net/young40/aggbug/5116.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-06-12 10:38 <a href="http://www.phpweblog.net/young40/archive/2008/06/12/5116.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WS2008 64bit</title><link>http://www.phpweblog.net/young40/archive/2008/04/24/3252.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Thu, 24 Apr 2008 15:49:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/04/24/3252.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/3252.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/04/24/3252.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/3252.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/3252.html</trackback:ping><description><![CDATA[<p>安装完了ws2008 64bit<br>马上安装hyper-v,一切正常,果真是要先装这个才能装其他的东西.<br><br></p>
<img src ="http://www.phpweblog.net/young40/aggbug/3252.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-04-24 23:49 <a href="http://www.phpweblog.net/young40/archive/2008/04/24/3252.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Yahoo User Interface]一个逗号引发的辛苦</title><link>http://www.phpweblog.net/young40/archive/2008/04/23/3249.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Wed, 23 Apr 2008 14:51:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/04/23/3249.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/3249.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/04/23/3249.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/3249.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/3249.html</trackback:ping><description><![CDATA[最近把YUI()引入到了现在做的项目当中，感觉做ajax非常顺手<br><br>由于firefox下有firebug这个插件，所以开发的时候都是以ie为准<br>稍微在ie下做些测试，一般都没有问题。<br><br>这次被一个逗号搞得非常辛苦。<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;send_email_callback&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;success:handleSuccess,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;failure:handleFailure， <br>};&nbsp;</span></div>
<br>这段代码在firefox和ie下都不会报错<br>firefox运行正常，ie下导致整个脚本失效<br><br>调试都是用alert来调试，但是ie下alert的功能也失效了，无论alert放在文件的那个位置，都不会有弹框出来<br>整个js文件代码长达300行，找的好辛苦。。。<br>正确的应为：
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;send_email_callback&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;<br>{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;success:handleSuccess,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;failure:handleFailure&nbsp;<br>};&nbsp;</span></div>
唉，一个逗号引发的辛苦啊。。<br><br>这个错误应该是受到php里面array写法的影响<br>经常在定义array时为了给array添加新值方便，一般都是会再加一个逗号。。。<br><br>另外，还有个地方也会导致脚本在ie下失效<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">_div_sending.className&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;'mail_sending';<br></span><span style="color: #008000;">//</span><span style="color: #008000;">_div_sending.class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;'mail_sending';</span></div>
<br>其中第二行会导致脚本不能运行，也不会报错，同样无论什么地方放一个alert都不会有反应<br>额，以前看一本书上说，给控件加class的值，这样好像会做到多个浏览器兼容。。。faint，或许是我记错了吧。。<br>解决的办法，注释掉，或者用yui自带的添加的class的方法<br>这段代码是几个星期前写的，那个时候还没有看到yui给控件加class的方法<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">YAHOO.util.Dom.addClass(_div_sending,&nbsp;'mail_sending');</span></div>
<br>希望有人可以告诉我，ie下调试js简单的方法<br>额，我的js的水平也太臭了。。。额。。。。<br>  <img src ="http://www.phpweblog.net/young40/aggbug/3249.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-04-23 22:51 <a href="http://www.phpweblog.net/young40/archive/2008/04/23/3249.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[发布]js调色板(colorpad)</title><link>http://www.phpweblog.net/young40/archive/2008/04/12/3182.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 12 Apr 2008 13:22:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/04/12/3182.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/3182.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/04/12/3182.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/3182.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/3182.html</trackback:ping><description><![CDATA[前天做了个小项目，需要一个调色板，自己动手写了一个，现在发出来，希望大家批评指正。<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #008000;">/*</span><span style="color: #008000;">*<br></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;文件:colorpad.js<br></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;版本:0.1<br></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;作者:young40&nbsp;||&nbsp;杨世玲<br></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;日期:2008-04-07<br></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;作用:弹出一个调色板<br></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #008000;">&nbsp;*&nbsp;版权:GPL2<br></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #008000;">&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;cp_loaded&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;postioned&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br></span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;target_obj&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">;<br></span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;cp_load()<br></span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;p&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;'';<br></span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;'</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div&nbsp;id</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">colorpad</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;style</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">position:absolute;&nbsp;z-index:10;border:#000000&nbsp;solid&nbsp;1px;&nbsp;background-color:#FFF;&nbsp;width:490px;</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">';<br></span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;'</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">div&nbsp;style</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">text-align:right;&nbsp;cursor:pointer;</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;onclick</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">hidecolorpad();</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">关闭</span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">div</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">';<br></span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;R&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;G&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;B&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Array('</span><span style="color: #000000;">0</span><span style="color: #000000;">',&nbsp;'</span><span style="color: #000000;">3</span><span style="color: #000000;">',&nbsp;'</span><span style="color: #000000;">6</span><span style="color: #000000;">',&nbsp;'</span><span style="color: #000000;">9</span><span style="color: #000000;">',&nbsp;'C',&nbsp;'F');<br></span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;colors&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;'';<br></span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(r&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;R)<br></span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;_r&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;R[r]&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;R[r];<br></span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(g&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;G)<br></span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;_g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;G[g]&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;G[g];<br></span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(b&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;B)<br></span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;_b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;B[b]&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;B[b];<br></span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;color&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;_r&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;_g&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;_b;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;colors&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;'&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">a&nbsp;href</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">javascript:cp_pick(\''&nbsp;+&nbsp;color&nbsp;+&nbsp;'\');</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;style</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">color:#'&nbsp;+&nbsp;color&nbsp;+&nbsp;';background-color:#'&nbsp;+&nbsp;color&nbsp;+&nbsp;';</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;display:block;&nbsp;width:40px;</span><span style="color: #000000;">"</span><span style="color: #000000;">&gt;&amp;nbsp;&amp;nbsp;&lt;/a&gt;&nbsp;';<br></span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="color: #008080;">35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;+=&nbsp;colors;<br></span><span style="color: #008080;">36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;+=&nbsp;'&lt;/div&gt;';<br></span><span style="color: #008080;">37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;container&nbsp;=&nbsp;document.createElement('div');<br></span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;container.id&nbsp;=&nbsp;'container';<br></span><span style="color: #008080;">40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;container.innerHTML&nbsp;=&nbsp;p;<br></span><span style="color: #008080;">41</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;document.body.appendChild(container);<br></span><span style="color: #008080;">42</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cp_loaded&nbsp;=&nbsp;true;<br></span><span style="color: #008080;">43</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">44</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">45</span>&nbsp;<span style="color: #000000;">function&nbsp;showcolorpad(event,&nbsp;obj)<br></span><span style="color: #008080;">46</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;if(!cp_loaded){&nbsp;cp_load();&nbsp;}//加载<br></span><span style="color: #008080;">48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">49</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;if(!postioned)<br></span><span style="color: #008080;">50</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="color: #008080;">51</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;postion&nbsp;=&nbsp;cp_postion(event,&nbsp;obj);//定位<br></span><span style="color: #008080;">52</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp_$('colorpad').style.top&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;(postion.y&nbsp;+&nbsp;20)&nbsp;+&nbsp;'px';<br></span><span style="color: #008080;">53</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp_$('colorpad').style.left&nbsp;=&nbsp;(postion.x&nbsp;-&nbsp;250)&nbsp;+&nbsp;'px';<br></span><span style="color: #008080;">54</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;postioned&nbsp;=&nbsp;true;<br></span><span style="color: #008080;">55</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">56</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">57</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cp_$('colorpad').style.display&nbsp;=&nbsp;'';//显示<br></span><span style="color: #008080;">58</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">59</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;target_obj&nbsp;=&nbsp;obj;//记录需要改变的表单<br></span><span style="color: #008080;">60</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">61</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">62</span>&nbsp;<span style="color: #000000;">function&nbsp;hidecolorpad()<br></span><span style="color: #008080;">63</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">64</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;if(!cp_loaded){return&nbsp;false;}//加载<br></span><span style="color: #008080;">65</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #008080;">66</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;cp_$('colorpad').style.display&nbsp;=&nbsp;'none';//隐藏<br></span><span style="color: #008080;">67</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">68</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">69</span>&nbsp;<span style="color: #000000;">function&nbsp;cp_pick(color)<br></span><span style="color: #008080;">70</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">71</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;target_obj.value&nbsp;=&nbsp;'#'&nbsp;+&nbsp;color;<br></span><span style="color: #008080;">72</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;hidecolorpad();<br></span><span style="color: #008080;">73</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">74</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">75</span>&nbsp;<span style="color: #000000;">function&nbsp;cp_postion(event,&nbsp;obj)<br></span><span style="color: #008080;">76</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">77</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;p&nbsp;=&nbsp;new&nbsp;Object();<br></span><span style="color: #008080;">78</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;p.x&nbsp;=&nbsp;event.clientX;<br></span><span style="color: #008080;">79</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;p.y&nbsp;=&nbsp;event.clientY;<br></span><span style="color: #008080;">80</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">81</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;p;<br></span><span style="color: #008080;">82</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">83</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">84</span>&nbsp;<span style="color: #000000;">function&nbsp;cp_$(id)<br></span><span style="color: #008080;">85</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">86</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;document.getElementById(id);<br></span><span style="color: #008080;">87</span>&nbsp;<span style="color: #000000;">}</span></div>
<br>调用方法:<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">1</span>&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;">&nbsp;onclick</span><span style="color: #0000ff;">="showcolorpad(event,&nbsp;this);"</span><span style="color: #0000ff;">&gt;</span></div>
<br><br>下载地址:<br><a href="http://www.phpweblog.net/Files/young40/colorpad.js">http://www.phpweblog.net/Files/young40/colorpad.js</a><br><br><br><br><br>   <img src ="http://www.phpweblog.net/young40/aggbug/3182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-04-12 21:22 <a href="http://www.phpweblog.net/young40/archive/2008/04/12/3182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>phpwind和discuz中获取用户IP的方法</title><link>http://www.phpweblog.net/young40/archive/2008/03/15/2973.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 15 Mar 2008 14:33:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/03/15/2973.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2973.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/03/15/2973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2973.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2973.html</trackback:ping><description><![CDATA[phpwind：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_X_FORWARDED_FOR</span><span style="color: #000000;">'</span><span style="color: #000000;">]){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$onlineip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_X_FORWARDED_FOR</span><span style="color: #000000;">'</span><span style="color: #000000;">];<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$c_agentip</span><span style="color: #000000;">=</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>}&nbsp;</span><span style="color: #0000ff;">elseif</span><span style="color: #000000;">(</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_CLIENT_IP</span><span style="color: #000000;">'</span><span style="color: #000000;">]){<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$onlineip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_CLIENT_IP</span><span style="color: #000000;">'</span><span style="color: #000000;">];<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$c_agentip</span><span style="color: #000000;">=</span><span style="color: #000000;">1</span><span style="color: #000000;">;<br>}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$onlineip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">];<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$c_agentip</span><span style="color: #000000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}</span></div>
disuz：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_CLIENT_IP</span><span style="color: #000000;">'</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">strcasecmp</span><span style="color: #000000;">(</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_CLIENT_IP</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">unknown</span><span style="color: #000000;">'</span><span style="color: #000000;">))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$onlineip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_CLIENT_IP</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">elseif</span><span style="color: #000000;">(</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_X_FORWARDED_FOR</span><span style="color: #000000;">'</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">strcasecmp</span><span style="color: #000000;">(</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_X_FORWARDED_FOR</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">unknown</span><span style="color: #000000;">'</span><span style="color: #000000;">))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$onlineip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">HTTP_X_FORWARDED_FOR</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">elseif</span><span style="color: #000000;">(</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">strcasecmp</span><span style="color: #000000;">(</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">unknown</span><span style="color: #000000;">'</span><span style="color: #000000;">))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$onlineip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">getenv</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">);<br>}&nbsp;</span><span style="color: #0000ff;">elseif</span><span style="color: #000000;">(</span><span style="color: #0000ff;">isset</span><span style="color: #000000;">(</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">])&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">strcasecmp</span><span style="color: #000000;">(</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">unknown</span><span style="color: #000000;">'</span><span style="color: #000000;">))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$onlineip</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_SERVER</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">REMOTE_ADDR</span><span style="color: #000000;">'</span><span style="color: #000000;">];<br>}</span></div><img src ="http://www.phpweblog.net/young40/aggbug/2973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-03-15 22:33 <a href="http://www.phpweblog.net/young40/archive/2008/03/15/2973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网站乱码解决整体方案</title><link>http://www.phpweblog.net/young40/archive/2008/03/06/2904.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Wed, 05 Mar 2008 16:57:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/03/06/2904.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2904.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/03/06/2904.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2904.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2904.html</trackback:ping><description><![CDATA[1。Mysql的Collation字符集整理<br>建立数据库时就设置为：utf8_unicode_ci<br>建立数据表的时候也要注意字符集整理设置为：utf8_unicode_ci<br>2.phpMyAdmin的connection collation:字符集整理<br>也要选择utf8_unicode_ci，这个时候无论你插入修改查看都不会出现乱码<br>3.php<br>在连接到mysql服务器之后，设置连接使用的字符集<br>mysql_query("SET NAMES 'utf8'", $link);<br>4.网站编码<br>所有的文件使用uft8来编辑<br>很多ide都支持很好的utf8的，比如zend studio，Dreamwaver<br>5.html页面显示<br>在最后显示时指定显示所需要的编码类型为utf-8<br>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;<br><br>这样在开发过程或者实际的部署中都不会出现乱码的情况。<br><br>有些时候因为一些特殊的需要，还是会出现乱码<br>这个时候可以考虑一些转换字符串编码的函数或者类库<br>比如iconv：<br>$filename = iconv("GB2312","UTF-8", $filename);<br><br>
<dfn title="Unicode (multilingual), case-insensitive"><br><br><br><br></dfn><img src ="http://www.phpweblog.net/young40/aggbug/2904.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-03-06 00:57 <a href="http://www.phpweblog.net/young40/archive/2008/03/06/2904.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取页面运行时间以及数据库查询次数</title><link>http://www.phpweblog.net/young40/archive/2008/03/06/2903.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Wed, 05 Mar 2008 16:32:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2008/03/06/2903.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2903.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2008/03/06/2903.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2903.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2903.html</trackback:ping><description><![CDATA[衡量一个脚本的好坏，运行的时间是一个重要的标志。<br><br>如何在php中获取脚本的运行时间呢，下面我抛砖引玉，写出我的方法<br>希望大家可以交流下<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">&lt;?</span><span style="color: #000000;">php<br></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"></span><span style="color: #800080;">$start_time_array</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;get_microtime_array();<br></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008080;">sleep</span><span style="color: #000000;">(</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;"></span><span style="color: #800080;">$end_time_array</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;get_microtime_array();<br></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">echo</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">&lt;b&gt;</span><span style="color: #000000;">'</span><span style="color: #000000;">.</span><span style="color: #000000;">(</span><span style="color: #800080;">$end_time_array</span><span style="color: #000000;">[</span><span style="color: #000000;">0</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$end_time_array</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$start_time_array</span><span style="color: #000000;">[</span><span style="color: #000000;">0</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$start_time_array</span><span style="color: #000000;">[</span><span style="color: #000000;">1</span><span style="color: #000000;">])</span><span style="color: #000000;">.</span><span style="color: #000000;">'</span><span style="color: #000000;">&lt;/b&gt;</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;get_microtime_array()<br></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">explode</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">microtime</span><span style="color: #000000;">());<br></span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;"></span><span style="color: #000000;">?&gt;</span></div>
<br><br>很简单吧。呵呵<br><br>PHP的程序中经常会因为sql的查询浪费大量的时间，如果减少了sql查询次数，相对来讲，脚本的执行效率和数据库的负载要小很多了。<br>我们可以在脚本的开头设置一个为0 的变量，所有的sql查询都通过一个被封装过的函数进行，如果执行一次sql查询，那么就把这个变量增加1<br>这样就可以获取到sql查询次数了<br><br>这几天正在研究sql查询的缓存。<br>希望尽快可以有结果，前面一段时间由于更新博客太频繁，并且每篇博客都发到了首页，引起了站长同学的不满<br>等我把所有的无关的内容撤下来，已经没有太多的心情来更新这个博客了<br>事情也过去好几个月了，想想事情真是小的不值一提<br>最近一段时间做的多想的少，所以也没有什么好写的了<br><br>这几天着手对网站进行重构，所以要多思考些，把这几天的心得都记录到这里吧<br>希望大家可以讨论讨论。<br><img src ="http://www.phpweblog.net/young40/aggbug/2903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2008-03-06 00:32 <a href="http://www.phpweblog.net/young40/archive/2008/03/06/2903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Perl[001]Hello,Perl!</title><link>http://www.phpweblog.net/young40/archive/2007/12/24/2592.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sun, 23 Dec 2007 17:32:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/12/24/2592.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2592.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/12/24/2592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2592.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2592.html</trackback:ping><description><![CDATA[今天写了第一个Perl程序<br><br>在linux下，先用编辑器建立一个文本文件。<br>写上以下内容<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">＃！／usr</span><span style="color: #000000;">/</span><span style="color: #000000;">bin</span><span style="color: #000000;">/</span><span style="color: #000000;">perl<br>&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">"</span><span style="color: #000000; font-weight: bold;">helo,perl!\n</span><span style="color: #000000; font-weight: bold;">"</span></div>
例如我们将这个文件保存为pl<br><br>然后我们将这个文件赋予运行权限。<br><br>chmod a+x pl<br><br>然后在Terminal中运行<br>./pl<br>显示结果为：<br>hello,perl<br><br>应该是我的系统预先安装了perl的解释器<br>如果没有安装的话，应该需要再安装<br><br>至于怎么安装，等待以后的探索了。<br><br><img src ="http://www.phpweblog.net/young40/aggbug/2592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-12-24 01:32 <a href="http://www.phpweblog.net/young40/archive/2007/12/24/2592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu[006]Vsftp的配置和使用</title><link>http://www.phpweblog.net/young40/archive/2007/12/23/2588.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 22 Dec 2007 16:06:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/12/23/2588.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2588.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/12/23/2588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2588.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2588.html</trackback:ping><description><![CDATA[安装起来和其他的ubuntu软件一样简单。<br><br>sudo apt-get install vsftpd<br><br>配置文件的路径为：<br>/etc/vsftpd.conf<br><br>配置文件的内容为
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#&nbsp;Example&nbsp;config&nbsp;file&nbsp;/etc/vsftpd.conf<br>#<br>#&nbsp;The&nbsp;default&nbsp;compiled&nbsp;in&nbsp;settings&nbsp;are&nbsp;fairly&nbsp;paranoid.&nbsp;This&nbsp;sample&nbsp;file<br>#&nbsp;loosens&nbsp;things&nbsp;up&nbsp;a&nbsp;bit,&nbsp;to&nbsp;make&nbsp;the&nbsp;ftp&nbsp;daemon&nbsp;more&nbsp;usable.<br>#&nbsp;Please&nbsp;see&nbsp;vsftpd.conf.5&nbsp;for&nbsp;all&nbsp;compiled&nbsp;in&nbsp;defaults.<br>#<br>#&nbsp;READ&nbsp;THIS:&nbsp;This&nbsp;example&nbsp;file&nbsp;is&nbsp;NOT&nbsp;an&nbsp;exhaustive&nbsp;list&nbsp;of&nbsp;vsftpd&nbsp;options.<br>#&nbsp;Please&nbsp;read&nbsp;the&nbsp;vsftpd.conf.5&nbsp;manual&nbsp;page&nbsp;to&nbsp;get&nbsp;a&nbsp;full&nbsp;idea&nbsp;of&nbsp;vsftpd's<br>#&nbsp;capabilities.<br>#<br>#<br>#&nbsp;Run&nbsp;standalone?&nbsp;&nbsp;vsftpd&nbsp;can&nbsp;run&nbsp;either&nbsp;from&nbsp;an&nbsp;inetd&nbsp;or&nbsp;as&nbsp;a&nbsp;standalone<br>#&nbsp;daemon&nbsp;started&nbsp;from&nbsp;an&nbsp;initscript.<br>listen=YES<br>#<br>#&nbsp;Run&nbsp;standalone&nbsp;with&nbsp;IPv6?<br>#&nbsp;Like&nbsp;the&nbsp;listen&nbsp;parameter,&nbsp;except&nbsp;vsftpd&nbsp;will&nbsp;listen&nbsp;on&nbsp;an&nbsp;IPv6&nbsp;socket<br>#&nbsp;instead&nbsp;of&nbsp;an&nbsp;IPv4&nbsp;one.&nbsp;This&nbsp;parameter&nbsp;and&nbsp;the&nbsp;listen&nbsp;parameter&nbsp;are&nbsp;mutually<br>#&nbsp;exclusive.<br>#listen_ipv6=YES<br>#<br>#&nbsp;Allow&nbsp;anonymous&nbsp;FTP?&nbsp;(Beware&nbsp;-&nbsp;allowed&nbsp;by&nbsp;default&nbsp;if&nbsp;you&nbsp;comment&nbsp;this&nbsp;out).<br>anonymous_enable=YES<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;to&nbsp;allow&nbsp;local&nbsp;users&nbsp;to&nbsp;log&nbsp;in.<br>#local_enable=YES<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;to&nbsp;enable&nbsp;any&nbsp;form&nbsp;of&nbsp;FTP&nbsp;write&nbsp;command.<br>#write_enable=YES<br>#<br>#&nbsp;Default&nbsp;umask&nbsp;for&nbsp;local&nbsp;users&nbsp;is&nbsp;077.&nbsp;You&nbsp;may&nbsp;wish&nbsp;to&nbsp;change&nbsp;this&nbsp;to&nbsp;022,<br>#&nbsp;if&nbsp;your&nbsp;users&nbsp;expect&nbsp;that&nbsp;(022&nbsp;is&nbsp;used&nbsp;by&nbsp;most&nbsp;other&nbsp;ftpd's)<br>#local_umask=022<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;to&nbsp;allow&nbsp;the&nbsp;anonymous&nbsp;FTP&nbsp;user&nbsp;to&nbsp;upload&nbsp;files.&nbsp;This&nbsp;only<br>#&nbsp;has&nbsp;an&nbsp;effect&nbsp;if&nbsp;the&nbsp;above&nbsp;global&nbsp;write&nbsp;enable&nbsp;is&nbsp;activated.&nbsp;Also,&nbsp;you&nbsp;will<br>#&nbsp;obviously&nbsp;need&nbsp;to&nbsp;create&nbsp;a&nbsp;directory&nbsp;writable&nbsp;by&nbsp;the&nbsp;FTP&nbsp;user.<br>#anon_upload_enable=YES<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;if&nbsp;you&nbsp;want&nbsp;the&nbsp;anonymous&nbsp;FTP&nbsp;user&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;create<br>#&nbsp;new&nbsp;directories.<br>#anon_mkdir_write_enable=YES<br>#<br>#&nbsp;Activate&nbsp;directory&nbsp;messages&nbsp;-&nbsp;messages&nbsp;given&nbsp;to&nbsp;remote&nbsp;users&nbsp;when&nbsp;they<br>#&nbsp;go&nbsp;into&nbsp;a&nbsp;certain&nbsp;directory.<br>dirmessage_enable=YES<br>#<br>#&nbsp;Activate&nbsp;logging&nbsp;of&nbsp;uploads/downloads.<br>xferlog_enable=YES<br>#<br>#&nbsp;Make&nbsp;sure&nbsp;PORT&nbsp;transfer&nbsp;connections&nbsp;originate&nbsp;from&nbsp;port&nbsp;20&nbsp;(ftp-data).<br>connect_from_port_20=YES<br>#<br>#&nbsp;If&nbsp;you&nbsp;want,&nbsp;you&nbsp;can&nbsp;arrange&nbsp;for&nbsp;uploaded&nbsp;anonymous&nbsp;files&nbsp;to&nbsp;be&nbsp;owned&nbsp;by<br>#&nbsp;a&nbsp;different&nbsp;user.&nbsp;Note!&nbsp;Using&nbsp;"root"&nbsp;for&nbsp;uploaded&nbsp;files&nbsp;is&nbsp;not<br>#&nbsp;recommended!<br>#chown_uploads=YES<br>#chown_username=whoever<br>#<br>#&nbsp;You&nbsp;may&nbsp;override&nbsp;where&nbsp;the&nbsp;log&nbsp;file&nbsp;goes&nbsp;if&nbsp;you&nbsp;like.&nbsp;The&nbsp;default&nbsp;is&nbsp;shown<br>#&nbsp;below.<br>#xferlog_file=/var/log/vsftpd.log<br>#<br>#&nbsp;If&nbsp;you&nbsp;want,&nbsp;you&nbsp;can&nbsp;have&nbsp;your&nbsp;log&nbsp;file&nbsp;in&nbsp;standard&nbsp;ftpd&nbsp;xferlog&nbsp;format<br>#xferlog_std_format=YES<br>#<br>#&nbsp;You&nbsp;may&nbsp;change&nbsp;the&nbsp;default&nbsp;value&nbsp;for&nbsp;timing&nbsp;out&nbsp;an&nbsp;idle&nbsp;session.<br>#idle_session_timeout=600<br>#<br>#&nbsp;You&nbsp;may&nbsp;change&nbsp;the&nbsp;default&nbsp;value&nbsp;for&nbsp;timing&nbsp;out&nbsp;a&nbsp;data&nbsp;connection.<br>#data_connection_timeout=120<br>#<br>#&nbsp;It&nbsp;is&nbsp;recommended&nbsp;that&nbsp;you&nbsp;define&nbsp;on&nbsp;your&nbsp;system&nbsp;a&nbsp;unique&nbsp;user&nbsp;which&nbsp;the<br>#&nbsp;ftp&nbsp;server&nbsp;can&nbsp;use&nbsp;as&nbsp;a&nbsp;totally&nbsp;isolated&nbsp;and&nbsp;unprivileged&nbsp;user.<br>#nopriv_user=ftpsecure<br>#<br>#&nbsp;Enable&nbsp;this&nbsp;and&nbsp;the&nbsp;server&nbsp;will&nbsp;recognise&nbsp;asynchronous&nbsp;ABOR&nbsp;requests.&nbsp;Not<br>#&nbsp;recommended&nbsp;for&nbsp;security&nbsp;(the&nbsp;code&nbsp;is&nbsp;non-trivial).&nbsp;Not&nbsp;enabling&nbsp;it,<br>#&nbsp;however,&nbsp;may&nbsp;confuse&nbsp;older&nbsp;FTP&nbsp;clients.<br>#async_abor_enable=YES<br>#<br>#&nbsp;By&nbsp;default&nbsp;the&nbsp;server&nbsp;will&nbsp;pretend&nbsp;to&nbsp;allow&nbsp;ASCII&nbsp;mode&nbsp;but&nbsp;in&nbsp;fact&nbsp;ignore<br>#&nbsp;the&nbsp;request.&nbsp;Turn&nbsp;on&nbsp;the&nbsp;below&nbsp;options&nbsp;to&nbsp;have&nbsp;the&nbsp;server&nbsp;actually&nbsp;do&nbsp;ASCII<br>#&nbsp;mangling&nbsp;on&nbsp;files&nbsp;when&nbsp;in&nbsp;ASCII&nbsp;mode.<br>#&nbsp;Beware&nbsp;that&nbsp;on&nbsp;some&nbsp;FTP&nbsp;servers,&nbsp;ASCII&nbsp;support&nbsp;allows&nbsp;a&nbsp;denial&nbsp;of&nbsp;service<br>#&nbsp;attack&nbsp;(DoS)&nbsp;via&nbsp;the&nbsp;command&nbsp;"SIZE&nbsp;/big/file"&nbsp;in&nbsp;ASCII&nbsp;mode.&nbsp;vsftpd<br>#&nbsp;predicted&nbsp;this&nbsp;attack&nbsp;and&nbsp;has&nbsp;always&nbsp;been&nbsp;safe,&nbsp;reporting&nbsp;the&nbsp;size&nbsp;of&nbsp;the<br>#&nbsp;raw&nbsp;file.<br>#&nbsp;ASCII&nbsp;mangling&nbsp;is&nbsp;a&nbsp;horrible&nbsp;feature&nbsp;of&nbsp;the&nbsp;protocol.<br>#ascii_upload_enable=YES<br>#ascii_download_enable=YES<br>#<br>#&nbsp;You&nbsp;may&nbsp;fully&nbsp;customise&nbsp;the&nbsp;login&nbsp;banner&nbsp;string:<br>#ftpd_banner=Welcome&nbsp;to&nbsp;blah&nbsp;FTP&nbsp;service.<br>#<br>#&nbsp;You&nbsp;may&nbsp;specify&nbsp;a&nbsp;file&nbsp;of&nbsp;disallowed&nbsp;anonymous&nbsp;e-mail&nbsp;addresses.&nbsp;Apparently<br>#&nbsp;useful&nbsp;for&nbsp;combatting&nbsp;certain&nbsp;DoS&nbsp;attacks.<br>#deny_email_enable=YES<br>#&nbsp;(default&nbsp;follows)<br>#banned_email_file=/etc/vsftpd.banned_emails<br>#<br>#&nbsp;You&nbsp;may&nbsp;restrict&nbsp;local&nbsp;users&nbsp;to&nbsp;their&nbsp;home&nbsp;directories.&nbsp;&nbsp;See&nbsp;the&nbsp;FAQ&nbsp;for<br>#&nbsp;the&nbsp;possible&nbsp;risks&nbsp;in&nbsp;this&nbsp;before&nbsp;using&nbsp;chroot_local_user&nbsp;or<br>#&nbsp;chroot_list_enable&nbsp;below.<br>#chroot_local_user=YES<br>#<br>#&nbsp;You&nbsp;may&nbsp;specify&nbsp;an&nbsp;explicit&nbsp;list&nbsp;of&nbsp;local&nbsp;users&nbsp;to&nbsp;chroot()&nbsp;to&nbsp;their&nbsp;home<br>#&nbsp;directory.&nbsp;If&nbsp;chroot_local_user&nbsp;is&nbsp;YES,&nbsp;then&nbsp;this&nbsp;list&nbsp;becomes&nbsp;a&nbsp;list&nbsp;of<br>#&nbsp;users&nbsp;to&nbsp;NOT&nbsp;chroot().<br>#chroot_list_enable=YES<br>#&nbsp;(default&nbsp;follows)<br>#chroot_list_file=/etc/vsftpd.chroot_list<br>#<br>#&nbsp;You&nbsp;may&nbsp;activate&nbsp;the&nbsp;"-R"&nbsp;option&nbsp;to&nbsp;the&nbsp;builtin&nbsp;ls.&nbsp;This&nbsp;is&nbsp;disabled&nbsp;by<br>#&nbsp;default&nbsp;to&nbsp;avoid&nbsp;remote&nbsp;users&nbsp;being&nbsp;able&nbsp;to&nbsp;cause&nbsp;excessive&nbsp;I/O&nbsp;on&nbsp;large<br>#&nbsp;sites.&nbsp;However,&nbsp;some&nbsp;broken&nbsp;FTP&nbsp;clients&nbsp;such&nbsp;as&nbsp;"ncftp"&nbsp;and&nbsp;"mirror"&nbsp;assume<br>#&nbsp;the&nbsp;presence&nbsp;of&nbsp;the&nbsp;"-R"&nbsp;option,&nbsp;so&nbsp;there&nbsp;is&nbsp;a&nbsp;strong&nbsp;case&nbsp;for&nbsp;enabling&nbsp;it.<br>#ls_recurse_enable=YES<br>#<br>#<br>#&nbsp;Debian&nbsp;customization<br>#<br>#&nbsp;Some&nbsp;of&nbsp;vsftpd's&nbsp;settings&nbsp;don't&nbsp;fit&nbsp;the&nbsp;Debian&nbsp;filesystem&nbsp;layout&nbsp;by<br>#&nbsp;default.&nbsp;&nbsp;These&nbsp;settings&nbsp;are&nbsp;more&nbsp;Debian-friendly.<br>#<br>#&nbsp;This&nbsp;option&nbsp;should&nbsp;be&nbsp;the&nbsp;name&nbsp;of&nbsp;a&nbsp;directory&nbsp;which&nbsp;is&nbsp;empty.&nbsp;&nbsp;Also,&nbsp;the<br>#&nbsp;directory&nbsp;should&nbsp;not&nbsp;be&nbsp;writable&nbsp;by&nbsp;the&nbsp;ftp&nbsp;user.&nbsp;This&nbsp;directory&nbsp;is&nbsp;used<br>#&nbsp;as&nbsp;a&nbsp;secure&nbsp;chroot()&nbsp;jail&nbsp;at&nbsp;times&nbsp;vsftpd&nbsp;does&nbsp;not&nbsp;require&nbsp;filesystem<br>#&nbsp;access.<br>secure_chroot_dir=/var/run/vsftpd<br>#<br>#&nbsp;This&nbsp;string&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;PAM&nbsp;service&nbsp;vsftpd&nbsp;will&nbsp;use.<br>pam_service_name=vsftpd<br>#<br>#&nbsp;This&nbsp;option&nbsp;specifies&nbsp;the&nbsp;location&nbsp;of&nbsp;the&nbsp;RSA&nbsp;certificate&nbsp;to&nbsp;use&nbsp;for&nbsp;SSL<br>#&nbsp;encrypted&nbsp;connections.<br>rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem<br>#&nbsp;This&nbsp;option&nbsp;specifies&nbsp;the&nbsp;location&nbsp;of&nbsp;the&nbsp;RSA&nbsp;key&nbsp;to&nbsp;use&nbsp;for&nbsp;SSL<br>#&nbsp;encrypted&nbsp;connections.<br>rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key</span></div>
我的翻译<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"># 文件地址为 /etc/vsftpd.conf<br>#<br>#&nbsp;The&nbsp;default&nbsp;compiled&nbsp;in&nbsp;settings&nbsp;are&nbsp;fairly&nbsp;paranoid.&nbsp;This&nbsp;sample&nbsp;file<br>#&nbsp;loosens&nbsp;things&nbsp;up&nbsp;a&nbsp;bit,&nbsp;to&nbsp;make&nbsp;the&nbsp;ftp&nbsp;daemon&nbsp;more&nbsp;usable.<br>#&nbsp;Please&nbsp;see&nbsp;vsftpd.conf.5&nbsp;for&nbsp;all&nbsp;compiled&nbsp;in&nbsp;defaults.<br>#<br># 注意: 这个不包含所有vsftpd的选项。<br># 请阅读 vsftpd.conf.5 手册，以查看vsftp的所有功能<br>#<br># 是否以独立模式运行standalone<br>listen=YES<br>#<br>#&nbsp;Run&nbsp;standalone&nbsp;with&nbsp;IPv6?<br>#&nbsp;Like&nbsp;the&nbsp;listen&nbsp;parameter,&nbsp;except&nbsp;vsftpd&nbsp;will&nbsp;listen&nbsp;on&nbsp;an&nbsp;IPv6&nbsp;socket<br>#&nbsp;instead&nbsp;of&nbsp;an&nbsp;IPv4&nbsp;one.&nbsp;This&nbsp;parameter&nbsp;and&nbsp;the&nbsp;listen&nbsp;parameter&nbsp;are&nbsp;mutually<br>#&nbsp;exclusive.<br>#listen_ipv6=YES<br>#<br># 是否允许匿名访问<br>anonymous_enable=YES<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;to&nbsp;allow&nbsp;local&nbsp;users&nbsp;to&nbsp;log&nbsp;in.<br>#local_enable=YES<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;to&nbsp;enable&nbsp;any&nbsp;form&nbsp;of&nbsp;FTP&nbsp;write&nbsp;command.<br>#write_enable=YES<br>#<br>#&nbsp;Default&nbsp;umask&nbsp;for&nbsp;local&nbsp;users&nbsp;is&nbsp;077.&nbsp;You&nbsp;may&nbsp;wish&nbsp;to&nbsp;change&nbsp;this&nbsp;to&nbsp;022,<br>#&nbsp;if&nbsp;your&nbsp;users&nbsp;expect&nbsp;that&nbsp;(022&nbsp;is&nbsp;used&nbsp;by&nbsp;most&nbsp;other&nbsp;ftpd's)<br>#local_umask=022<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;to&nbsp;allow&nbsp;the&nbsp;anonymous&nbsp;FTP&nbsp;user&nbsp;to&nbsp;upload&nbsp;files.&nbsp;This&nbsp;only<br>#&nbsp;has&nbsp;an&nbsp;effect&nbsp;if&nbsp;the&nbsp;above&nbsp;global&nbsp;write&nbsp;enable&nbsp;is&nbsp;activated.&nbsp;Also,&nbsp;you&nbsp;will<br>#&nbsp;obviously&nbsp;need&nbsp;to&nbsp;create&nbsp;a&nbsp;directory&nbsp;writable&nbsp;by&nbsp;the&nbsp;FTP&nbsp;user.<br>#anon_upload_enable=YES<br>#<br>#&nbsp;Uncomment&nbsp;this&nbsp;if&nbsp;you&nbsp;want&nbsp;the&nbsp;anonymous&nbsp;FTP&nbsp;user&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;create<br>#&nbsp;new&nbsp;directories.<br>#anon_mkdir_write_enable=YES<br>#<br>#&nbsp;Activate&nbsp;directory&nbsp;messages&nbsp;-&nbsp;messages&nbsp;given&nbsp;to&nbsp;remote&nbsp;users&nbsp;when&nbsp;they<br>#&nbsp;go&nbsp;into&nbsp;a&nbsp;certain&nbsp;directory.<br>dirmessage_enable=YES<br>#<br>#&nbsp;Activate&nbsp;logging&nbsp;of&nbsp;uploads/downloads.<br>xferlog_enable=YES<br>#<br>#&nbsp;Make&nbsp;sure&nbsp;PORT&nbsp;transfer&nbsp;connections&nbsp;originate&nbsp;from&nbsp;port&nbsp;20&nbsp;(ftp-data).<br>connect_from_port_20=YES<br>#<br>#&nbsp;If&nbsp;you&nbsp;want,&nbsp;you&nbsp;can&nbsp;arrange&nbsp;for&nbsp;uploaded&nbsp;anonymous&nbsp;files&nbsp;to&nbsp;be&nbsp;owned&nbsp;by<br>#&nbsp;a&nbsp;different&nbsp;user.&nbsp;Note!&nbsp;Using&nbsp;"root"&nbsp;for&nbsp;uploaded&nbsp;files&nbsp;is&nbsp;not<br>#&nbsp;recommended!<br>#chown_uploads=YES<br>#chown_username=whoever<br>#<br>#&nbsp;You&nbsp;may&nbsp;override&nbsp;where&nbsp;the&nbsp;log&nbsp;file&nbsp;goes&nbsp;if&nbsp;you&nbsp;like.&nbsp;The&nbsp;default&nbsp;is&nbsp;shown<br>#&nbsp;below.<br>#xferlog_file=/var/log/vsftpd.log<br>#<br>#&nbsp;If&nbsp;you&nbsp;want,&nbsp;you&nbsp;can&nbsp;have&nbsp;your&nbsp;log&nbsp;file&nbsp;in&nbsp;standard&nbsp;ftpd&nbsp;xferlog&nbsp;format<br>#xferlog_std_format=YES<br>#<br>#&nbsp;You&nbsp;may&nbsp;change&nbsp;the&nbsp;default&nbsp;value&nbsp;for&nbsp;timing&nbsp;out&nbsp;an&nbsp;idle&nbsp;session.<br>#idle_session_timeout=600<br>#<br>#&nbsp;You&nbsp;may&nbsp;change&nbsp;the&nbsp;default&nbsp;value&nbsp;for&nbsp;timing&nbsp;out&nbsp;a&nbsp;data&nbsp;connection.<br>#data_connection_timeout=120<br>#<br>#&nbsp;It&nbsp;is&nbsp;recommended&nbsp;that&nbsp;you&nbsp;define&nbsp;on&nbsp;your&nbsp;system&nbsp;a&nbsp;unique&nbsp;user&nbsp;which&nbsp;the<br>#&nbsp;ftp&nbsp;server&nbsp;can&nbsp;use&nbsp;as&nbsp;a&nbsp;totally&nbsp;isolated&nbsp;and&nbsp;unprivileged&nbsp;user.<br>#nopriv_user=ftpsecure<br>#<br>#&nbsp;Enable&nbsp;this&nbsp;and&nbsp;the&nbsp;server&nbsp;will&nbsp;recognise&nbsp;asynchronous&nbsp;ABOR&nbsp;requests.&nbsp;Not<br>#&nbsp;recommended&nbsp;for&nbsp;security&nbsp;(the&nbsp;code&nbsp;is&nbsp;non-trivial).&nbsp;Not&nbsp;enabling&nbsp;it,<br>#&nbsp;however,&nbsp;may&nbsp;confuse&nbsp;older&nbsp;FTP&nbsp;clients.<br>#async_abor_enable=YES<br>#<br>#&nbsp;By&nbsp;default&nbsp;the&nbsp;server&nbsp;will&nbsp;pretend&nbsp;to&nbsp;allow&nbsp;ASCII&nbsp;mode&nbsp;but&nbsp;in&nbsp;fact&nbsp;ignore<br>#&nbsp;the&nbsp;request.&nbsp;Turn&nbsp;on&nbsp;the&nbsp;below&nbsp;options&nbsp;to&nbsp;have&nbsp;the&nbsp;server&nbsp;actually&nbsp;do&nbsp;ASCII<br>#&nbsp;mangling&nbsp;on&nbsp;files&nbsp;when&nbsp;in&nbsp;ASCII&nbsp;mode.<br>#&nbsp;Beware&nbsp;that&nbsp;on&nbsp;some&nbsp;FTP&nbsp;servers,&nbsp;ASCII&nbsp;support&nbsp;allows&nbsp;a&nbsp;denial&nbsp;of&nbsp;service<br>#&nbsp;attack&nbsp;(DoS)&nbsp;via&nbsp;the&nbsp;command&nbsp;"SIZE&nbsp;/big/file"&nbsp;in&nbsp;ASCII&nbsp;mode.&nbsp;vsftpd<br>#&nbsp;predicted&nbsp;this&nbsp;attack&nbsp;and&nbsp;has&nbsp;always&nbsp;been&nbsp;safe,&nbsp;reporting&nbsp;the&nbsp;size&nbsp;of&nbsp;the<br>#&nbsp;raw&nbsp;file.<br>#&nbsp;ASCII&nbsp;mangling&nbsp;is&nbsp;a&nbsp;horrible&nbsp;feature&nbsp;of&nbsp;the&nbsp;protocol.<br>#ascii_upload_enable=YES<br>#ascii_download_enable=YES<br>#<br>#&nbsp;You&nbsp;may&nbsp;fully&nbsp;customise&nbsp;the&nbsp;login&nbsp;banner&nbsp;string:<br>#ftpd_banner=Welcome&nbsp;to&nbsp;blah&nbsp;FTP&nbsp;service.<br>#<br>#&nbsp;You&nbsp;may&nbsp;specify&nbsp;a&nbsp;file&nbsp;of&nbsp;disallowed&nbsp;anonymous&nbsp;e-mail&nbsp;addresses.&nbsp;Apparently<br>#&nbsp;useful&nbsp;for&nbsp;combatting&nbsp;certain&nbsp;DoS&nbsp;attacks.<br>#deny_email_enable=YES<br>#&nbsp;(default&nbsp;follows)<br>#banned_email_file=/etc/vsftpd.banned_emails<br>#<br>#&nbsp;You&nbsp;may&nbsp;restrict&nbsp;local&nbsp;users&nbsp;to&nbsp;their&nbsp;home&nbsp;directories.&nbsp;&nbsp;See&nbsp;the&nbsp;FAQ&nbsp;for<br>#&nbsp;the&nbsp;possible&nbsp;risks&nbsp;in&nbsp;this&nbsp;before&nbsp;using&nbsp;chroot_local_user&nbsp;or<br>#&nbsp;chroot_list_enable&nbsp;below.<br>#chroot_local_user=YES<br>#<br>#&nbsp;You&nbsp;may&nbsp;specify&nbsp;an&nbsp;explicit&nbsp;list&nbsp;of&nbsp;local&nbsp;users&nbsp;to&nbsp;chroot()&nbsp;to&nbsp;their&nbsp;home<br>#&nbsp;directory.&nbsp;If&nbsp;chroot_local_user&nbsp;is&nbsp;YES,&nbsp;then&nbsp;this&nbsp;list&nbsp;becomes&nbsp;a&nbsp;list&nbsp;of<br>#&nbsp;users&nbsp;to&nbsp;NOT&nbsp;chroot().<br>#chroot_list_enable=YES<br>#&nbsp;(default&nbsp;follows)<br>#chroot_list_file=/etc/vsftpd.chroot_list<br>#<br>#&nbsp;You&nbsp;may&nbsp;activate&nbsp;the&nbsp;"-R"&nbsp;option&nbsp;to&nbsp;the&nbsp;builtin&nbsp;ls.&nbsp;This&nbsp;is&nbsp;disabled&nbsp;by<br>#&nbsp;default&nbsp;to&nbsp;avoid&nbsp;remote&nbsp;users&nbsp;being&nbsp;able&nbsp;to&nbsp;cause&nbsp;excessive&nbsp;I/O&nbsp;on&nbsp;large<br>#&nbsp;sites.&nbsp;However,&nbsp;some&nbsp;broken&nbsp;FTP&nbsp;clients&nbsp;such&nbsp;as&nbsp;"ncftp"&nbsp;and&nbsp;"mirror"&nbsp;assume<br>#&nbsp;the&nbsp;presence&nbsp;of&nbsp;the&nbsp;"-R"&nbsp;option,&nbsp;so&nbsp;there&nbsp;is&nbsp;a&nbsp;strong&nbsp;case&nbsp;for&nbsp;enabling&nbsp;it.<br>#ls_recurse_enable=YES<br>#<br>#<br>#&nbsp;Debian&nbsp;customization<br>#<br>#&nbsp;Some&nbsp;of&nbsp;vsftpd's&nbsp;settings&nbsp;don't&nbsp;fit&nbsp;the&nbsp;Debian&nbsp;filesystem&nbsp;layout&nbsp;by<br>#&nbsp;default.&nbsp;&nbsp;These&nbsp;settings&nbsp;are&nbsp;more&nbsp;Debian-friendly.<br>#<br>#&nbsp;This&nbsp;option&nbsp;should&nbsp;be&nbsp;the&nbsp;name&nbsp;of&nbsp;a&nbsp;directory&nbsp;which&nbsp;is&nbsp;empty.&nbsp;&nbsp;Also,&nbsp;the<br>#&nbsp;directory&nbsp;should&nbsp;not&nbsp;be&nbsp;writable&nbsp;by&nbsp;the&nbsp;ftp&nbsp;user.&nbsp;This&nbsp;directory&nbsp;is&nbsp;used<br>#&nbsp;as&nbsp;a&nbsp;secure&nbsp;chroot()&nbsp;jail&nbsp;at&nbsp;times&nbsp;vsftpd&nbsp;does&nbsp;not&nbsp;require&nbsp;filesystem<br>#&nbsp;access.<br>secure_chroot_dir=/var/run/vsftpd<br>#<br>#&nbsp;This&nbsp;string&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;PAM&nbsp;service&nbsp;vsftpd&nbsp;will&nbsp;use.<br>pam_service_name=vsftpd<br>#<br>#&nbsp;This&nbsp;option&nbsp;specifies&nbsp;the&nbsp;location&nbsp;of&nbsp;the&nbsp;RSA&nbsp;certificate&nbsp;to&nbsp;use&nbsp;for&nbsp;SSL<br>#&nbsp;encrypted&nbsp;connections.<br>rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem<br>#&nbsp;This&nbsp;option&nbsp;specifies&nbsp;the&nbsp;location&nbsp;of&nbsp;the&nbsp;RSA&nbsp;key&nbsp;to&nbsp;use&nbsp;for&nbsp;SSL<br>#&nbsp;encrypted&nbsp;connections.<br>rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key</span></div>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">配置详解<br>=============<br>VSFTPD.CONF.5<br>================<br>名字<br>vsftpd.conf&nbsp;：VSFTPD的配置文件<br><br>描述：<br>vsftpd.conf&nbsp;用来控制VSFTPD的各项功能。默认状态下，它的位置是/etc/vsftpd.conf。<br>（译者注：也许老的LINUX版本下，配置文件是这个位置，但新的LINUX版本，例如FC2，配置文件是在/etc/vsftpd目录下。<br>但是也很可能和安装方式有关，RPM包安装，配置文件是/etc/vsftpd.conf.&nbsp;源码包安装：/etc/vsftpd/vsftpd.conf.我不确定。<br>但以后我不再特别指出了，真累！！）<br>然而，你也可以通过修改配置行来指定到其它目录。这一点很有用，因为也许你想使用一些高级inetd功能，例如xinetd，在一个多虚拟主机的机器上调用不同的配置文件。<br><br>格式<br>VSFTPD.conf&nbsp;的格式非常简单，每行要么是一个注释，要么是一个指令。注释行以#开始并被忽略掉。指令行格式如下：<br>配置项=参数值<br>很重要的一点是，这个格式里不存在任何空格。<br>默认的，每一个配置项在配置文件里都占一编辑行，可以被修改。<br><br>布尔选项<br>参数值的布尔选项可以是：<br>YES或者NO<br><br>allow_anon_ssl<br>只有ss1_enable激活了才可以启用此项。如果设置为YES，匿名用户将容许使用安全的SSL连接服务器。<br>默认值：NO<br><br>anon_mkdir_write_enable<br>如果设为YES，匿名用户将容许在指定的环境下创建新目录。如果此项要生效，那么配置write_enable必须被激活，并且匿名用户必须在其父目录有写权限。<br>默认值：NO<br><br>anon_other_write_enable<br>如果设置为YES，匿名用户将被授予较大的写权限，例如删除和改名。一般不建议这么做，除非想完全授权。<br>默认值：NO<br><br>anon_upload_enable<br>如果设为YES，匿名用户就容许在指定的环境下上传文件。如果此项要生效，那么配置write_enable必须激活。并且匿名用户必须在相关目录有写权限。<br>默认值：NO<br><br>anon_world_readable_only<br>启用的时候，匿名用户只容许下载完全可读的文件，这也就容许了ftp用户拥有对文件的所有权，尤其是在上传的情况下。<br>默认值：YES<br><br>anonymous_enable<br>控制是否容许匿名用户登录。如果容许，那么&#8220;ftp&#8221;和&#8220;anonymous&#8221;都将被视为&#8220;anonymous"而容许登录。<br>默认值：YES<br><br>ascii_download_enable<br>启用时，用户下载时将以ASCII模式传送文件。<br>默认值：NO<br><br>ascii_upload_enable<br>启用时，用户上传时将以ASCII模式传送文件。<br>默认值：NO<br><br>async_abor_enable<br>启用时，一个特殊的FTP命令"async&nbsp;ABOR&#8221;将容许使用。只有不正常的FTP客户端要使用这一点。而且，这个功能又难于操作，所以，<br>默认是把它关闭了。但是，有些客户端在取消一个传送的时候会被挂死（daidong注：估计是客户端无响应了），那你只有启用这个功能才能避免这种情况。<br>默认值：NO<br><br>background<br>启用时，并且VSFTPD是&#8220;listen&#8221;模式启动的（daidong注：就是standalone模式），VSFTPD将把监听进程置于后台。但访问VSFTPD时，控制台将立即被返回到SHELL。<br>默认值：NO<br><br>check_shell<br>注意：这个选项只对非PAM结构的VSFTPD才有效。如果关闭，VSFTPD将不检查/etc/shells以判定本地登录的用户是否有一个可用的SHELL。<br>默认值：YES<br><br>chmod_enable<br>启用时，将容许使用SITE&nbsp;CHMOD命令。注意，这只能用于本地用户。匿名用户绝不能使用SITE&nbsp;CHMOD。<br>默认值：YES<br><br>chown_uploads<br>如果启用，所以匿名用户上传的文件的所有者将变成在chown_username里指定的用户。这对管理FTP很有用，也许也对安全有益。<br>默认值：NO<br><br>chroot_list_enable<br>如果激活，你要提供一个用户列表，表内的用户将在登录后被放在其home目录，锁定在虚根下（daidong注：进入FTP后，PWD一下，可以看到当前目录是"/",这就是虚根。是FTP的根目录，并非FTP服务器系统的根目录）。如果chroot_local_user设为YES后，其含义会发生一点变化。<br>在这种情况下，这个列表内的用户将不被锁定在虚根下。<br>默认情况下，这个列表文件是/etc/vsftpd.chroot_list,&nbsp;但你也可以通过修改chroot_list_file来改变默认值。<br>默认值：NO<br><br>chroot_local_user<br>如果设为YES，本地用户登录后将被（默认地）锁定在虚根下，并被放在他的home目录下。<br>警告：<br>这个配置项有安全的意味，特别是如果用户有上传权限或者可使用SHELL的话。在你确定的前提下，再启用它。<br>注意，这种安全暗示并非只存在于VSFTPD，其实是广泛用于所有的希望把用户锁定在虚根下的FTP软件。<br>默认值：NO<br><br>connect_from_port_20<br>这用来控制服务器是否使用20端口号来做数据传输。为安全起见，有些客户坚持启用。相反，关闭这一项可以让VSFTPD更加大众化。<br>默认值：NO&nbsp;（但在范例配置文件中，启用了，即YES）<br><br>deny_email_enable<br>如果激活，你要提供一个关于匿名用户的密码E-MAIL表（daidong注：我们都知道，匿名用户是用邮件地址做密码的）以阻止以这些密码登录的匿名用户。<br>默认情况下，这个列表文件是/etc/vsftpd.banner_emails，但你也可以通过设置banned_email_file来改变默认值。<br>默认值：NO<br><br>dirlist_enable<br>如果设置为NO，所有的列表命令（daidong注：如ls）都将被返回&#8220;permission&nbsp;denied&#8221;提示。<br>默认值：YES<br><br>dirmessage_enable<br>如果启用，FTP服务器的用户在首次进入一个新目录的时候将显示一段信息。默认情况下，会在这个目录中查找.message文件，但你也可以<br>通过更改message_file来改变默认值。<br>默认值：NO&nbsp;（但在配置范例文件中启用了它）<br><br>download_enable<br>如果设为NO，下载请求将返回&#8220;permission&nbsp;denied&#8221;。<br>默认值：YES<br><br>dual_log_enable<br>如果启用，两个LOG文件会各自产生，默认的是/var/log/xferlog和/var/log/vsftpd.log。前一个是wu-ftpd格式的LOG，能被通用工具分析。<br>后一个是VSFTPD的专用LOG格式。<br>默认值:&nbsp;NO<br><br>force_dot_files<br>如果激活，即使客户端没有使用&#8220;a&#8221;标记，（FTP里）以.开始的文件和目录都会显示在目录资源列表里。但是把"."和".."不会显示。(daidong注：即LINUX下<br>的当前目录和上级目录不会以&#8216;.&#8217;或&#8216;..&#8217;方式显示）。<br>默认值：NO<br><br>force_local_data_ssl<br>只有在ssl_enable激活后才能启用。如果启用，所有的非匿名用户将被强迫使用安全的SSL登录以在数据线路上收发数据。<br>默认值：YES<br><br>force_local_logins_ssl<br>只有在ssl_enable激活后才能启用。如果启用，所有的非匿名用户将被强迫使用安全的SSL登录以发送密码。<br>默认值：YES<br><br>guest_enable<br>如果启用，所有的非匿名用户登录时将被视为&#8221;游客&#8220;，其名字将被映射为guest_username里所指定的名字。<br>默认值：NO<br><br>hide_ids<br>如果启用，目录资源列表里所有用户和组的信息将显示为"ftp".<br>默认值：NO<br><br>listen<br>如果启用，VSFTPD将以独立模式（standalone)运行，也就是说可以不依赖于inetd或者类似的东东启动。直接运行VSFTPD<br>的可执行文件一次，然后VSFTPD就自己去监听和处理连接请求了。<br>默认值：NO<br><br>listen_ipv6<br>类似于listen参数的功能，但有一点不同，启用后VSFTPD会去监听IPV6套接字而不是IPV4的。这个设置和listen的设置互相排斥。<br>默认值：NO<br><br>local_enable<br>用来控制是否容许本地用户登录。如果启用，/etc/passwd里面的正常用户的账号将被用来登录。<br>默认值：NO<br><br>log_ftp_protocol<br>启用后，如果xferlog_std_format没有被激活，所有的FTP请求和反馈信息将被纪录。这常用于调试(debugging)。<br>默认值：NO<br><br>ls_recurse_enable<br>如果启用，"ls&nbsp;-R"将被容许使用。这是为了避免一点点安全风险。因为在一个大的站点内，在目录顶层使用这个命令将消耗大量资源。<br>默认值：NO<br><br>no_anon_password<br>如果启用，VSFTPD将不会向匿名用户询问密码。匿名用户将直接登录。<br>默认值:NO<br><br>no_log_lock<br>启用时，VSFTPD在写入LOG文件时将不会把文件锁住。这一项一般不启用。它对一些工作区操作系统问题，如Solaris&nbsp;/&nbsp;Veritas文件系统共存时有用。<br>因为那在试图锁定LOG文件时，有时候看上去象被挂死（无响应）了。（daidong注：这我也不是很理解。所以翻译未必近乎原意。原文如下：It&nbsp;exists&nbsp;to&nbsp;workaround<br>operating&nbsp;system&nbsp;bugs&nbsp;such&nbsp;as&nbsp;the&nbsp;Solaris&nbsp;/&nbsp;Veritas&nbsp;filesystem&nbsp;combination<br>which&nbsp;has&nbsp;been&nbsp;observed&nbsp;to&nbsp;sometimes&nbsp;exhibit&nbsp;hangs&nbsp;trying&nbsp;to&nbsp;lock&nbsp;log&nbsp;files.）<br>默认值：NO<br><br>one_process_model<br>如果你的LINUX核心是2.4的，那么也许能使用一种不同的安全模式，即一个连接只用一个进程。只是一个小花招，但能提高FTP的性能。请确定需要后再启用它，而且也请确定你的<br>站点是否会有大量的人同时访问。<br>默认值：NO<br><br>passwd_chroot_enable&nbsp;(daidong注：这段自己看，无语<img src="http://www.phpweblog.net/Images/dot.gif">)<br>if&nbsp;enabled,&nbsp;along&nbsp;with<br>.BR&nbsp;chroot_local_user<br>,&nbsp;then&nbsp;a&nbsp;chroot()&nbsp;jail&nbsp;location&nbsp;may&nbsp;be&nbsp;specified&nbsp;on&nbsp;a&nbsp;per-user&nbsp;basis.&nbsp;Each<br>user's&nbsp;jail&nbsp;is&nbsp;derived&nbsp;from&nbsp;their&nbsp;home&nbsp;directory&nbsp;string&nbsp;in&nbsp;/etc/passwd.&nbsp;The<br>occurrence&nbsp;of&nbsp;/./&nbsp;in&nbsp;the&nbsp;home&nbsp;directory&nbsp;string&nbsp;denotes&nbsp;that&nbsp;the&nbsp;jail&nbsp;is&nbsp;at&nbsp;that<br>particular&nbsp;location&nbsp;in&nbsp;the&nbsp;path.<br>默认值：NO<br><br>pasv_enable<br>如果你不想使用被动方式获得数据连接，请设为NO。<br>默认值：YES<br><br>pasv_promiscuous<br>如果你想关闭被动模式安全检查（这个安全检查能确保数据连接源于同一个IP地址）的话，设为YES。确定后再启用它（daidong注：原话是：只有你清楚你在做什么时才启用它！）<br>合理的用法是：在一些安全隧道配置环境下，或者更好地支持FXP时（才启用它）。<br>默认值：NO<br><br>port_enable<br>如果你想关闭以端口方式获得数据连接时，请关闭它。<br>默认值：YES<br><br>port_promiscuous<br>如果你想关闭端口安全检查（这个检查可以确保对外的(outgoing)数据线路只通向客户端）时，请关闭它。确认后再做！<br>默认值：NO<br><br>run_as_launching_user<br>如果你想让一个用户能启动VSFTPD的时候，可以设为YES。当ROOT用户不能去启动VSFTPD的时候会很有用（daidong注：应该不是说ROOT用户没有权限启动VSFTPD，<br>而是因为别的，例如安全限制，而不能以ROOT身份直接启动VSFTPD）。强烈警告！！别启用这一项，除非你完全清楚你在做什么（daidong:无语<img src="http://www.phpweblog.net/Images/dot.gif">.)！！！随意地启动这一项会导致<br>非常严重的安全问题，特别是VSFTPD没有或者不能使用虚根技术来限制文件访问的时候（甚至VSFTPD是被ROOT启动的）。有一个愚蠢的替代方案是启用deny_file，将其设置为{/*,*..*}等，<br>但其可靠性却不能和虚根相比，也靠不住。<br>如果启用这一项，其他配置项的限制也会生效。例如，非匿名登录请求，上传文件的所有权的转换，用于连接的20端口和低于1024的监听端口将不会工作。其他一些配置项也可能被影响。<br>默认值:NO<br><br>secure_email_list_enable<br>如果你想只接受以指定E-MAIL地址登录的匿名用户的话，启用它。这一般用来在不必要用虚拟用户的情况下，以较低的安全限制去访问较低安全级别的资源。如果启用它，匿名用户除非<br>用在email_password_file里指定的E-MAIL做为密码，否则不能登录。这个文件的格式是一个密码一行，而且没有额外的空格（daidong注：whitespace,译为空格，不知道是否正确）。<br>默认的文件名是：/etc/vsftpd.email_passwords.<br>默认值:NO<br><br>session_support<br>这将配置是否让VSFTPD去尝试管理登录会话。如果VSFTPD管理会话，它会尝试并更新utmp和wtmp。它也会打开一个pam会话（pam_session)，直到LOGOUT才会关闭它，如果使用PAM进行认证的话。<br>如果你不需要会话纪录，或者想VSFTPD运行更少的进程，或者让它更大众化，你可以关闭它。<br>注：utmp和wtmp只在有PAM的环境下才支持。<br>默认值:NO<br><br>setproctitle_enable<br>如果启用，VSFTPD将在系统进程列表中显示会话状态信息。换句话说，进程名字将变成VSFTPD会话当前正在执行的动作（等待，下载等等）。为了安全目的，你可以关闭这一项。<br>默认值:NO<br><br>ssl_enable<br>如果启用，vsftpd将启用openSSL，通过SSL支持安全连接。这个设置用来控制连接（包括登录）和数据线路。同时，你的客户端也要支持SSL才行。<br>注意：小心启用此项.VSFTPD不保证OpenSSL库的安全性。启用此项，你必须确信你安装的OpenSSL库是安全的。<br>默认值:NO<br><br>ssl_sslv2<br>要激活ssl_enable才能启用它。如果启用，将容许SSL&nbsp;V2协议的连接。TLS&nbsp;V1连接将是首选。<br>默认值:NO<br><br>ssl_sslv3<br>要激活ssl_enable才能启用它。如果启用，将容许SSL&nbsp;V３协议的连接。TLS&nbsp;V1连接将是首选。<br>默认值:NO<br><br>ssl_tlsv1<br>要激活ssl_enable才能启用它。如果启用，将容许TLS&nbsp;V1协议的连接。TLS&nbsp;V1连接将是首选。<br>默认值:YES<br><br>syslog_enable<br>如果启用，系统log将取代vsftpd的log输出到/var/log/vsftpd.log.FTPD的了log工具将不工作。<br>默认值:NO<br><br>tcp_wrappers<br>如果启用，vsftpd将被tcp_wrappers所支持。进入的(incoming）连接将被tcp_wrappers访问控制所反馈。如果tcp_wrappers设置了<br>VSFTPD_LOAD_CONF环境变量，那么vsftpd将尝试调用这个变量所指定的配置。<br>默认值:NO<br><br>text_userdb_names<br>默认情况下，在文件列表中，数字ID将被显示在用户和组的区域。你可以编辑这个参数以使其使用数字ID变成文字。为了保证FTP性能，默认<br>情况下，此项被关闭。<br>默认值:NO<br><br>tilde_user_enable<br>如果启用，vsftpd将试图解析类似于~chris/pics的路径名（一个"~"(tilde)后面跟着个用户名）。注意，vsftpd有时会一直解析路径名"~"和"~/"（在这里，～被解析成内部登录目录）。<br>～用户路径（～user&nbsp;paths)只有在当前虚根下找到/etc/passwd文件时才被解析。<br>默认值:NO<br><br>use_localtime<br>如果启用，vsftpd在显示目录资源列表的时候，在显示你的本地时间。而默认的是显示GMT（格林尼治时间）。通过MDTM&nbsp;FTP命令来显示时间的话也会被这个设置所影响。<br>默认值:NO<br><br>use_sendfile<br>一个内部设定，用来测试在你的平台上使用sendfile()系统呼叫的相关好处（benefit).<br>默认:YES<br><br>userlist_deny<br>这个设置在userlist_enable被激活后能被验证。如果你设置为NO，那么只有在userlist_file里明确列出的用户才能登录。<br>如果是被拒绝登录，那么在被询问密码前，用户就将被系统拒绝。<br>默认值:YES<br><br>userlist_enable<br>如果启用，vsftpd将在userlist_file里读取用户列表。如果用户试图以文件里的用户名登录，那么在被询问用户密码前，他们就将被系统拒绝。<br>这将防止明文密码被传送。参见userlist_deny。<br>默认值:NO<br><br>virtual_use_local_privs<br>如果启用，虚拟用户将拥有和本地用户一样的权限。默认情况下，虚拟用户就拥有和匿名用户一样的权限，而后者往往有更多的限制（特别是写权限）。<br>默认值:NO<br><br>write_enable<br>这决定是否容许一些FTP命令去更改文件系统。这些命令是STOR,&nbsp;DELE,&nbsp;RNFR,&nbsp;RNTO,&nbsp;MKD,&nbsp;RMD,&nbsp;APPE&nbsp;和&nbsp;SITE。<br>默认值:NO<br><br>xferlog_enable<br>如果启用，一个log文件将详细纪录上传和下载的信息。默认情况下，这个文件是/var/log/vsftpd.log，但你也可以通过更改vsftpd_log_file来指定其默认位置。<br>默认值:NO&nbsp;(但在范例配置文件中，启用了这一项）<br><br>xferlog_std_format<br>如果启用，log文件将以标准的xferlog格式写入（wu-ftpd使用的格式)，以便于你用现有的统计分析工具进行分析。但默认的格式具有更好的可读性。默认情况下，log文件是在/var/log/xferlog。<br>但是，你可以通过修改xferlog_file来指定新路径。<br>默认值:NO<br><br>＝＝＝＝＝＝<br>数字选项<br>以下是数字配置项。这些项必须设置为非负的整数。为了方便umask设置，容许输入八进制数，那样的话，数字必须以０开始。<br><br>accept_timeout<br>超时，以秒为单位，设定远程用户以被动方式建立连接时最大尝试建立连接的时间。<br>默认值:60<br><br>anon_max_rate<br>对于匿名用户，设定容许的最大传送速率，单位：字节/秒。<br>默认值:0　（无限制）<br><br>anon_umask<br>为匿名用户创建的文件设定权限。注意：如果你想输入８进制的值，那么其中的０不同于１０进制的０。<br>默认值：０７７<br><br>connect_timeout<br>超时。单位：秒。是设定远程用户必须回应PORT类型数据连接的最大时间。<br>默认值：６０<br><br>data_connection_timeout<br>超时，单位：秒。设定数据传输延迟的最大时间。时间一到，远程用户将被断开连接。<br>默认值：３００<br><br>file_open_mode<br>对于上传的文件设定权限。如果你想被上传的文件可被执行，umask要改成０７７７。<br>默认值：０６６６<br><br>ftp_data_port<br>设定PORT模式下的连接端口（只要connect_from_port_20被激活）。<br>默认值：２０<br><br>idle_session_timeout<br>超时。单位：秒。设置远程客户端在两次输入FTP命令间的最大时间。时间一到，远程客户将被断开连接。<br>默认值：３００<br><br>listen_port<br>如果vsftpd处于独立运行模式，这个端口设置将监听的FTP连接请求。<br>默认值：２１<br><br>local_max_rate<br>为本地认证用户设定最大传输速度，单位：字节／秒。<br>默认值：０（无限制）<br><br>local_umask<br>设置本地用户创建的文件的权限。注意：如果你想输入８进制的值，那么其中的０不同于１０进制的０。<br>默认值：０７７<br><br>max_clients<br>如果vsftpd运行在独立运行模式，这里设置了容许连接的最大客户端数。再后来的用户端将得到一个错误信息。<br>默认值：０（无限制）<br><br>max_per_ip<br>如果vsftpd运行在独立运行模式，这里设置了容许一个ＩＰ地址的最大接入客户端。如果超过了最大限制，将得到一个错误信息。<br>默认值：０（无限制）<br><br>pasv_max_port<br>指定为被动模式数据连接分配的最大端口。可用来指定一个较小的范围以配合防火墙。<br>默认值：０（使用任何端口）<br><br>pasv_min_port<br>指定为被动模式数据连接分配的最小端口。可用来指定一个较小的范围以配合防火墙。<br>默认值：０（使用任何端口）<br><br>trans_chunk_size<br>你一般不需要改这个设置。但也可以尝试改为如８１９２去减小带宽限制的影响。<br>默认值：０（让vsftpd自行选择）<br><br>＝＝＝＝＝＝＝＝＝＝＝<br>STRING&nbsp;配置项<br>以下是STRING&nbsp;配置项<br><br>anon_root<br>设置一个目录，在匿名用户登录后，vsftpd会尝试进到这个目录下。如果失败则略过。<br>默认值：无<br><br>banned_email_file<br>deny_email_enable启动后，匿名用户如果使用这个文件里指定的E-MAIL密码登录将被拒绝。<br>默认值：/etc/vsftpd.banned_emails<br><br>banner_file<br>设置一个文本，在用户登录后显示文本内容。如果你设置了ftpd_banner，ftpd_banner将无效。<br>默认值：无<br><br>chown_username<br>改变匿名用户上传的文件的所有者。需设定chown_uploads。<br>默认值：ＲＯＯＴ<br><br>chroot_list_file<br>这个项提供了一个本地用户列表，表内的用户登录后将被放在虚根下，并锁定在home目录。这需要chroot_list_enable项被启用。<br>如果chroot_local_user项被启用，这个列表就变成一个不将列表里的用户锁定在虚根下的用户列表了。<br>默认值：/etc/vsftpd.chroot_list<br><br>cmds_allowed<br>以逗号分隔的方式指定可用的FTP命令（post　login.&nbsp;USER,&nbsp;PASS&nbsp;and&nbsp;QUIT&nbsp;是始终可用的命令）。<br>其他命令将被屏蔽。这是一个强有力的locking&nbsp;down一个FTP服务器的手段。例如：cmds_allowed=PASV,RETR,QUIT<br>默认值：无<br><br>deny_file<br>这可以设置一个文件名或者目录名式样以阻止在任何情况下访问它们。并不是隐藏它们，而是拒绝任何试图对它们进行的操作（下载，改变目录层，<br>和其他有影响的操作）。这个设置很简单，而且不会用于严格的访问控制－文件系统权限将优先生效。然而，这个设置对确定的虚拟用户设置很有用。<br>特别是如果一个文件能多个用户名访问的话（可能是通过软连接或者硬连接），那就要拒绝所有的访问名。<br>建议你为使用文件系统权限设置一些重要的安全策略以获取更高的安全性。如deny_file={*.mp3,*.mov,.private}<br>默认值：无<br><br>dsa_cert_file<br>这个设置为SSL加密连接指定了DSA证书的位置。<br>默认值：无（有一个RSA证书就够了）<br><br>email_password_file<br>在设置了secure_email_list_enable后，这个设置可以用来提供一个备用文件。<br>默认值：/etc/vsftpd.email_passwords<br><br>ftp_username<br>这是用来控制匿名FTP的用户名。这个用户的home目录是匿名FTP区域的根。<br>默认值：ftp<br><br>ftpd_banner<br>当一个连接首次接入时将现实一个欢迎界面。<br>默认值：无（默认的界面会被显示）<br><br>guest_username<br>参见相关设置guest_enable。这个设置设定了游客进入后，其将会被映射的名字。<br>默认：ftp<br><br>hide_file<br>设置了一个文件名或者目录名列表，这个列表内的资源会被隐藏，不管是否有隐藏属性。但如果用户知道了它的存在，<br>将能够对它进行完全的访问。hide_file里的资源和符合hide_file指定的规则表达式的资源将被隐藏。vsftpd的<br>规则表达式很简单，例如hide_file={*.mp3,.hidden,hide*,h?}<br>默认值：无<br><br>listen_address<br>如果vsftpd运行在独立模式下，本地接口的默认监听地址将被这个设置代替。<br>需要提供一个数字化的地址。<br>默认值：无<br><br>listen_address6<br>如果vsftpd运行在独立模式下，要为IPV6指定一个监听地址（如果listen_ipv6被启用的话）。<br>需要提供一个IPV6格式的地址。<br>默认值：无<br><br>local_root<br>设置一个本地（非匿名）用户登录后，vsftpd试图让他进入到的一个目录。如果失败，则略过。<br>默认值：无<br><br>message_file<br>当进入一个新目录的时候，会查找这个文件并显示文件里的内容给远程用户。dirmessage_enable需启用。<br>默认值：.message<br><br>nopriv_user<br>这是vsftpd做为完全无特权的用户的名字。这是一个专门的用户，比nobody更甚。用户nobody往往用来在一些机器上做一些重要的事情。<br>默认值：nobody<br><br>pam_service_name<br>设定vsftpd将要用到的PAM服务的名字。<br>默认值:ftp<br><br>pasv_address<br>当使用PASV命令时，vsftpd会用这个地址进行反馈。需要提供一个数字化的IP地址。<br>默认值：无（地址将取自进来（incoming)的连接的套接字）<br><br>rsa_cert_file<br>这个设置指定了SSL加密连接需要的RSA证书的位置。<br>默认值：/usr/share/ssl/certs/vsftpd.pem<br><br>secure_chroot_dir<br>这个设置指定了一个空目录，这个目录不容许ftp　user写入。在vsftpd不希望文件系统被访问时，目录为安全的虚根所使用。<br>默认值：&nbsp;/usr/share/empty<br><br>ssl_ciphers<br>这个设置将选择vsftpd为加密的SSL连接所用的SSL密码。详细信息参见ciphers。<br>默认值：DES-CBC3-SHA<br><br>user_config_dir<br>这个强大的设置容许覆盖一些在手册页中指定的配置项（基于单个用户的）。用法很简单，最好结合范例。如果你把user_config_dir<br>改为/etc/vsftpd_user_conf，那么以chris登录，vsftpd将调用配置文件/etc/vsftpd_user_conf/chris。<br>默认值：无<br><br>user_sub_token<br>这个设置将依据一个模板为每个虚拟用户创建home目录。例如，如果真实用户的home目录通过guest_username为/home/virtual/$USER&nbsp;指定，<br>并且user_sub_token设置为&nbsp;$USER&nbsp;，那么虚拟用户fred登录后将锁定在/home/virtual/fred下。<br>默认值：无<br><br>userlist_file<br>当userlist_enable被激活，系统将去这里调用文件。<br>默认值：/etc/vsftpd.user_list<br><br>vsftpd_log_file<br>只有xferlog_enable被设置，而xferlog_std_format没有被设置时，此项才生效。这是被生成的vsftpd格式的log文件的名字。<br>dual_log_enable和这个设置不能同时启用。如果你启用了syslog_enable，那么这个文件不会生成，而只产生一个系统log.<br>默认值：/var/log/vsftpd.log<br><br>xferlog_file<br>这个设置是设定生成wu-ftpd格式的log的文件名。只有启用了xferlog_enable和xferlog_std_format后才能生效。<br>但不能和dual_log_enable同时启用。<br>默认值：/var/log/xferlog<br></span></div>
<br>附<br>FTP客户端：<br>&nbsp;sudo apt-get install gftp<br>多线程下载工具：<br>sudo apt-get install d4x<br><br>     <img src ="http://www.phpweblog.net/young40/aggbug/2588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-12-23 00:06 <a href="http://www.phpweblog.net/young40/archive/2007/12/23/2588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于计算机编程语言 国外网友妙语录</title><link>http://www.phpweblog.net/young40/archive/2007/12/18/2565.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Mon, 17 Dec 2007 23:55:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/12/18/2565.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2565.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/12/18/2565.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2565.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2565.html</trackback:ping><description><![CDATA[应当知道，任何一位受过职业道德训练的软件工程师都不会同意写一个&#8220;摧毁巴格达
DestroyBaghdad&#8221;这样的函数。相反，基本的职业道德要求他写一个&#8220;摧毁城市 DestroyCity&#8221;的函数，&#8220;巴格达
Baghdad&#8221;是一个参数。(Nathaniel S Borenstein) <br><br>只有两种计算机语言：一些语言天天挨骂，另外一些没有人用。(Bjarne Stroustrup)<br><br>
数组下标应该从0开始还是从1开始？我的提议是做个折中，用0.5。我想，把它否决之前他们都没有仔细考虑考虑。(Stan Kelly-Bootle) <br><br>黑魔法编程：程序员们知道有些事情没有用，但是无论如何他们还是会去试一试，有时候这些事情还真管用了，比如说把所有东西重新编译一遍。(Karl Lehenbauer) <br><br>计算机语言就好像在公园里漫步一样，我指的是侏罗纪公园。(Larry Wall) <br><br>即使在餐巾上涂画也算是计算机语言，XML都不能算是其中之一。(Charles Simonyi) <br><br>使用TSO就想把死鲸鱼在沙滩上踢来踢去一样。(Stephen C Johnson) <br><br>面向对象的模型使得我们可以用聚少成多的方法来写程序。这通常是说，它提供了一种用结构化的方法写出烂面条般程序的方法。 <br><br>重用别人写的程序就像从别人的故事里面挑出句子然后凑成一篇杂志上的文章。 (Bob Frankston) <br><br>（HTML里面的BLINK 标签）是一个玩笑，好不好？要是我们知道还有人使用它，我们就不会写它了。(Mark Andreessen) <br><br>软件就像性一样。不要钱的时候更好。(Linus Torvalds) <br><br>我有一个可以运行的编译器，没人愿意碰它。他们告诉我电脑只能做算术。--Rear Admiral Grace Hopper <br><br>如果你思虑不周，你可能会认为编程仅仅是敲入一行行的程序语句而已 -- Ward Cunningham <br><br>一种未包含所有东西的语言实际上比那些包含了的更容易使用。 -- Dennis M Ritchie <br><br>提倡自然语言编程的那些工作必然彻底失败。 -- Edsger Dijkstra <br><br>指针就像跳转一样，疯狂的从数据结构之间到处指来指去。在高级语言里面引入指针是个退步。我们可能永远无法从这一失败之中恢复过来。-- Charles Hoare <br><br>首先学习计算机科学和那些理论，然后摸索出你自己的编程风格，然后把那些都忘掉，乱来就行了。 -- George Carrette <br><br>我担心新的面向对象系统会遭到LISP相似的命运。他们可以做很多事情，但是过于复杂的类的阶层的重量会把他们压塌。 -- Bill Joy <br><br>如果我们要数代码的行数，我们不该把他们当成生产出来的行数，而是花费掉的行数。--Edsger Dijkstra <br><br>你可以拥有高质量的软件，也可以拥有指针运算，但两者不可兼得。-- Bertrand Meyer <br><br>语法，小伙子。它已经被重新授予共和国里最高的地位。 -- John Steinbeck <br><br>你真的确定无误的认为，那些铃铛和汽笛，所谓的编程语言里那些美妙的特性，是解决方案的一部分而不是问题的一部分? -- Edsger Dijkstra <br><br>汝切不可跟随NULL指针前行，因混沌狂乱待汝于彼端。（注：此处模仿圣经十诫语气）--Henry Spencer <br><br>我
觉得传统语言是给鸟类使用的。他们仅仅是冯诺依曼计算机的延伸，他们把鼻子埋藏在字和地址的泥土之中，还做了很多同样傻的事。我们从编程之中学到了这些傻
事，又把他们放进了计算机语言，放进了Fortran，放进了PL/1，放进了几乎所有语言之中。--John Backus <br><br>在人类的阶层之中，写代码处在高于盗墓，但是低于管理的某处。(Gerald Weinberg) <br><br>如果程序员模拟一个结构比编译器实现这个结构还快，那这个编译器写的可够烂的。 (Guy Steele) <br><br>阶级（class)斗争，一些阶级胜利了，一些阶级消灭了。(Mao Zedong) <br><br>类,可以分为三种：一种不工作的，一种出错的，还有一种找不到了的。(Russell Baker) <br><br>内存就像高潮，真的比虚拟的好得多。(Seymour Cray)<img src ="http://www.phpweblog.net/young40/aggbug/2565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-12-18 07:55 <a href="http://www.phpweblog.net/young40/archive/2007/12/18/2565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Xdebug的安装及研究</title><link>http://www.phpweblog.net/young40/archive/2007/12/11/2525.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Mon, 10 Dec 2007 22:02:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/12/11/2525.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2525.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/12/11/2525.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2525.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2525.html</trackback:ping><description><![CDATA[Xdebug是php的一个调试扩展。安装后可以剖析程序出错的原因，更可以查找出程序的瓶颈。<br><br>可以到<span class="boldcode">http://www.xdebug.org/下载到该扩展<br>今天我在Ubuntu上安装并简单使用了这一扩展<br></span><br><span style="font-family: monospace;">安装步骤可以参见此帖：<br>http://www.ibm.com/developerworks/cn/opensource/os-php-xdebug/<br><br>其中会用到phpize这个程序<br>安装php5-dev后可以使用这个命令 <br><br></span><img src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/moz-screenshot.jpg" alt=""><img src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/moz-screenshot-1.jpg" alt=""><br>然后可以使用 <br><br>WinCacheGrind来分析xdebug产生的日志文件 <br><br>我的一个程序经过分析<br>连接数据库的mysql_connect()占用了450ms是整个页面执行时间的99.98%<br><br>额，汗。。。。<br><br> <img src ="http://www.phpweblog.net/young40/aggbug/2525.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-12-11 06:02 <a href="http://www.phpweblog.net/young40/archive/2007/12/11/2525.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对WordPress的研究(二)</title><link>http://www.phpweblog.net/young40/archive/2007/12/04/2460.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Tue, 04 Dec 2007 06:08:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/12/04/2460.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2460.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/12/04/2460.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2460.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2460.html</trackback:ping><description><![CDATA[URL重写机制的研究。<br><br>遇到一些问题，居然没有写完<br><br>等过几天写完了再说<br>   <img src ="http://www.phpweblog.net/young40/aggbug/2460.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-12-04 14:08 <a href="http://www.phpweblog.net/young40/archive/2007/12/04/2460.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu 8.04 Alpha 1 已经发布</title><link>http://www.phpweblog.net/young40/archive/2007/12/01/2448.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 01 Dec 2007 14:29:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/12/01/2448.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2448.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/12/01/2448.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2448.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2448.html</trackback:ping><description><![CDATA[发布了。<br><br>http://cdimage.ubuntu.com/releases/hardy/alpha-1/hardy-desktop-i386.iso<br><br> <img src ="http://www.phpweblog.net/young40/aggbug/2448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-12-01 22:29 <a href="http://www.phpweblog.net/young40/archive/2007/12/01/2448.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>10年编程无师自通</title><link>http://www.phpweblog.net/young40/archive/2007/11/30/2429.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Fri, 30 Nov 2007 09:21:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/30/2429.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2429.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/30/2429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2429.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2429.html</trackback:ping><description><![CDATA[<p class="mobile-post">一些研究者（Hayes、Bloom）的研究表明，在许多领域，都需要大约10
年时间才能培养出专业技能，包括国际象棋、作曲、绘画、钢琴、游泳、网球，以及神经心理学和拓扑学的研究。似乎并不存在真正的捷径：即使是莫扎特，他4
岁就显露出音乐天才，在他写出世界级的音乐之前仍然用了超过13年时间。再看另一种音乐类型的代表--披头士，他们似乎是在1964年的Ed
Sullivan节目中突然冒头的。但其实他们从1957年就开始表演了，即使他们很早就显示出了巨大的吸引力，他们第一次真正的成功之作《Sgt.
Peppers》也要到1967年才发行。Samuel Johnson（译注：英国诗人）认为10
年还是不够的："任何领域的卓越成就都只能通过一生的努力来获得；稍低一点的代价也换不来。" （Excellence in any
department can be attained only by the labor of a lifetime; it is not
to be purchased at a lesser price.） 乔叟（译注：Chaucer，英国诗人，1340-
1400）也抱怨说："生命如此短暂，掌握技艺却要如此长久。"（the lyf so short, the craft so long to
lerne.）下面是我在编程这个行当里获得成功的处方：</p>
<p class="mobile-post">* 对编程感兴趣，因为乐趣而去编程。确定始终都能保持足够的乐趣，以致你能够将10年时间投入其中。</p>
<p class="mobile-post">* 跟其他程序员交谈；阅读其他程序。这比任何书籍或训练课程都更重要。</p>
<p class="mobile-post">*
编程。最好的学习是从实践中学习。用更加技术性的语言来讲，"个体在特定领域最高水平的表现不是作为长期的经验的结果而自动获得的，但即使是非常富有经验
的个体也可以通过刻意的努力而提高其表现水平。"（p.
366），而且"最有效的学习要求为特定个体制定适当难度的任务，有意义的反馈，以及重复及改正错误的机会。"（p.
20-21）《Cognition in Practice: Mind, Mathematics, and Culture in
Everyday Life》（在实践中认知：心智、数学和日常生活的文化）是关于这个观点的一本有趣的参考书。</p>
<p class="mobile-post">*
如果你愿意，在大学里花上4年时间（或者再花几年读研究生）。这能让你获得一些工作的入门资格，还能让你对此领域有更深入的理解，但如果你不喜欢进学校，
（作出一点牺牲）你在工作中也同样能获得类似的经验。在任何情况下，单从书本上学习都是不够的。"计算机科学的教育不会让任何人成为内行的程序员，正如研
究画笔和颜料不会让任何人成为内行的画家"，Eric Raymond，《The New Hacker's
Dictionary》（新黑客字典）的作者如是说。我曾经雇用过的最优秀的程序员之一仅有高中学历；但他创造出了许多伟大的软件，甚至有讨论他本人的新
闻组，而且股票期权让他达到我无法企及的富有程度（译注：指Jamie Zawinski，XEmacs和Netscape
Navigator的作者）。</p>
<p class="mobile-post">*
跟别的程序员一起完成项目。在一些项目中成为最好的程序员；在其他一些项目中当最差的一个。当你是最好的程序员时，你要测试自己领导项目的能力，并通过你
的洞见鼓舞其他人。当你是最差的时候，你学习高手们在做些什么，以及他们不喜欢做什么（因为他们让你帮他们做那些事）。</p>
<p class="mobile-post">* 接手别的程序员完成项目。用心理解别人编写的程序。看看在没有最初的程序员在场的时候理解和修改程序需要些什么。想一想怎样设计你的程序才能让别人接手维护你的程序时更容易一些。</p>
<p class="mobile-post">*
学会至少半打编程语言。包括一门支持类抽象（class
abstraction）的语言（如Java或C++），一门支持函数抽象（functional
abstraction）的语言（如Lisp或ML），一门支持句法抽象（syntactic
abstraction）的语言（如Lisp），一门支持说明性规约（declarative
specification）的语言（如Prolog或C++模版），一门支持协程（coroutine）的语言（如Icon或Scheme），以及一门
支持并行处理（parallelism）的语言（如Sisal）。</p>
<p class="mobile-post">* 记住在"计算机科学"这个词组里包含"计算机"这个词。了解你的计算机执行一条指令要多长时间，从内存中取一个word要多长时间（包括缓存命中和未命中的情况），从磁盘上读取连续的数据要多长时间，定位到磁盘上的新位置又要多长时间。（答案在这里。）</p>
<p class="mobile-post">* 尝试参与到一项语言标准化工作中。可以是ANSI C++委员会，也可以是决定自己团队的编码风格到底采用2个空格的缩进还是4个。不论是哪一种，你都可以学到在这门语言中到底人们喜欢些什么，他们有多喜欢，甚至有可能稍微了解为什么他们会有这样的感觉。</p>
<p class="mobile-post">* 拥有尽快从语言标准化工作中抽身的良好判断力。</p>
<p class="mobile-post">抱
着这些想法，我很怀疑从书上到底能学到多少东西。在我第一个孩子出生前，我读完了所有"怎样&#8230;&#8230;"的书，却仍然感到自己是个茫无头绪的新手。30个月后，
我第二个孩子出生的时候，我重新拿起那些书来复习了吗？不。相反，我依靠我自己的经验，结果比专家写的几千页东西更有用更靠得住。 Fred
Brooks在他的短文《No Silver Bullets》（没有银弹）中确立了如何发现杰出的软件设计者的三步规划：</p>
<p class="mobile-post">1. 尽早系统地识别出最好的设计者群体。</p>
<p class="mobile-post">2. 指派一个事业上的导师负责有潜质的对象的发展，小心地帮他保持职业生涯的履历。</p>
<p class="mobile-post">3. 让成长中的设计师们有机会互相影响，互相激励。</p>
<p class="mobile-post">这
实际上是假定了有些人本身就具有成为杰出设计师的必要潜质；要做的只是引导他们前进。Alan
Perlis说得更简洁："每个人都可以被教授如何雕塑；而对米开朗基罗来说，能教给他的倒是怎样能够不去雕塑。杰出的程序员也一样"。所以尽管去买那些
Java书；你很可能会从中找到些用处。但你的生活，或者你作为程序员的真正的专业技术，并不会因此在24小时、24天甚至24个月内发生真正的变化。</p>
&nbsp;   <img src ="http://www.phpweblog.net/young40/aggbug/2429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-30 17:21 <a href="http://www.phpweblog.net/young40/archive/2007/11/30/2429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>孙悟空是英雄 可唐僧却是个赢家 </title><link>http://www.phpweblog.net/young40/archive/2007/11/30/2426.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Fri, 30 Nov 2007 08:40:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/30/2426.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2426.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/30/2426.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2426.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2426.html</trackback:ping><description><![CDATA[<font size="2">英雄从来都是被利用的。孙悟空是个英雄，可是唐僧却是个赢家。 </font>
<p>　唐僧西天取得真经100年之后的一天，唐僧到如来家里做客。如来为了检验他这100年来修炼的程度，特意问了唐僧几个问题。</p>
<p>　&#8220;众所周知，你当年的成功，离不开你的三个得力徒弟，悟空，八戒，沙僧。那么你本人最喜欢哪个徒弟呢？&#8221;</p>
<p>　唐僧的答案多少有些出乎如来的意料，那就是：&#8220;八戒。&#8221;</p>
<p>　&#8220;为什么？&#8221;如来有了兴趣。</p>
<p>　&#8220;八
戒最大的优点就是可爱。&#8221;唐僧满面笑容地说道，&#8220;有他就少不了笑声。有很多人误以为他懒惰，其实他并不懒惰。每次他打扫马厩或者收拾包裹，都是一丝不苟，
挑不出什么错儿来。但是他很小气，总是要暗地比较，自己比别人多干了多少，他吃不得一点亏。而且他又喜欢睡懒觉，所以大家才会以为他很懒。&#8221;</p>
<p>　&#8220;作为一个领导者，必须要知人善用。手下队伍要精简，属下个人能力要强。&#8221;唐僧如是说。</p>
<p>　&#8220;那么八戒的个人能力是你三个徒弟里面最差的，又有不负责任等对工作不利的缺点。你为什么不换一个精明能干的人选呢？&#8221;如来不解地问。</p>
<p>　&#8220;的
确，八戒在队伍里面确实是个人素质最差的一个。但是，并不是由最好的人员组合起来的队伍就可以最大限度的发挥整体功效。一个强大的完整的队伍，成员必须要
有不同的特点和分工。你仔细观察一下就会发现，通风报信的往往是八戒，而打不过就跑这个特点也只有八戒才有。我记得以前有个将军，他就是要用怕死的兵放
哨，别人不解，他说假如用勇猛的士兵放哨站岗，遇到敌人一定会战死，而胆怯的士兵则会跑回营中报信。这就是说明人员搭配问题的很好的一个例子。&#8221;唐僧神采
奕奕地说。</p>
<p>　喝了一口茶，唐僧接着说道，&#8220;而且，八戒这个
人脸皮很厚，不怕指责。一件事情做不好，大家都可以把责任推到他头上。这样就节省了内部处理问题的时间。而由于他的存在，其余的人员自然而然就会对自己有
一种信心，因为他的能力一定是比八戒强，有了垫底儿的人，大家自然不会为末位淘汰或者绩效考核担忧，因此组织也少了很多摩擦，效率自然提高了。&#8221;</p>
<p>　&#8220;你个人是怎么看待八戒的？&#8221;如来接着问。</p>
<p>　&#8220;对
于我个人来讲，&#8221;唐僧点起一支烟，兴致勃勃地说，&#8220;我之所以喜欢他，是因为他比较喜欢溜须拍马。一个领导者，不可避免地会对一个总是夸赞他的手下产生好感
甚至依赖感。你看几乎每个领导者身边都会有八戒这样的人物存在。因为你不能要求领导者在一个至高无上的地位上，还要放低身份和自尊，去听取下属的批评和接
受下属的顶撞。你必须要有一个会说好话的人在身边，否则你早就被气死了。&#8221;</p>
<p>　唐僧的坦言把如来逗笑了。</p>
<p>&nbsp; 如来问道：&#8220;你觉得悟空这个徒弟怎么样？一路上他多次救你性命！&#8221;</p>
<p>　&#8220;是呀，上次我西天取经还有一个主角人物，他就是齐天大圣孙悟空。其实我们之间最终是敌人的关系，不过他由于紧箍咒问题的存在，和我的关系非常微妙，就如同台湾问题对中美关系的影响一样。&#8221;唐僧缓缓地说。</p>
<p>　&#8220;每次危难时刻，他都能出来救我，很多次我都非常感动。但是只要一风平浪静，我就会恢复对他的敌视态度。&#8221;唐僧说，&#8220;因为我是一个嫉妒心很强的人--每个希望自己建功立业的男人都有嫉妒心。&#8221;</p>
<p>
如来站起来给唐僧沏了杯茶，唐僧呷了一口继续说道：&#8220;西游记不是无间道！&#8221;唐僧说，&#8220;我必须做男一号，别人不可能和我抢戏份，比风头。因为我是整个组织的
领导者，也是这次西天取经的唯一执行者，他们都是我的助手，助手的功劳怎么能大过执行者的功劳呢？可是悟空没有重视自己的身份，总是擅自行事，关键的时候
英雄当头。我知道他的人气和知名度高过我，实际上这是不正常的现象，毕竟经是我拿回来的。&#8221;</p>
<p>　&#8220;那么你们在个性上和感情上有什么冲突呢？&#8221;如来问。</p>
<p>　&#8220;首先我先说我们的共同点，其一，我们都是很执着的人；其二，我们都是禁欲者。在这两点上我们可以相互激励对方。但是，因为没有受过良好家庭教育的关系，孙悟空其实是一个无知的农村土猴，他的文化素质是很差的，而且脾气太倔强&#8221;。</p>
<p>
作为一个被领导者，过于倔强的性格一定会跟领导者有矛盾。一山不容二虎，当一件事情，我们有了分歧，那么到底该听谁的呢？当然是听领导者的。因为领导者是
一个指挥者，他负的是全局成败的责任。不管是他指挥失当，还是用人失当，只要最后结果是失败的，他就要全部负责。像中国足球队的教练输球了怪队员就是一种
低素质指挥者的表现，因为队员是他选拔和训练的。坦白地讲，我是一个完美的指挥者，最后取经成功的结果说明了一切。而如果指挥者下了命令手下不听从，那么
最后就是要手下负责。</p>
<p>　&#8220;作为一个真正意义上的属下，即使领导者让他跳崖他也一定要执行，只要彻底执行了他就没有责任。而悟空就不懂这个常识，所以我说他是乡村土猴子。说实话他的处事方法真的让人讨厌，很多次我都想让他卷铺盖回家。&#8221;</p>
<p>　唐僧自信深沉的谈吐让如来欣慰的笑了笑。&#8220;你们矛盾爆发程度最激烈的一次是不是白骨精事件的那次？&#8221;如来继续问道。</p>
<p>　唐僧咳嗽了几声：&#8220;唉！那是我最丢脸的事情了！&#8221;</p>
<p>
唐僧吐了个烟圈：&#8220;那次我是直接地输给了他。至今我都耿耿于怀。人都是有感情的，虽然是敌对情况严重了点，毕竟我们还是同志，是战友，是上下级。相处久了
一定是有感情的。那次我让他走，实在是因为他让我太生气了。看他一次次给我下跪认错，我忍不住心软。但是我告诉自己，这是赶走他的最好时机，如果这次他走
了，他永远都是个农村土猴。而我自己会独享取经归来的光环。所以我咬牙赶他走了，后来发现不能没有他。你看哪一个君王不是等稳定之后才除掉自己眼中钉的。
所以我想请他回来，等取经成功以后揭发他的一些丑行斗倒他也不迟。请他回来的时候我有多丢面子，好在大家都是自己人，家丑不可怕。&#8221;</p>
<p>　&#8220;那个紧箍咒问题你怎么看？&#8221;如来问。</p>
<p>　&#8220;这
个问题是我们师徒关系中的核心问题。我总是会在恰当的时机让他见识我的厉害。看他痛苦的样子其实我很有满足感，但是我还装出很心痛的样子。而且，正是因为
有紧箍咒的存在，我认为他一定把我当仇人看。等到了取经成功以后会找我报复，遗憾的是他没有抓住那个机会，因为他的谋略比我差很远。反而是我向你推荐他做
佛。做佛了就不能好打不平了。他的性格我清楚，他是忍不住火气的。所以他常常被你教训，这你也清楚的。&#8221;</p>
<p>　最后，唐僧说了这样的话：&#8220;英雄从来都是被利用的。他是个英雄，可是我却是个赢家。&#8221; <br></p>
<br>原文地址：http://blog.csdn.net/foodvc/archive/2007/11/29/1906426.aspx<br><br> <img src ="http://www.phpweblog.net/young40/aggbug/2426.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-30 16:40 <a href="http://www.phpweblog.net/young40/archive/2007/11/30/2426.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>管理寓言</title><link>http://www.phpweblog.net/young40/archive/2007/11/30/2422.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Fri, 30 Nov 2007 04:13:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/30/2422.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2422.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/30/2422.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2422.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2422.html</trackback:ping><description><![CDATA[管理寓言<br><br>&nbsp;<br><br>【寓言1】从唐僧说起<br><br>&nbsp;&nbsp;&nbsp; 吴承恩先生笔下的人物个个性格丰满。话说唐僧，现代社会可能会有很多人会对其加以批判，这个形象既有"卫道士"之嫌，能力也极其平庸，有时还是非不分、真假不辨，但，唐僧究竟凭什么"统治"几个弟子的呢？<br><br>&nbsp;&nbsp;&nbsp; 实际上，唐僧是个高明的领导者，他善于统御，善于利用资源。其它不说，以下几个方面至少是值得借鉴的。<br><br>1、企业的统帅必须有一个具有吸引力甚至是神圣的目标，并根据这个目标组织自己的团队<br><br>&nbsp;&nbsp;&nbsp; 没有唐僧及其"西天取经"的目标和事由，没有这个目标本身会带来"修成正果"的吸引力，就不会有"取经团队"。唐僧个人也就成了这个取经组织的标志物、同义词，没有以唐僧为首的取经团队，孙悟空再能耐又如何，只能"大闹天宫"般地弄的鸡飞狗跳，成不了大事；猪八戒也只能在高老庄当"妖精"；沙和尚也将就在流沙河做个"泥鳅"。<br><br>2、善于培养和利用手中的资源<br><br>&nbsp;&nbsp;&nbsp; 大凡企业家，手上都有一些影响他人思想和行为的资源，譬如资本、权力、优势、人才、技术等。唐僧能通过"西天取经"的事情，利用和培养一系列的资源，这些资源包括，唐王委派的既定地位，各路菩萨、神仙的大力支持帮助，凭着这些资源，妖魔鬼怪自然不在话下，"猴头、猪头"们也当然听任调遣。<br><br>3、领导不一定什么都比下级强，他懂得怎样统御下属<br><br>除了手里要捏着一点类似"紧箍咒"这样的绝对性权力或手段外，饿了知道让徒弟们去化斋，困了知道让徒弟们打点窝铺，唐僧总归懂得按各个徒弟的专长分配工作，也可以说唐僧算是知人善任。若说唐僧虚幻些，话本小说中的这些人物总算还实在：刘备，打架打不过张飞，算计不过孔明，人格不过关羽；刘邦，据说不过就是一个痞子，用得张良、韩信、萧何，创建帝业；宋江也是一遇大事就手足无措"如何是好"的主儿，可总有吴用等兄弟说"哥哥不要惊慌，我等如此如此则个"来对付。通过"创建霸业"的目标和自己的背景、资源、重人、用人、充分发挥人才作用以及与下属的良好协调沟通达成有效统御。<br><br>4、用好人才<br><br>&nbsp;&nbsp;&nbsp; 综合一些管理统御者的成功经验，并不复杂，只是实际中比较难于做到而已：<br><br>（1）发现人才；<br><br>（2）尊重人才；<br><br>（3）善于任用；<br><br>（4）善于授权；<br><br>（5）重视沟通；<br><br>（6）善于激励；<br><br>（7）奖罚有度。<br><br>&nbsp;&nbsp;&nbsp; 一个领导者的才能应该体现在哪些方面，当然越全越好，但实际上不可能，其中最重要的是"要有把团队吸引和团结在自己或者自己事业周围"，这个不能少，退一步说，技术、产品或者其他技能您可以通过钱来购买，但是这个能力必须自己培养。<br><br>您吸引团队的关键是：<br><br>（1）您知道往哪里去（目标），您能通过描述您的目标让下级对您的目标建立信心和忠诚；<br><br>（2）同时您描述的这个目标对大家的意义也要明确；<br><br>（3）您知道怎样到达哪里（途径和手段），同时也让下属建立对他们自己的信心，相信自己在您带领下通过努力也可以到达那里。<br><br>（4）您对下属有合理的组织安排充分利用和发挥各人的有点，让您更好更快地到达那里；<br><br>（5）您需要有协调和解决到达目标过程中各种问题和矛盾的综合能力。<br><br>&nbsp;<br><br>【寓言2】袋鼠与笼子 <br><br>&nbsp;&nbsp;&nbsp; 有一天动物园管理员们发现袋鼠从笼子里跑出来了，于是开会讨论，一致认为是笼子的高度过低。所以它们决定将笼子的高度由原來的十公尺加高到二十公尺。结果第二天他们发现袋鼠还是跑到外面来，所以他们又决定再将高度加高到三十公尺。<br><br>&nbsp;&nbsp;&nbsp; 沒想到隔天居然又看到袋鼠全跑到外面，于是管理员们大为紧张，决定一不做二不休，将笼子的高度加高到一百公尺。<br><br>&nbsp;&nbsp;&nbsp; 一天长颈鹿和几只袋鼠们在闲聊，「你们看，这些人会不会再继续加高你们的笼子？」长颈鹿问。<br><br>&nbsp;&nbsp;&nbsp; 「很难说。」袋鼠说∶「如果他们再继续忘记关门的话！」<br><br>【心得】<br><br>&nbsp;事有「本末」、「轻重」、「缓急」，关门是本，加高笼子是末，舍本而逐末，当然就不得要领了。管理是什么？管理是抓事情的「本末」、「轻重」、「缓急」。<br><br>&nbsp;<br><br>【寓言3】扁鹊的医术<br><br>&nbsp;&nbsp;&nbsp; 魏文王问名医扁鹊说∶「你们家兄弟三人，都精于医术，到底哪一位最好呢？」<br><br>扁鹊答说∶「长兄最好，中兄次之，我最差。」<br><br>&nbsp;&nbsp;&nbsp; 文王再问∶「那么为什么你最出名呢？」<br><br>&nbsp;&nbsp;&nbsp; 扁鹊答说∶「我长兄治病，是治病于病情发作之前。由于一般人不知道他事先能铲除病因，所以他的名气无法传出去，只有我们家的人才知道。我中兄治病，是治病于病情初起之时。一般人以为他只能治轻微的小病，所以他的名气只及于本乡里。而我扁鹊治病，是治病于病情严重之时。一般人都看到我在经脉上穿针管来放血、在皮肤上敷药等大手术，所以以为我的医术高明，名气因此响遍全国。」<br><br>&nbsp;&nbsp;&nbsp; 文王说∶「你说得好极了。」<br><br>【心得】<br><br>&nbsp;事后控制不如事中控制，事中控制不如事前控制，可惜大多数的事业经营者均未能体会到这一点，等到错误的决策造成了重大的损失才寻求弥补，有时是亡羊补牢，为时已晚。<br><br>&nbsp;<br><br>【寓言4】曲突徒薪<br><br>&nbsp;&nbsp;&nbsp; 有位客人到某人家里作客，看见主人家的灶上烟囱是直的，旁边又有很多木材。<br><br>&nbsp;&nbsp;&nbsp; 客人告诉主人说，烟囱要改曲，木材须移去，否则将来可能会有火灾，主人听了没有做任何表示。<br><br>&nbsp;&nbsp;&nbsp; 不久主人家里果然失火，四周的邻居赶紧跑来救火，最后火被扑灭了，于是主人烹羊宰牛，宴请四邻，以酬谢他们救火的功劳，但是并没有请当初建议他将木材移走，烟囱改曲的人。<br><br>&nbsp;&nbsp;&nbsp; 有人对主人说∶「如果当初听了那位先生的话，今天也不用准备筵席，而且没有火灾的损失，现在论功行赏，原先给你建议的人没有被感恩，而救火的人却是座上客，真是很奇怪的事呢！」<br><br>&nbsp;&nbsp;&nbsp; 主人顿时省悟，赶紧去邀请当初给予建议的那个客人来吃酒。<br><br>【心得】<br><br>&nbsp;&nbsp;&nbsp; 一般人认为，足以摆平或解决企业经营过程中的各种棘手问题的人，就是优秀的管理者，其实这是有待商榷的，俗话说∶「预防重于治疗」，能防患于未然之前，更胜于治乱于已成之后，由此观之，企业问题的预防者，其实是优于企业问题的解决者。<br><br>&nbsp;<br><br>【寓言5】秀才买材<br><br>&nbsp;&nbsp;&nbsp; 有一个秀才去卖材，他对卖材的人说∶「荷薪者过来！」卖材的人听不懂「荷薪者」（担材的人）三个字，但是听得懂「过来」两个字，于是把材担到秀才前面。<br><br>&nbsp;&nbsp;&nbsp; 秀才问他∶「其价如何？」卖材的人听不太懂这句话，但是听得懂「价」这个字，于是就告诉秀才价钱。<br><br>&nbsp;&nbsp;&nbsp; 秀才接着说∶「外实而內虛，烟多而焰少，请损之。（你的木材外表是干的，里头却是湿的，燃烧起来，会浓烟多而火焰小，请减些价钱吧。）」卖材的人因为听不懂秀才的话，于是担着材就走了。<br><br>【心得】<br><br>&nbsp;管理者平时最好用简单的语言、易懂的言词来传达讯息，而且对于说话的对象、时机要有所掌握，有时过分的修饰反而达不到想要完成的目的。<br><br>&nbsp;<br><br>【寓言6】海马的焦虑<br><br>&nbsp;&nbsp;&nbsp; 小海马有一天做了一个梦，梦见自己拥有了七座金山。<br><br>　　从美梦中醒来，小海马觉得这个梦是一个神秘的启示：它现在全部的财富是七个金币，但总有一天，这七个金币会变成七座金山。<br><br>　　于是它毅然决然地离开了自己的家，带着仅有的七个金币，去寻找梦中的七座金山，虽然它并不知道七座金山到底在哪里。<br><br>　　海马是竖着身子游动的，游得很缓慢。它在大海里艰难地游动，心里一直在想：也许那七座金山会突然出现在眼前。<br><br>　　然而金山并没有出现。出现在眼前的是一条鳗鱼。鳗鱼问："海马兄弟，看你匆匆忙忙的，你干什么去"海马骄傲地说："我去寻找属于我自己的七座金山。只是&#8230;&#8230;我游得太慢了。""那你真是太幸运了。对于如何提高你的速度，我恰好有一个完整的解决方案。"鳗鱼说，"只要你给我四个金币，我就给你一个鳍，有了这个鳍，你游起来就会快得多。"海马戴上了用四个金币换来的鳍，发现自己游动的速度果然提高了一倍。海马欢快地游着，心里想，也许金山马上就出现在眼前了。<br><br>　　然而金山并没有出现，出现在海马眼前的，是一个水母。水母问："小海马，看你急匆匆的样子，它想要到哪里去？"海马骄傲地说："我去寻找属于我自己的七座金山。只是&#8230;&#8230;我游得太慢了""那你真是太幸运了。对于如何提高你的速度，我有一个完善的解决方案。"水母说，"你看，这是一个喷汽式快速滑行艇，你只要给我三个金币，我就把它给你。它可以在大海上飞快地行驶，你想到哪里就能到哪里。"海马用剩下的三个金币买下这个小艇。它发现，这个神奇的小艇使它的速度一下子提高了五倍。它想，用不了多久就可以到金山了<br><br>　　然而金山还是没有出现，出现在海马眼前的，是一条大鲨鱼。大鲨鱼对它说："你太幸运了。对于如何提高你的速度，我恰好有一套彻底的解决方案。我本身就是一条在大海里飞快行驶的大船，你要搭乘我这艘大船，你就会节省大量的时间，大鲨鱼说完，就张开了大嘴。<br><br>　　"那太好了。谢谢你，鲨鱼先生！"小海马一边说一边钻进了鲨鱼的口里，向鲨鱼的肚子深处欢快地游去&#8230;&#8230;<br><br>　　在一个盛行速度崇拜的时代，有不少管理者把诸多的管理问题归结为速度的问题，又把速度问题简化提速的问题。他们像那条海马一样，对"慢"的焦虑成为他们的基本焦虑--"我去寻找属于我自己的七座金山。只是&#8230;&#8230;我游得太慢了?"于是，他们把企业的发展战略简化为"买入"战略--用金钱来购买速度。<br><br>　　然而，在只有强烈的发财愿望而毫无目标管理可言，企业的经营尚处"漫游状态"时，快或慢是没有分别的。因为此时我们找不到一个参照系来判定多快才算快，多慢才算慢。<br><br>　　正像我们在海马故事中看到的，为快而快的发展模式最终可能使企业被"速度之魔"耗尽资源并且欢快地走向灭亡。<br><br>　　混乱的战略、模糊的目标，极可能使企业陷入一种可怕的"商业浪漫主义"之中。作为商业浪漫主义的典型形态，漫游式经营暗中注定"通向盈利之?"其实是"通向毁灭之路"。<br><br>　　一个人如果没有明确的目标，没有"正业"，他就会滋生出很多零碎的爱好和荒诞无稽的"浪漫情怀"。对于一个企业来说同样如此。在一个市场化程度不高、客户成熟度低的商业环境中，可能有以浪漫的管理手法获得成功的企业，可能会有诗人、哲学家式的企业家。然而随着市场逐渐成熟，客户的鉴别力和权力意识的增强，此类企业和企业家会逐渐绝迹。八十年代在中国翻云覆雨的商界名流几年来纷纷落马，就是一个旁证。<br><br>　　由此我们想到了马克思曾经讲过的哲学家和船夫的故事。<br><br>　　一个哲学家与一个船夫之间正在进行一场对话。<br><br>　　"你懂哲学吗？""不懂。""那你至少失去了一半的生命。""你懂数学吗？""不懂。""那你失去了百分之八十的生命。"<br><br>　　突然，一个巨浪把船打翻了，哲学家和船夫都掉到了水里。看着哲学家在水中胡乱挣扎，船夫问哲学家："你会游泳吗？"<br><br>　　"不&#8230;&#8230;会&#8230;&#8230;"<br><br>　　"那你就失去了百分之百的生命。"<br><br>&nbsp;<br><br>【寓言7】兔子与乌鸦<br><br>兔子：我可以也像你一样整天坐着，并且什么也不干吗？<br><br>乌鸦：当然。有什么不可以的呢？<br><br>突然，一只老虎出现了，扑到兔子的身上，并且把它吃掉了&#8230;&#8230;<br><br>管理学第一个忠告：<br><br>要想什么也不干，只是坐着，你必须得坐到足够高的位置上才行。<br><br>&nbsp;<br><br>【寓言8】火鸡与牛粪<br><br>火鸡：我很想到树顶上去，可是我没有足够的力量。<br><br>公牛：噢，那你何不吃一点我的粪便呢？它们可是很有营养的。<br><br>火鸡吃了一点牛的粪便，结果发现它真的能给他提供足够的能量，使他有力量到达那棵树的第一根树枝上去。第二天，当吃完了更多的牛粪之后，他到达了第二根树枝。就这样，两个星期以后，他已经骄傲的站在了那棵树的顶端。然而，没多久，他就被一个农夫用枪击中了，很快掉到了地上。<br><br>管理学第二个忠告：<br><br>牛粪也许能够帮助你到达顶端，但是，它不能够使你永远保持在那个位置上&#8230;&#8230;<br><br>&nbsp;<br><br>【寓言9】谁是身体的头儿<br><br>&nbsp;&nbsp;&nbsp; 当身体最初被造出来的时候，所有的部分都想当头儿。<br><br>&nbsp;&nbsp;&nbsp; 大脑说："我应当做头儿，因为我控制着整个身体的反应和功能。"<br><br>&nbsp;&nbsp;&nbsp; 脚说："我们才应该做头儿，因为我们承载着大脑，并且把它带到他想去的任何地方去。"<br><br>&nbsp;&nbsp;&nbsp; 手说："我们应该做头儿。所有的工作都是我们做的，所有的钱都是我们赚的。"<br><br>&nbsp;&nbsp;&nbsp; 然后争论一直不断地进行着，心脏，肺，眼睛都发了言，直到最后屁眼开口说话。<br><br>&nbsp;&nbsp;&nbsp; 所有的器官都嘲笑了屁眼也想当头儿的想法。所以屁眼罢工了，堵塞了自己，拒绝工作。短短的时间之内，眼睛上下打架，手紧紧的握在了一起，脚迷失了方向，心和肺恐慌起来，大脑也开始发烧了。<br><br>&nbsp;&nbsp;&nbsp; 最后，他们都觉得应该让屁眼去当头儿，所以这个决议很快就通过了。结果就是，当其他所有的器官都在工作着的时候，他们的头儿却仅仅是在坐着拉屎&#8230;&#8230;<br><br>管理学第三个忠告：<br><br>你并不需要大脑来当头儿，任何一个屁眼都可以做到&#8230;&#8230;<br><br>&nbsp;<br><br>【寓言10】&#8220;猴子-大象&#8221;法则<br><br>大意是：大象可以踩死猴子，但猴子也可以骚扰大象，使大象遭遇挫折。<br><br>定律是：大象体积越大，猴子的胜算就越大。<br><br>角色：大象--规模庞大的公司；猴子--行动灵活的小公司。<br><br>创立人：亨德森（Bruce Henderson），他于1963年设立了目前世界首屈一指的从事"公司策略"服务的机构--波士顿顾问公司（Boston Consulting Group）。他认为：任何一家公司要想成功，最重要的是在市场上竞争；要竞争，必须有市场分析和一套完整的策略。他身材高大，举止粗犷，很像一位战场上饱经风霜的高级将领。<br><br>【案例一】<br><br>大象：西屋公司<br><br>猴子：李蓝公司<br><br>情形：<br><br>某一天，李蓝公司的销售经理请客户M公司的总经理和采购主管去海滩参加"吃蛤会"--我们就理解为"吃喝会"--那里没有电话，尽量减少外界干扰；频繁劝酒，设法使他们醉醺醺的。<br><br>酒过三寻，M公司的采购主管提出："你们李蓝公司为什么不给我们较低的价钱呢"<br><br>&nbsp;&nbsp;&nbsp; 李蓝的经理答道："如果我们把价格降下来，你们还会找比我们更低的供应商"--言外之意是：我们有降价的余地，也有这个愿望，但我们怕得不到保护，反而还会被遗弃。<br><br>&nbsp;&nbsp;&nbsp; M公司的总经理说："不，我们绝对不干这种事！"<br><br>&nbsp;&nbsp;&nbsp; 在这种四海之内皆兄弟、"哥俩好"的气氛中，李蓝的经理说："如果你们确能保证往后1年把所有的生意给我们，我们愿意把价格降低20%。"<br><br>&nbsp;&nbsp;&nbsp; 于是，M公司一口承诺，敲定了这笔生意。李蓝开始以较低的价格供应给M公司，而另一家供应商--西屋公司被赶跑了！<br><br>&nbsp;&nbsp;&nbsp; 西屋公司听到这个风声时，它的销售经理曾气急败坏地找到李蓝的销售经理："你们破坏了我们之间的价格协议！你们可是口口声声表示要坚决遵守它！"--原来小公司们为了不致被规模庞大的西屋公司打压，曾签定过一个"卡特尔"价格协定，过去李蓝始终抱有"跟贴"的策略。如今感到翅膀硬朗了，出奇不意打破了它！<br><br>&nbsp;&nbsp;&nbsp; 事前，李蓝充分做了研究：<br><br>&nbsp;&nbsp;&nbsp; 1、卡特尔（意为：联合垄断）本来就是违法的；<br><br>&nbsp;&nbsp;&nbsp; 2、如果西屋也来降价，与李蓝展开价格战，它就会不得不将其它许多类似的产品的价格也降下来，可这些产品却不是供应给M公司的，即便和李蓝一样的产品也不全是供应给M公司的--西屋是个大东西，产品种类多，它的决策只能是咽下这个苍蝇，丢掉M公司，另寻客户，没有更好的办法。<br><br>&nbsp;&nbsp;&nbsp; 猴子战胜了大象。--至少给大象造成一次不小的挫折。<br><br>【案例二】<br><br>大象：宝洁公司<br><br>猴子：哈勒尔公司<br><br>情形：<br><br>&nbsp;&nbsp;&nbsp; 哈勒尔在1967年时凭借买断的"配方409"清洁喷液的批发权，已占据美国清洁剂5%的市场，几乎50%的清洁喷液市场。哈勒尔公司以及它的老板哈勒尔先生，过得异常舒服。<br><br>&nbsp;&nbsp;&nbsp; 那年的某一天，家用产品之王--宝洁公司开始眼红。它推出了一个叫"新奇"的清洁喷液。哈勒尔的生意遭遇到大的问题--显然，它不是宝洁的竞争对手。<br><br>&nbsp;&nbsp;&nbsp; 按照宝洁的习惯做法，它在创造、命名、包装、试销和促销"新奇"这个产品时，要投入大量的资金，还要通过问卷调查、个别和集体访问作出心理和数字统计，也要耗费大量市场研究费用。<br><br>&nbsp;&nbsp;&nbsp; 宝洁在丹佛市进行这项产品试销时，郑重其事，声势浩大。与此同时，在全国展开大笔资金投入的广告攻势。结果在丹佛的试销小组报告："所向披靡，大获全胜"，因此，宝洁在喜洋洋的气氛下，信心十足，虚荣心也得到全面满足。<br><br>&nbsp;&nbsp;&nbsp; 哈勒尔感到了恐惧--他得到的信息表明他即将被踢出清洁喷液的市场，他要垮掉--他必须冷静下来，设置对抗的"阴谋"。<br><br>&nbsp;&nbsp;&nbsp; 哈勒尔决定采取三步：<br><br>&nbsp;&nbsp;&nbsp; 1、扰乱敌人的视线；<br><br>&nbsp;&nbsp;&nbsp; 2、打击敌人的主管人员的信心；<br><br>&nbsp;&nbsp;&nbsp; 3、限制敌人产品在市场上的销售量，从而，因为销量不佳，难以抵补已投入的大量资金而撤出这个"新奇"产品项目。<br><br>&nbsp;&nbsp;&nbsp; 首先，宝洁在丹佛试销时，哈勒尔从丹佛撤出自己的"配方409"。当时有两种形式可供选择：<br><br>第一种，全部把自己的产品从货架上搬走；<br><br>第二种，先中止在丹佛的广告和促销，然后停止供货，渐渐使商店无货可补。<br><br>&nbsp;&nbsp;&nbsp; 大家注意：计谋在"计理"上讲究层深，一般设到第二层，胜算在80%以上。以上两种撤货形式实际分别是哈勒尔第一步"阴谋"的第一、第二两层。哈勒尔选择了第二层，因为如果选择第一层，很容易让敌人发觉。他静悄悄地、迅速完成了这个"游击战"。<br><br>&nbsp;&nbsp;&nbsp; 哈勒尔成功了。仅仅是试销，已经让宝洁飘飘然，不可一世。<br><br>&nbsp;&nbsp;&nbsp; 然后，实行第二步。在宝洁"新奇"大面积上市，正准备开展全国范围内的"席卷攻势"时，哈勒尔将"配方409"以原来价格的50%倾销，本来宝洁主管人员认为"哈勒尔已不在市场了"，此时却感到措手不及。<br><br>&nbsp;&nbsp;&nbsp; 同时实施第三步，哈勒尔用广告来大肆广而告之："优惠期有限！"结果一般的清洁喷液消费者在很短的时间内几乎购买了可用半年以上的"配方409"清洁喷液。--也就是说，宝洁的"新奇"再好，甚至即便也跟进销价，但消费者在半年内也用不着再买此类商品了！<br><br>&nbsp;&nbsp;&nbsp; 在信心打击下，产品上市就严重滞销，宝洁内部开始认为"新奇"是项"错误的产品"，在议论纷纷中，不得不撤消了"新奇"的生产销售计划。<br><br>哈勒尔赢得很险。--小公司都这样。但它这只精灵的猴子知道大公司的心理：自信，花费大量的开发、销售费用，不密切注意小公司的动静。它成功地躲开宝洁这只大象的脚步声，然后，迅速打击大象的信心，把这块市场上的草木全吃光，大象看到没有食物，尽管远途跋涉而来，也只能离开这里！<br><br>&nbsp;<br><br>&nbsp;<br><br>【管理絮语】<br><br>责备的"三明治技巧"<br><br>&nbsp;&nbsp;&nbsp; 美国著名企业家美琳凯，在指出部属错误时，会先准备称赞他的两个好处：责备前称赞一件，责备后称赞一件，而把责备夹在中间。<br><br>偏见的原因<br><br>――先入为主；<br><br>――经验；<br><br>――孤立的一个事件；<br><br>――权威和背景；<br><br>――不假思索；<br><br>――外表<br><br>原因<br><br>"我们的人才根本就没有发挥作用！"<br><br>"只有混乱的管理，没有无用的人才。"<br><br>团队<br><br>"我的团队：三个臭皮匠，顶个诸葛亮！"<br><br>"我的团队：三个诸葛亮，顶个臭皮匠！"<br><br>"我的团队：一个臭皮匠，弄死三个诸葛亮！"<br><br>驱使<br><br>要让员工完成平常的工作，管理浙可以驱使他们；要让员工创造一流的业绩，就必须让他们自己驱使自己。<br><br>真实的谎言<br><br>某些领导：<br><br>"我们的企业精神是：团结、严谨、求实、奉献"；<br><br>"职工是企业的主人"；<br><br>"爱厂如家"；<br><br>"我十分同意XXX书记的讲话，希望大家遵照执行"；<br><br>"我只要简单地说几句&#8230;&#8230;"<br><br>"企业是所有员工的"<br><br>"我们虚心听取来自群众的意见"<br><br>"成绩和荣誉是大家的&#8230;&#8230;"<br><br>&#8230;&#8230; 某些员工<br><br>"下次一定改正！"<br><br>"在领导的英明领导下、在领导的正确指引下、在领导的支持和关怀下&#8230;&#8230;"<br><br>"我们坚决拥护领导的决策！"<br><br>&nbsp;&nbsp;&nbsp; 人力资源管理<br><br>对孙悟空的管理堪称人力资源管理的典型：<br><br>（１） 成佛成正果的目标引导；<br><br>（２） 紧箍咒的约束；<br><br>（３） 如来佛是最高管理者，唐僧是执行者，中间还有观音菩萨，各有分工，达到最低的管理成本；<br><br>（４） 一路上来不断降妖伏魔，自我价值不断得到体现，心理不断得到满足；<br><br>（５） 不管你怎么翻，总翻不出如来佛的手掌心；<br><br>牧羊<br><br>"我这一帮下属素质不错，但我认为还是要不断牵着他们走。"<br><br>"您看见过有牧羊人走在羊前面或者牵着羊走的吗？"<br><br>检讨自己<br><br>（１） 我今天所做的事情对别人有什么正面影响？<br><br>（２） 我所做的事情对实现目标有什么样的影响？<br><br>（３） 我所做的事情对未来有什么影响？<br><br>（４） 我从今天的做为中学到什么？<br><br>（５） 我明天应该怎样改进？<br><br>授权的时机<br><br>&nbsp;&nbsp;&nbsp; （１） 当下属中有人对这件事情比你还了解时；<br><br>（２） 当下属中有人处理这件事情比你还老到时；<br><br>（３） 当下属中有人比你更适合处理这件事情时；<br><br>（４） 当下属中有人处理这件事情比你有经验时；<br><br>（５） 当下属去做这件事情比你亲自去做成本更低时；<br><br>有效处理工作事务<br><br>正业（本职）必办；<br><br>急事急办、重事重办、普通事按常规办；<br><br>简单重复的事情交下属办；<br><br>程序化的事务弄个规矩、流程来办；<br><br>没有意义的事情可以应付敷衍；<br><br>没有头绪的事情先易后难；<br><br>办一件、销一件，不拖拉、不忙乱。<br><br>【故事1】亨利&#183;福特和他的汽车流水线<br><br>&nbsp;&nbsp;&nbsp; 亨利&#183;福特是美国密歇根州一户农场主的儿子。父亲比尔福特是个爱尔兰移民，初到美国时除了随身所带的几件手工工具，身上一文不名。母亲在亨利很小的时候因为难产去世，留给亨利一个苦涩的童年。亨利福特一生都念念不忘农场生活的朴素和简洁，即使在成为美国的第一个亿万富翁之后仍是如此。他常说，除了用来付帐之外，他实在不知道钱有什么用处。农场生活的那种与天奋斗与地奋斗的虽然原始却充满了力量的粗野的自然美也在亨利福特身上留下了深深的痕迹。也许是由于这种贫民背景，这种农夫天性，亨利福特在制造汽车时铁了心要制造大众汽车。他所设计的T型车非常简单，非常朴素，没有任何一件从机械性能上说不必要的零件，没有任何一点为舒适而设计的附加装置，但却非常结实，非常容易维修，一般普通人都可以自己动手修理，有记者评论说，福特的T型车是彻头彻尾的农民车，浑身象农民一样，只有骨头和肌肉，没有一点脂肪赘肉。福特本人认为，开豪华车是一种腐败，是敬畏上帝的善良人们所不应追求的一种奢侈。他自认是农夫之子，对上流社会有一种近乎天生的厌恶，他曾说，只要拥有一辆福特车，世上就没有一个你去不了的地方，只有上流社会除外。<br><br>&nbsp;&nbsp;&nbsp; 亨利福特从小就对机械和制造表现出了浓厚的兴趣和好奇心。他对机械和工具有一种天生的爱好，什么机械都要拆开来摆弄摆弄，成年后有人问他，童年时最喜欢什么玩具，他回答说，我的玩具全是工具，至今如此。作为生日礼物，他在13岁时得到了一只手表，他所做的第一件事就是把它完全拆开，然后再自行全部重新安装；此后他就迷上了钟表，谁的表坏了他都愿意修，成为一个很出色的钟表修理工。父亲比尔曾劝说他以此为业，亨利却拒绝为此收费，因为这是他最痴心的爱好，收费将是一种亵渎。他十几岁时曾给他父亲设计过一种简单的开门装置，使他父亲不必跳下马车就可以打开农场的大门，也是在13岁那年，他第一次看见了一台蒸气机引擎，他急不可待地跳下他的马车去与操作引擎的工程师攀谈。工程师所介绍的一切是如此地令亨利向往，以至二十年之后，他还能一字不差地复述那位工程师告诉他的每个细节，包括那台蒸汽机每分钟200转的技术参数。<br><br>&nbsp;&nbsp;&nbsp; 1879年亨利17岁时离开父亲的农庄来到了底特律，开始了他的汽车生涯。为了给自己的汽车梦积累资金，亨利同时作了两份工作，白天在密歇根汽车公司作机修工，晚上在一家珠宝店维修钟表。在修钟表的工作中，亨利发现大多数钟表的构造其实可以大大简化，只要精密分工，采用标准部件，钟表的制造成本可以大大降低而性能更加可靠。他自己重新设计了一种简化设计的手表，估算成本为每只30美分，可日产2000只。他认为这一计划是完全可行的，唯一使得他担心的是，他没有年销60万只手表的销售能力，而销售活动又远不如生产那样吸引亨利福特，因此，亨利福特最后抛弃了这一计划。但是，简化部件，大批量生产，低价销售的"更多，更好，更便宜"经营思路却在此时大体形成了。<br><br>&nbsp;&nbsp;&nbsp; 在亨利福特建立他的流水线之前，当时的汽车工业完全是手工作坊型的，三两个人合伙，买一台引擎，设计个传动箱，配上轮子、刹车、座位，装配一辆，出卖一辆，每辆车都是一个不同的型号。由于起动资金要求少，生产也很简单，每条都有50多家新开张的汽车作坊进入汽车制造业，大多数的存活期不过一年。福特的流水线使得这一切都改变了。在手工生产时代，每装配一辆汽车要728个人工小时，而福特的简化设计，标准部件的T型车把这缩短为12.5个小时。 进入汽车行业的第十二年，亨利福特终于实现了他的梦想，他的流水线的生产速度已达到了每分钟一辆车的水平，五年后又把进一步缩短到每十秒钟一辆车。在福特之前，轿车是富人的专利，是地位的象征，售价在4700美元左右，伴随福特流水线的大批量生产而来的是价格的急剧下降，T型车在1910年销售为＄780美元，1911年降到＄690，然后降到＄600，＄500，1914年降到每辆＄360。低廉的价格为福特赢得了大批的平民用户，小轿车第一次成为人民大众的交通工具。福特说："汽车的价格每下降一美元，就为我们多争取来一千名顾客。"1914年福特公司的1万3千名工人生产了26.7万辆汽车；美国其余的299家的66万工人仅生产了28.6万辆。福特公司的市场份额从1908年的9.4％上升到1911年的20.3%，1913年的39.6％，到1914年达到48％，月赢利600万美元，在美国汽车行业占据了绝对优势。<br><br>&nbsp;&nbsp;&nbsp; 亨利福特的名字是和汽车联系在一起的。但是，亨利福特真正爱的并不是作为产品的汽车，甚至也不是汽车工业所带来的巨额利润；他所梦寐以求的是现代化大工业的的那种高度组织、高度精密、高度专业化的生产过程。福特在汽车流水线的建设上非常舍得投资，虽然利润很高，福特却一直不肯分红，而是把所得利润几乎全部投入再生产，不断地用最先进的设备来装备他的流水线。福特的这一做法导致了福特公司主要投资者之一，道奇（Dodge）兄弟的强烈反对。由于福特拒绝分红，他们在1917年上法庭对亨利福特提出控告，控告福特赢利不分红，最后由法院判决福特必须拿出一千九百万美元的利润来分红。需要说明的是，福特的不愿分红，与目前很多中国上市企业经理人员把"融资所得视为利润"，因为自己没有股份因而想方设法扩大"在职消费"而不愿分红发股息完全不同。亨利福特是福特公司的最大股东；当时，按法官判决的办法分红，这一千九百万美元的利润中分给福特本人的，就有一千一百万美元。当时，在福特的工厂工作，就是在未来世界工作，采用的是最先进的设备，最先进的技术；为了提高生产效率，亨利福特毫不吝啬。他的汽车生产线所改变的不单单是汽车的制造，而且是整个社会的经济组织和社会生活，自从流水线方式在30年代成为主导方式，汽车行业的进入壁垒大大提高，竞争成为福特、通用、克拉斯勒三巨头之间的垄断竞争，汽车业在美国再也没有出现过新进入企业。<br><br>&nbsp;&nbsp;&nbsp; 为了实现最高限度的专业化，以最大批量的流水线生产来达到最低成本，亨利福特不允许汽车设计上有任何他认为多余的部件和装置；为了减少因为模具更换而损失的生产时间，也为了避免品种繁多所必然带来的设备费用和库存费用，亨利福特只生产单一型号、单一色彩的T型车。他的销售人员多次提出要增加汽车的外观喷漆色彩，亨利的回答是："顾客要什么颜色都可以，只要它是黑色的。"<br><br>&nbsp;&nbsp;&nbsp; 针对福特汽车的价格优势，由29家厂商联合组成的通用汽车公司在阿尔夫雷德、斯隆的领导下，在内部推行科学管理的同时，采用了多品牌多品种的产品特色化策略，在联合公司的框架下，实行专业化、制度化管理，在采购、资金和管理取得规模经济效益的基础上，保留了众多相对独立的如彐佛莱，卡迪拉克，别克、朋迪埃克这样的著名品牌，在产品的舒适化多样化个性化下功夫。1924年，通用汽车公司推出了液压刹车，四门上下，自动排档，1929年又推出了六缸发动机，而福特的T型车仍然是四缸、双门、手排档。<br><br>&nbsp;&nbsp;&nbsp; 面对通用的攻势，亨利福特根本不以为然，他不相信还有比单一品种、大批量、精密分工、流水线生产更经济更有效的生产方式。对于销售人员提出的警告，福特认为他们无非都是出于营销部门局部利益的危言耸听。福特不止一次地说，福特汽车公司面临的唯一问题就是供不应求。对于长期延用低价策略的问题视而不见。即使后来问题发展的已经很明显的地步，福特也不愿意从根本策略上去找原因，也不愿改动自己的汽车设计去适应市场要求，而只是寄希望于在现成的框架下解决问题。每次"通用"汽车公司推出一个新型号，亨利福特的策略是坚持其既定方针，以降价来应对；从1920到1924，福特共降价8次。其中1924年一年就降了2次。但是，长期延用降价策略的前提是市场的无限扩张，而1920年以后，随着人们收入水平的提高，人们的汽车需求转向多样化，和舒适性。代步型的经济低价车的市场已经近乎饱和；同时，长期的降价经营使得福特公司利润率已经很低，继续降价的余地很小。农夫型的T型车靠降价促销，靠"生产导向型发展"的道路已经走到了尽头。<br><br>&nbsp;&nbsp;&nbsp; 眼看着通用汽车一点一点地蚕食福特的汽车市场，福特公司内许多人都非常着急，希望亨利福特能够及时调整策略，按顾客需求重新设计产品。但是这些合理建议都遭到了福特的拒绝。如果说亨利福特一开始对单一品种策略的问题的视而不见只是一般认识问题的话，他后期的长达二十多年的对任何转换经营策略建议的压制，则反映了管理决策问题上非经济因素的巨大影响，和福特公司在内部治理机制上的严重问题。<br><br>&nbsp;&nbsp;&nbsp; 虽然亨利福特当时在汽车行业各方面几乎都占据了垄断地位，一般来说并不难回应竞争者的挑战。但是，亨利福特的问题是，恰恰是他的长处强项在新的环境中转化成了短处。通用汽车的竞争所指向的，是福特体系的核心：单品种大批量生产。要想对通用汽车的攻势作出有效的反应，福特汽车必须对整个生产流程，组织设计、产品观念作出根本性的改变，而这对于把流水线视为最高理想境界的亨利福特来说，是绝对不愿意看到的。亨利福特的理念是在产品的制造环节上追求最高效率，追求工艺流程的科学化，为此，福特冻结了产品技术，拒绝了一切试图改善T型车的建议。早在1912年亨利福特访问欧洲时，他手下的几个工程师就谋划改进T型车。他们把车身延长了12英寸，又降低了重心，使之驾驶更平稳更舒适。亨利回来后，工程师的试图给他一个惊喜，可是亨利福特看着新车样品模型一言不发，默默地转了好几圈。最后，他一把揪掉了左车门，然后一脚踹掉了右车门，又把后座椅一把丢出车外，最后绕到车头前一锤子把挡风玻璃砸了个粉碎。虽然在整个过程中亨利福特自始至终未说一句话，他的意思却表达得再明显也不过了：除了他自己，谁也不能动他的T型车。<br><br>&nbsp;&nbsp;&nbsp; 即使是福特的最好的老朋友提的建议也同样如此。富兰克.库利克（Frauk Kulilc）是福特早年试制赛车时的老朋友，他希望自己的车子能有更强大的功率，建议亨利福特造一个大一点的行擎，亨利福特为他单独试制了一个马达，把每个汽缸的尺寸从1.25英寸减少到一英寸，造好后，有意不作说明，让富兰克试开，然后问他是不是马力更大。天真的富兰克不知有诈，老老实实地说他觉得新引擎马力更大，亨利福特这时打开车盖，富兰克这才发现，新的引擎其实更小而不是更大。看着目瞪口呆的富兰克一脸窘相，亨利福特才算出了一口气。福特汽车是亨利福特的汽车，是亨利福特的发明创造,他不能容忍别人来对他的毕生心血指手划脚。对于库利克，对于顾客，T型车不过是一种车型；对于福特公司的雇员，T型车是一种产品，但对于亨利福村，T型车却是他一生理想的结晶，是他生命的一部分，甚至是最重要的一部分。他的成功和失败，他的喜悦和酸辛，已经完完全全和T型车交织在一起了。任何对T型车的批评，都被认为是对他本人的批评。此后的三十年中，任何对福特的T型车提改革建议的人都在亨利福特的石墙一样的顽固面前碰了壁，连亨利福特的儿子也不例外。<br><br>&nbsp;&nbsp;&nbsp; 亨利福特的儿子，爱德赛尔（Edsel），非常爱他的父亲，对父亲和父亲的事业非常忠诚，始终尝试着用非常耐心地敬爱的方式说服亨利福特跟上新时代，不幸的是，他的忠诚却被亨利福特视为软弱，对他的建议嗤之以鼻。每当爱德赛尔用通用汽车和斯隆作比喻，争论说管理应当专业化时，亨利福特就会用自己的亲身经历驳斥，说没有受过正规教育的粗人更懂得如何创业。虽然他有时也会给爱得赛尔的改革建议开个绿灯，但然后又会无缘无故地中途下令停止。<br><br>&nbsp;&nbsp;&nbsp; 1929年通用汽车公司推出六缸引擎后，爱德赛尔多次恳求父亲让他试制，亨利始终不同意。后来，爱德赛尔自认终于获得了父亲的默许，开始与福特公司的总工程师一齐试制。六个月以后，就在他们即将试车时，总工程师接到亨利福特的电话，说是他刚刚安置了一条专门运送废品的传送带，请他一起去看看。总工程师到场后发现爱德赛尔也在。这条传送带的顶端在厂里废料堆上方，厂区的废料就从这条传送带上运转过来，直接倒入废料带，不一会传送带开动了，使总工和爱德胜尔大吃一惊的是，传送带送上废物堆的第一件废料，竟是他们辛辛苦苦试制了六个月，即将试车的六缸马达，亨利福特看着几乎惊呆了的总工程师和儿子说："现在你们搞懂了没有?要在我这里搞什么新花样，永远休想！"<br><br>&nbsp;&nbsp;&nbsp; 虽然由于市场压力，亨利福特以后终于批准了六缸汽车上马，但那已是七年之后；福特后来也批准了液压刹车上马，但那已是14年以后，为时已经太晚太晚。福特车的销售不断下降，而外部环境的恶化又使得亨利福特变得越来越孤僻，越来越听不得不同意见，正直的人们纷纷离去；身边的圈子越来越窄，不同意见越来越难传入福特的耳中，而福特也变得越来越依靠身边的几个亲信。到1946年亨利福特不得不让位给孙子亨利福特二世时，福特公司的亏损已达到每月一千万美元；只是因为福特公司的巨大规模和二次世界大战的政府订货才使福特公司免遭倒闭的恶运。<br><br>&nbsp;&nbsp;&nbsp; 当时的福特汽车公司是个内部控股，股票不上市的私人公司。在从全盛走向衰退的漫长的四十多年中，亨利福特本人持有公司的绝大部分股份，最高时达到60％。从利益机制设置来看，不存在任何"代理人"问题或""短期行为"问题。除了亨利福特以外，其余股东为福特家族的其它成员和早期投资的合伙人。因为是个内部控股的私人公司，当时的福特汽车公司没有今天被称为现代企业制度主要成份之一的董事会制度。亨利福特个人拥有绝对的控制权。虽然这种制度在创业期间有助于保证指挥系统的号令有效，但是因为内部没有一个能够制约平衡亨利福特的治理机制，决策的随意性很大，第一把手的决策错误除了企业破产无法纠正。不但福特公司为此遭受了重大损失，亨利福特本人为此也付出了巨大的代价。福特公司直到1956年才上市变成上市公司；虽然以后的经营很不错，但却再也没有能够恢复福特公司在汽车行业的龙头老大地位。 &nbsp;<br><br>【故事2】康柏的故事<br><br>&nbsp;&nbsp;&nbsp; 康柏（Compaq）公司是美国计算机行业最成功的企业之一，创办于1982年。两个创办人中，一个是计算机专家若得凯宁（Rod Canion），另一个是风险基金Sevin-Rosen的投资专家本杰明&#183;尧申（Benjamin Rosen）。<br><br>&nbsp;&nbsp;&nbsp; 1981年，当时在德州仪器公司(Texas Instruments)任职的年轻技术员若得凯宁和两个志同道合的其它技术尖子看中了计算机行业的前景，准备自己成立一家计算机公司。为此，他们四处寻找风险基金的支持，而作为风险投资专家的本杰明&#183;尧申也在寻找值得投资的项目和创业者。在风险资金供求双方的相互寻找的摸索过程中，他们在一次晚餐招待会上相遇了；若得凯宁在餐具垫巾上勾画了他们的产品设想，得到了本杰明&#183;尧申的肯定。Sevin-Rosen投资250万美元，与1982年成立了康柏电脑公司。<br><br>&nbsp;&nbsp;&nbsp; 八十年代早期的计算机行业，技术还在摸索发展之中，既没有统一产品标准，销量也不高，价格因而极其昂贵。今天化一千多美元就能买到的以 "奔腾"处理器为核心的个人电脑，按所代表的信息处理能力计算，在80年代的售价（按运算次数速度和存储能力折算）超过100万美元。适应当时对计算机高新产品的市场需要，早期康柏主要生产专供工程师和科学家使用的手提电脑和高速、大容量的高级微电脑，以技术先进，使用可靠著称。由于当时整个计算机行业的发展成熟程度都还很低，外采部件质量极不稳定；康柏公司为了确保产品质量，主要元部件都是自产的。 为了确保硬软件兼容，康柏公司在设计计算机时对当时已知的所有的软件都进行反复测试，并在出厂前对整机进行连续96小时运转的测试以确保产品质量。康柏的微机装箱后可以从三层楼上摔下来而不出问题，一开箱就可立即使用。康柏在设计制造计算机和工作终端(work station)时追求的是世界第一的技术性能，而不是生产效率和成本控制。只要是科研需要，十几万美元的仪器设备，科研人员可以自行购买。康柏公司的不成文的准则是，让财会人员下地狱见鬼去，我们要的是顶尖产品。<br><br>&nbsp;&nbsp;&nbsp; 在80年代的计算机整体上仍处于创新阶段的情况下，购买计算机的主要是企业的工程科技和管理人员，和科研机构的科学家。康柏的"高科技高质量高价格高服务"经营方针在这一目标市场取得了极大的成功，公司在1982年成立，5年后的销售就突破了10亿美元，开创了当时的世界记录。8年后，康柏的销售达到35亿美元，再次刷新了企业成长速度的世界记录。<br><br>&nbsp;&nbsp;&nbsp; 但是，从80年代末开始，计算机行业的发展趋势和竞争态势开始发生根本性的变化。随着计算机制造技术的逐步成熟，硬软件的技术标准渐趋统一，计算机行业的进入壁垒下降，计算机整机和元器件的价格开始大幅度连续下跌；随着计算机价格的下降和有关知识的逐步普及，市场范围和容量不断扩大，规模经济效应越来越明显。行业价值链的战略环节从科研开发转向生产制造和销售。以现成元器件组装然后邮寄销售的"低价邮购"的经营方式渐渐得到了消费者的认同，以Dell计算机为代表的大量的计算机组装厂商迅速发展起来；计算机的销售从专业商店独家经销的高服务高售价转向邮购和超市式的方便式销售。这种"现成元器件组装"的方式由于跳过了自行开发产品的长周期和高成本，大大降低了经营成本和产品售价。虽然组装产品在技术上并不是最先进的，但对于90％以上的用户是完全足够了。<br><br>&nbsp;&nbsp;&nbsp; 康柏的一度很成功的经营方式于是渐渐成为问题，91年一季度公司历史上第一次出现了亏损。根据变化了的市场形势和产品周期特性，康柏生存发展的一条途径就是果断地改变基本策略，转产低价格大批量的普通大众型电脑。可是搞技术出身的首席执行官凯宁却不愿相信计算机会变得象普通家用电器那么普通，也不相信"高技术高价格"的高档电脑会没有足够的市场。根据美国"计算机周刊"报道，该刊记者在91年三次采访了康柏公司，了解亏损的原因；而康柏总部对此的回答是，亏损只是由于世界经济疲软所造成的暂时现象；根本不承认康柏的根本策略有问题。凯宁认为康柏不但不应转产低价电脑，而且应当进一步增加产品开发研究的投入，走进一步开发新科技，设计新电脑的路线，用更高层次的产品更新来求生存求发展。尧申不相信按当时每台售价1000美元的价格能够造出性能优良的电脑来，即使造得出，也绝达不到康柏的要求，打不响康柏的品牌。<br><br>&nbsp;&nbsp;&nbsp; 转产低价电脑的动议在康柏内部和外部都遇到了许多阻力。为了发展高科技产品，康柏多年来吸引了一大批美国名校毕业的技术尖子。这些技术尖子在康柏的发展中起了极大的作用，也因之成为各个部门的负责人。虽然他们都持有大量的康柏股票，转产成功也符合他们的经济利益，但他们从感情上和技术偏好上都不愿转产低价大众型电脑。他们加盟康柏就是因为在康柏可以开发最新技术，可以搞创造搞发明。他们的理想是在产品技术上突破世界水平，而不愿为批量生产的工艺去计算一分一厘的成本帐。从管理实践上看，很多第一代企业家在创业时都有一个梦；有的是为了证明自己的价值，有的是因为迷上了一种新产品新技术或者一种新的理论，并不完全是，甚至主要不是为了经济利益。对于这种成功的企业家，在市场形势转变之后，往往不愿改变初衷，即使这种改变与他们的直接经济利益是完全一致的。从组织结构设置和管理制度来看，高科技研究和新产品开发要求尽可能发挥科研人员的创造性和主动性，需要的是轻松、自由的组织环境，技术人员在企业里占主导地位；而低价机的大批量生产则要求严密组织制度和全面控制，营销和财会人员在决策过程中起决定性的作用；转产普及机所要求的体制改革与已经建立起来的康柏的现有制度和文化相左，转产的要求自然受到冷落和抵制。从外部来说，多年来康柏与一起开发计算机市场的专业计算机店已经形成了一种精诚合作的伙伴关系，转产低价计算机意味着就必须打破原有的独家经销关系，这也引起康柏零售伙伴的反对。这种提供全面销前售后服务的独家销售网曾经是康柏的战略资产，现在却成为一种包袱。如果转产普及机，在原有的销售体系上的投资和经验都要报废，而在邮购，超市式销售方面，康柏的经验和投资几乎是零，远远落在Dell和其它组装机厂商的后面，一切都要重头学起。对于康柏来说，这无疑是扬短避长。<br><br>&nbsp;&nbsp;&nbsp; 由于这些内部外部原因，转产大批量低价普通电脑的设想在康柏内部始终得不到重视，更谈不上实施了。几次讨论，却被凯宁以"廉价无好货"和"低价机不是康柏的优势所在"为理由拒绝了。<br><br>&nbsp;&nbsp;&nbsp; 与福特公司不同的是，康柏是一个由风险投资基金扶持成立的上市公司，在组建时就设立了一个按美国上市企业的制度规定的比较完善的董事会，并在实际工作中形成了一套切实有效的董事会工作制度。企业的关键决策要经过董事会批准，平时并不干预总裁的指挥，但对总裁的决策有一个参谋监督制约机制，关键时可以启动制约功能，及时作出带根本性的战略改变，必要时可以撤换总裁。<br><br>&nbsp;&nbsp;&nbsp; 康柏的董事会制度的形成，并不是"无心插柳"的偶然现象，而是康柏的董事长和创办者之一的风险专家本杰明&#183;尧申"有心栽花"的结果。<br><br>&nbsp;&nbsp;&nbsp; 本杰明&#183;尧申是美国风险投资业的传奇人物.他在13岁时就创办了自己的邮寄照相冲洗服务，挣了不少钱。以后考入斯坦福大学读电子工程硕士。毕业后先是在一家国防工业从事了几年电子工程的技术工作，然后又到哥仑比亚大学攻读了MBA，毕业后到华尔街著名投资银行摩根斯坦利担任信息技术行业的专职与析师，很快就当上了副总裁。因此，尧申对信息行业的技术趋势和商业分析两方面都很在行。尧申极具冒险精神，又非常谨慎踏实；重大问题事必躬亲。他有私人飞机，却不用私人秘书。1980年他以自己的20万美元为基础，与人合伙，筹集了2500万美元，建了Kevin-Rosen风险投资基金，专门扶持高科技行业的新兴企业，他所扶持的"Lotus"，"康柏"（Compaq）都已成为风险投资成功的经典案例。他在"Lotus"和"康柏"所投的4600万美元，在三年内增值一亿一千万美元。<br><br>&nbsp;&nbsp;&nbsp; 但是，Kevin-Rosen风险投资基金所投资的最初的三个项目都是失败的。分析失败的原因，都是因为投资少，没有介入管理机制的设置，也没有介入关键问题的决策。根据这一总结，尧申决定以后不再以消极的、旁观的、弱股东投资者的身份投资；不投则已，要投就要投投入足够大的资金，要参与董事会而且要当董事长，以便控制关键决策；而且要密切监测受资公司业务发展和管理状况，不当甩手掌柜。为了保证能够真正起到董事会的参谋监督作用，保证对所投资的行业的技术和业务有第一手的丰富信息和直觉感受，尧申的风险基金坚持不在海外投资，不当遥控投资人。<br><br>&nbsp;&nbsp;&nbsp; 这一作法的优势在康柏的投资问题上得到了相当充分的表现。当康柏的业绩开始滑坡时，作为创始人，尧申个人拥有550万股康柏股票，他所负责的的Sevin-Rosen基金在康柏有几千万的投资；比起那些拿干股的董事长，尧申有巨大的投资利益和个人声誉需要保护；他对计算机行业的技术和市场趋势和康柏的实情内情又非常清楚，同时又是董事会的董事长，这就给了尧申解决领导不称职问题的必要手段、能力和内在动机。<br><br>&nbsp;&nbsp;&nbsp; 90年年底，康柏一个中层经理向尧申反映了计算机市场的变化和康柏内部反对转产的种种情况，引起了尧申的重视。因为转产普及机一事关系到康柏公司的根本方向和关键人事，问题又迫在眉睫不容等待，尧申采取了一系列极不寻常的做法。为了摸清低价电脑生产成本的真实情况，尧申亲自从康柏内部秘密挑选了两名中层管理干部，一个搞技术，一个搞营销，跟他一起乘他的私人飞机直飞拉斯维加斯，参加当年的计算机和元件商品交易会。为了不惊动公司内部的反对派，整个调研工作绝对保密，尧申和这两位中层干部联系时用的都是代号，他们的直接上司只知道这两名经理是度假去了。为了避免暴露身份，他们没有住在为参展单位预备的高级旅馆，而是住在一家远离会场的很小的汽车旅馆里。这两位中层经理在商品交易会上以个体户创业为名向参展单位询价，摸清了所有元器件的成本价格情况。然后购买了组装普及计算机的全套元器件，晚上回到汽车旅馆用买来的零配件组装了一台计算机，并对性能进行了测试。实践的结果是，组装机完全可以达到康柏自产机的性能，而价格只有康柏自产机的一半。而且，因为这些元器件是以一个无名个体户的身份买入的；如果考虑到以康柏名义大批量集团购买的话，成本还可以进一步降低。这证明转产低价机在技术上和价格上是完全可行的，而且所需的试制时间根本不需要象康柏内部的技术部门和凯宁所说的那么长，完全可以很快上马。尧申回到公司后以董事长的身份召开了董事会会议，把样机拿到董事会上现场演示，并拿出了事先准备妥当的全套测试数据。经过长达13小时的激烈辩论，董事会达成共识，免去了凯宁的首席执行官职务，决议转产低价普及型计算机，由原执行副总裁瑞法（Pfeiffer）担任总裁并负责实施。<br><br>&nbsp;&nbsp;&nbsp; 由于康柏原有的高科技体制不可能马上转轨，瑞法在康柏内部设立了一个独立分部，专门从事低档机的试制生产和销售，不受康柏原有产供销体制的束缚，享有自行独立采购，独立组织营销的全权。许多长期向康柏供货小批量生产的高质量高售价的专业厂商纷纷向康柏总部的采购部门施加压力，要求康柏继续采购他们的高档高价产品。但是，由于新的分部是有经营自主权的独立分部，主持业务决策的是个新班子，完全不受历史形成的供货关系和情面约束，凡是达不到新的采购成本标准的供货商都被无情地甩开了。康柏开始对产品进行非常严格的价值分析，仅从产品包装上，每件产品就省下了近十个美元，因为实际上没有谁会把计算机从三楼丢到楼下然后再来使用。一年之后，康柏的转产计划取得了巨大的成功。虽然康柏仍然保留了原有的主要服务于企业和企业科技人员的的高档机的生产，但是主要业务已经转到了全世界销售增长最快的普及机市场，计算销量不断上升。现在康柏已经成为世界上最大的个人电脑生产商，98年销售额达到310亿美元。<br><br>&nbsp;&nbsp;&nbsp; 如果康柏的决策机制和二十年代的福特公司一样，是不受约束的"强人"决策，那么康柏的辉煌大概不会延续到今天。作为同一时代的反例，是王安电脑。在康柏转轨的过程中，创办者之一的凯宁失去了他的职位，但是他所参与创办的公司却生存了下来，而且得到了进一步的发展；凯宁本人的股票、股权也相应得到了保值、增值。而同样称雄一时的王安电脑，因为不愿改革，固守其独家产品的技术标准和内部的家庭式管理，最后终于在1992年宣布破产，以职位、财产两空结局。这一教训是值得我们深思的。<br><br>&nbsp;<br><br> <img src ="http://www.phpweblog.net/young40/aggbug/2422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-30 12:13 <a href="http://www.phpweblog.net/young40/archive/2007/11/30/2422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]优秀学校，如斯炮製 ---关注本科教学评估。</title><link>http://www.phpweblog.net/young40/archive/2007/11/29/2414.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Thu, 29 Nov 2007 06:01:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/29/2414.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2414.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/29/2414.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2414.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2414.html</trackback:ping><description><![CDATA[<span class="tpc_content" id="T_61">有位博友在我发的关于评估文章中留言，说评估过去就会好起来的，而我觉得正真值得担心不是评估会不会过去，而是评估到底是爲了什么？爲了炮製一个优秀的学校么？？<br> &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  ——写在前面<br> &nbsp;  走在学校的路上，不禁感到一阵阵的陌生。银杏落下，应该是校园里最美丽的时候，爲什么却又让我感到一阵阵的心寒呢？明明有那么多红色的标语横幅，明明有那么多纷纷扬扬金黄的落叶。但却没有这个校园是属于我的感觉了。<br> &nbsp;  三四节课的时候，听到同学说，早上全校有四个同学去二教上课迟到了，被取消了该门课的攷试资格，其中三个很不幸是我们班的。除了为他们感到不幸之外，没有别的话可以说，宽慰他们？鄙视学校？<br> &nbsp;  学校正在炮製&#8220;政府恐怖主义&#8221;，有点类似当年的铁腕统治，到底学生是学校的根本还是评估和上级是学校的根本。<br> &nbsp;  且看学校如何以&#8220;恐怖主义&#8221;炮製优秀：<br> &nbsp;  老师，如果你上的课出问题，你的考试出问题，如果你负责的某一个学科出问题，不好意思，谁砸了学校的锅，学校就砸谁的碗。<br>
&nbsp; 学生，（昨天紧急班会通知）
没事不要去学校，上课必须提前10分钟，如果迟到了，选择不去上课。去教研室的，必须8点20之前到，下课铃声响之前不能出来，下午2：20之前去教研室
和教室，其他时间不许有人在校园。在二教上课的，上课期间封楼，下课之前禁止进出，晚上10点5分可以自由齣入二教。如果那个学生出问题，该学生寝室连
带，该学生所在班级班长支书&#8220;连坐&#8221;。研究生女生因爲有部分跟本科女生合住，早上8点清人，不许回寝室。如果在评估当时出事，很简单，就不要想毕业了。<br> &nbsp;  寝室方面，本科生寝室，上周花了一个下午的时间，全体大扫除。研究生昨天刚刚进行卫生检查。<br> &nbsp;  学校靠着辅导员，支书，四处散步恐怖的讯息，告诉大家如果不按照学校安排的去做，学校很生气，后果很严重。<br> &nbsp;  这还是学校么？恐吓学生，恐吓老师，只是爲了取悦评估专家。评估专家来之前爲什么不抓学风，爲什么不好好抓抓迟到，火烧屁股的时候，用如此重典。似乎想起当年法家的一句话&#8220;乱世用重典&#8221;。<br> &nbsp;  现在当然不是乱世，党中央所提倡的和谐社会正是，我们所渴求的生存状态，然而爲什么会发生如此事件呢？<br> &nbsp;  这样炮製出来的优秀，又有多少意义。就算中国的所有大学都是优秀了，中国的高等教育就达到人家美国的程度了么？美国太远了，近点说说，港科大吧，发展才几年，现在亚洲高校中的地位已是非比寻常，关键在于哪里？<br> &nbsp;  绝对不是因爲香港高校在搞本科评估，研究生评估，而是因爲香港高校有着宽鬆自由的学习环境和学术氛围，有着认真负责的老师。简单一句话，在港科大有着大师！<br> &nbsp;  港科一个本科生拿了ieee年度论文，本校也有研究计算机病毒的本科生被直接邀请去微软总部。可以说，人才都差不了多少，但是平均水平呢？<br><br> &nbsp;  清华老校长梅贻琦老先生说过&#8220;大学者，非有大楼之谓也，有大师之谓也。&#8221;大师是朝夕之功？大师是评估得来？<br> &nbsp;   <br> &nbsp;   何来？何为？何必如此！！！<br><br><br><br></span>  <img src ="http://www.phpweblog.net/young40/aggbug/2414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-29 14:01 <a href="http://www.phpweblog.net/young40/archive/2007/11/29/2414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>麦肯锡：富不过三代 财富倒塌有三大原因</title><link>http://www.phpweblog.net/young40/archive/2007/11/28/2412.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Wed, 28 Nov 2007 11:59:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/28/2412.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2412.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/28/2412.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2412.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2412.html</trackback:ping><description><![CDATA[<strong style="color: #000000;">豪门多败家&#8220;穷孙子&#8221;宿命难逃</strong>
<p style="color: #000000;">　　近百年来，中国经历了前所未有的磨难，像荣氏家族那样罕见地延续着三代中国首富传奇的范例毕竟凤毛麟角，更多的名门望族已在封建王朝的频繁更替
和中华民族近百年的磨难中，随着时代的洪流而烟消云散。事实上，在古今中外历史上，很多富人家族都难以逃脱&#8220;富不过三代&#8221;的宿命。<br>
<br>
专家分析，&#8220;富不过三代&#8221;并非单一原因所致，而是综合因素造成的。</p>
<p style="color: #000000;">　　<strong>富人家族皆有&#8220;穷孙子&#8221;</strong></p>
<p style="color: #000000;">　　摩根大通投资银行在通过对《福布斯》杂志最近20年的全球首富排行榜进行研究发现，在400位曾进过全球富豪排行榜的名流中，只有1/5的人能够维持其地位。统计表明这些有钱人的风光场面通常都维持不了20年，应验了&#8220;富不过三代&#8221;的俗话。</p>
<p style="color: #000000;">　　无独有偶，英国小伙子胡润所有的《胡润百富》杂志在上海发布了一个有意思的榜单———《胡润全球最古老的家族<nobr><strong class="kgb" onclick="'javascript:window.open(" http:="" pagead2.googlesyndication.com="" pagead="" iclk?sa="l&amp;ai=B3okof1ZNR7uEIpaysALmtI2yB8Hzqhrhgs3bAsCNtwGA0w4QEBgQIIL2kgsoFDgAUPGipqgCYJ3J4IHoBaoBCjIwMDAwMTYxMjOyAQ1uZXdzLmNzZG4ubmV0yAEB2gEraHR0cDovL25ld3MuY3Nkbi5uZXQvbi8yMDA3MTEyOC8xMTExNTkuaHRtbIACAakCg8v8cbwogj7IAqmCTagDAegDS-gDqwP1AwAEAAA&amp;num=16&amp;adurl=http://www.kyxuanmei.cn/Product.asp%3FBigClassName%3D%25B8%25C9%25D1%25A1%25C9%25E8%25B1%25B8&amp;client=ca-pub-7244513001137299&quot;);GgKwClickStat(&quot;企业&quot;,&quot;www.kyxuanmei.cn&quot;,&quot;afc&quot;,&quot;2000016123&quot;);'&quot;" onmouseout="'isShowGg" onmouseover="'isShowAds" style="border: 0px none ; margin: 0px; padding: 0px; font-weight: normal;">企业</strong></nobr>榜》。榜单同时显示，&#8220;富不过三代&#8221;并非中国特色，全球家族企业普遍面临&#8220;穷孙子&#8221;问题。</p>
<p style="color: #000000;">　　麦肯锡的一项研究指出，全球家族企业的平均寿命只有24年，其中只有大约30％的家族企业可以传到第二代，能够传至第三代的家族企业数量不足总量的13％，只有5％的家族企业在三代以后还能够继续为股东创造价值。</p>
<p style="color: #000000;">　　而在中国，近几年的一个统计数据同样显示，香港富豪在交棒予第二代的过程中，剔除其他市场因素，其家族上市企业股价平均下跌80%，台湾及新加坡的第二代富豪平均跌幅为40%。</p>
<p style="color: #000000;">　　<strong>&#8220;金钱王国&#8221;倒塌的三大原因</strong></p>
<p style="color: #000000;">　　据英国《星期日泰晤士报》报道，通过对《福布斯》杂志最近20年的全球首富排行榜进行研究，摩根银行发现，在20年前的400大富豪中，有
200多位富豪因&#8220;千金散尽&#8221;而退出富豪排行榜，其中包括&#8220;披头士&#8221;乐队主唱约翰&#183;列侬的遗孀小野洋子、知名化妆品品牌创办人雅诗&#183;兰黛等。许多声名显赫
的世家后人也从富豪榜上除名，比如杜邦家族，超过15个成员已被挤出富豪榜外。洛克菲勒家族的若干成员、电影《公民凯恩》所描绘的美国媒体巨头赫斯特的后
人都已黯然出局。</p>
<p style="color: #000000;">　　目前，仍在榜上的只剩50人，其中包括华尔街股神、<nobr><strong class="kgb" onclick="'javascript:window.open(" http:="" pagead2.googlesyndication.com="" pagead="" iclk?sa="l&amp;ai=BLu-Ef1ZNR7uEIpaysALmtI2yB9-fwCy_05-lAsCNtwGQ5SIQARgBIIL2kgsoFDgAUKOA6I_5_____wFgncnggegFqgEKMjAwMDAxNjEyM7IBDW5ld3MuY3Nkbi5uZXTIAQHaAStodHRwOi8vbmV3cy5jc2RuLm5ldC9uLzIwMDcxMTI4LzExMTE1OS5odG1sqQKDy_xxvCiCPsgCn7uHA6gDAegDS-gDqwP1AwAEAAA&amp;num=1&amp;adurl=http://www.richfu.com&amp;client=ca-pub-7244513001137299&quot;);GgKwClickStat(&quot;财富&quot;,&quot;www.richfu.com&quot;,&quot;afc&quot;,&quot;2000016123&quot;);'&quot;" onmouseout="'isShowGg" onmouseover="'isShowAds" style="border: 0px none ; margin: 0px; padding: 0px; font-weight: normal;">财富</strong></nobr>排名全球第二的华伦&#183;<nobr><strong class="kgb" onclick="'javascript:window.open(" http:="" pagead2.googlesyndication.com="" pagead="" iclk?sa="l&amp;ai=BKxQVf1ZNR7uEIpaysALmtI2yB6Sv3S6I-IiwBcCNtwHwkwkQAhgCIIL2kgsoFDgAUIXE3JT7_____wFgncnggegFqgEKMjAwMDAxNjEyM7IBDW5ld3MuY3Nkbi5uZXTIAQHaAStodHRwOi8vbmV3cy5jc2RuLm5ldC9uLzIwMDcxMTI4LzExMTE1OS5odG1sqQKDy_xxvCiCPsgCjPKvAqgDAegDS-gDqwP1AwAEAAA&amp;num=2&amp;adurl=http://www.br28.com/products.asp&amp;client=ca-pub-7244513001137299&quot;);GgKwClickStat(&quot;巴菲特&quot;,&quot;www.br28.com&quot;,&quot;afc&quot;,&quot;2000016123&quot;);'&quot;" onmouseout="'isShowGg" onmouseover="'isShowAds" style="border: 0px none ; margin: 0px; padding: 0px; font-weight: normal;">巴菲特</strong></nobr>、
福特汽车集团的威廉&#183;福特、迪斯尼公司的罗伊&#183;迪斯尼，以及知名运动鞋品牌&#8220;耐克&#8221;创办人菲利浦&#183;奈特等。《胡润全球最古老的家族企业榜》的榜单也显示，
在美国，家族企业在第二代能够存在的只有30%，到第三代还存在的只有12%，到第四代及四代以后依然存在的只剩3%了。葡萄牙有&#8220;富裕农民—贵族儿子—
穷孙子&#8221;的说法，西班牙也有&#8220;酒店老板，儿子富人，孙子讨饭&#8221;的说法，德国则用3个词&#8220;创造，继承，毁灭&#8221;，来代表三代人的命运。</p>
<p style="color: #000000;">　　摩根银行分析认为，投资失误、重税和挥霍无度是搞垮这些金钱王国的三大原因。许多富豪不愿将投资多元化，而是集中投资于帮助其致富的&#8220;老本
行&#8221;，所以他们经受不住时代的考验。摩根银行还发现，许多富豪后代花钱如流水，导致这些有钱人往往富不过三代。一个典型的例子就是希尔顿饭店集团的女继承
人芭莉丝&#183;希尔顿，38亿美元的遗产只够她用来支付穿戴豪华服饰的巨额账单。摩根银行指出，富豪家族每年的开销应以其总资产的3％到4％为上限，否则就难
以维持其地位。换句话说，身价一亿英镑的富豪，每年的开销不能超过400万英镑。<br>
</p>
<p style="color: #000000;">　<strong>　&#8220;富不过三代&#8221;现象在亚洲常见</strong> </p>
<p style="color: #000000;">　　胡润表示，中国最有名的家族企业当数荣氏家族，目前由第三代荣智健掌控，而其业务早已不是爷爷荣德生20世纪初经营的面粉生意了。在海外，有名
望的华人家族有100多个，但并没有很多长寿家族企业。实际上，中国人有追溯自己家族历史的传统，中国也有很多古老的家族，但并没有很多超过30年历史的
家族企业。&#8220;富不过三代&#8221;的现象在亚洲普遍出现，其中香港企业的情况尤其严重。有学者经过研究指出，香港豪门&#8220;败家率&#8221;高企，是由香港企业的&#8220;特殊行业构
成&#8221;导致。他举例指出，房地产等行业的家族企业不受国际竞争影响，他们的创办和成长本身很大程度上是依赖于特殊的人脉及商业网路，即和政府及银行搞好关系
便易办事，这就不可避免地为日后企业继承过程所遇到的困难埋下伏笔。</p>
<p style="color: #000000;">　　著名经济学者、中国社科院中小企业研究中心主任陈乃醒指出，规范职业经理人行为、明确产权的<nobr><strong class="kgb" onclick="'javascript:window.open(" http:="" pagead2.googlesyndication.com="" pagead="" iclk?sa="l&amp;ai=BL7LSf1ZNR7uEIpaysALmtI2yB8WPvRetmuDzAsCNtwGA8QQQBRgFIIL2kgsoFDgAUNv-9IQDYJ3J4IHoBaoBCjIwMDAwMTYxMjOyAQ1uZXdzLmNzZG4ubmV0yAEB2gEraHR0cDovL25ld3MuY3Nkbi5uZXQvbi8yMDA3MTEyOC8xMTExNTkuaHRtbKkCCQmc3qF-qT6oAwHoA0voA6sD9QMABAAA&amp;num=5&amp;adurl=http://www.smiletourism.com&amp;client=ca-pub-7244513001137299&quot;);GgKwClickStat(&quot;法律法规&quot;,&quot;www.smiletourism.com&quot;,&quot;afc&quot;,&quot;2000016123&quot;);'&quot;" onmouseout="'isShowGg" onmouseover="'isShowAds" style="border: 0px none ; margin: 0px; padding: 0px; font-weight: normal;">法律法规</strong></nobr>的缺失，是目前内地家族<nobr><strong class="kgb" onclick="'javascript:window.open(" http:="" pagead2.googlesyndication.com="" pagead="" iclk?sa="l&amp;ai=B3okof1ZNR7uEIpaysALmtI2yB8Hzqhrhgs3bAsCNtwGA0w4QEBgQIIL2kgsoFDgAUPGipqgCYJ3J4IHoBaoBCjIwMDAwMTYxMjOyAQ1uZXdzLmNzZG4ubmV0yAEB2gEraHR0cDovL25ld3MuY3Nkbi5uZXQvbi8yMDA3MTEyOC8xMTExNTkuaHRtbIACAakCg8v8cbwogj7IAqmCTagDAegDS-gDqwP1AwAEAAA&amp;num=16&amp;adurl=http://www.kyxuanmei.cn/Product.asp%3FBigClassName%3D%25B8%25C9%25D1%25A1%25C9%25E8%25B1%25B8&amp;client=ca-pub-7244513001137299&quot;);GgKwClickStat(&quot;企业管理&quot;,&quot;www.kyxuanmei.cn&quot;,&quot;afc&quot;,&quot;2000016123&quot;);'&quot;" onmouseout="'isShowGg" onmouseover="'isShowAds" style="border: 0px none ; margin: 0px; padding: 0px; font-weight: normal;">企业管理</strong></nobr>权和财产权交接过程中面临的最大问题。</p>
<p style="color: #000000;">　　<strong>多种原因导致财富殆尽</strong></p>
<p style="color: #000000;">　　中国学者对自古以来海外华商的财富传承做了分析后发现，大多华商在财富传承上之所以难逃&#8220;富不过三代&#8221;的定律，主要原因如下：是家族产业管理任人唯亲，使财富因下一代管理不善而消失殆尽；</p>
<p style="color: #000000;">　　二是财富创始者缺乏长远意识，未能提前做好财富继承的合理安排，致使下一代在遗产继承时纷争频繁，最终导致财富在家族内耗中化为乌有；</p>
<p style="color: #000000;">　　三是由于中国文化传统中某些负面作用的影响。华商的家族观念一般重于社会责任，很少有财富创始者对财富进行社会层面的思考。采用基金管理、用于
慈善以保证世代传承的事例，在整个华商历史上更是少之又少。中国历史连绵不断，文化从未中断，却没有出现一个哪怕传承100年以上，并在当今社会依然显赫
的财富家族。</p>
<p style="color: #000000;">　　也有专家分析，中国富人家族难以逃脱&#8220;富不过三代&#8221;的命运，主要是社会体制与人的本性共同造成了这种现象。概括起来主要原因有三：</p>
<p style="color: #000000;">　　一是政治变动。中国几千年的封建历史，王朝更替频繁；即使不是王朝更替时，皇位更替频繁，一朝天子一朝臣。因此，中国自古战乱不断，政局多变，也是富不能久远的原因之一。</p>
<p style="color: #000000;">　　二是人的本性。首代<nobr><strong class="kgb" onclick="'javascript:window.open(" http:="" pagead2.googlesyndication.com="" pagead="" iclk?sa="l&amp;ai=Bh6huf1ZNR7uEIpaysALmtI2yB5HUszad3NiHBcCNtwHQrXMQAxgDIIL2kgsoFDgAUIyihJsGYJ3J4IHoBaAB59uO9QOqAQoyMDAwMDE2MTIzsgENbmV3cy5jc2RuLm5ldMgBAdoBK2h0dHA6Ly9uZXdzLmNzZG4ubmV0L24vMjAwNzExMjgvMTExMTU5Lmh0bWypAoPL_HG8KII-yALFiccDqAMB6ANL6AOrA_UDAAQAAA&amp;num=3&amp;adurl=http://g.hghusa.cn/&amp;client=ca-pub-7244513001137299&quot;);GgKwClickStat(&quot;创业者&quot;,&quot;g.hghusa.cn&quot;,&quot;afc&quot;,&quot;2000016123&quot;);'&quot;" onmouseout="'isShowGg" onmouseover="'isShowAds" style="border: 0px none ; margin: 0px; padding: 0px; font-weight: normal;">创业者</strong></nobr>競競业业，吃苦耐劳，勤俭持家，奋发向上，终于创下了偌大家业；二代人目睹父辈创业的艰辛，受到父辈的教育影响，还能够守住家业甚至还有发展。但三代、四代人则不然，他们从小享受父祖辈的福荫，倚仗父祖辈的权势，还有不少成了纨绔子弟。</p>
<p style="color: #000000;">　　三是国家体制形成的教子观念。西方国家在这方面优于我们。不少人纵然是泼天之富，一般也不任由子女挥霍，而是鼓励子女独立，引导他们自己创业。
像世界第一富豪比尔&#183;盖茨、第二富豪巴菲特，他们均将多数财产捐献给了公益事业，只将少部分留给儿女。这样的做法使子女们依赖性大大降低，自立能力反而全
面加强。而我们的体制造就了自古以来的&#8220;家天下&#8221;意识，国与家不分，权位与财产在可能的情况下都要&#8220;下传子&#8221;，这种意识形态的形成也是中国富豪不愿投身公
益事业的重要原因。</p>
<p style="color: #000000;">　<strong>　大多数民企难摆脱魔咒</strong></p>
<p style="color: #000000;">　　深圳证券交易所总经理张育军本月16日晚在杭州举行的第五届浙江&#183;中国民营企业峰会民营<nobr><strong class="kgb" onclick="'javascript:window.open(" http:="" pagead2.googlesyndication.com="" pagead="" iclk?sa="l&amp;ai=B3okof1ZNR7uEIpaysALmtI2yB8Hzqhrhgs3bAsCNtwGA0w4QEBgQIIL2kgsoFDgAUPGipqgCYJ3J4IHoBaoBCjIwMDAwMTYxMjOyAQ1uZXdzLmNzZG4ubmV0yAEB2gEraHR0cDovL25ld3MuY3Nkbi5uZXQvbi8yMDA3MTEyOC8xMTExNTkuaHRtbIACAakCg8v8cbwogj7IAqmCTagDAegDS-gDqwP1AwAEAAA&amp;num=16&amp;adurl=http://www.kyxuanmei.cn/Product.asp%3FBigClassName%3D%25B8%25C9%25D1%25A1%25C9%25E8%25B1%25B8&amp;client=ca-pub-7244513001137299&quot;);GgKwClickStat(&quot;企业家&quot;,&quot;www.kyxuanmei.cn&quot;,&quot;afc&quot;,&quot;2000016123&quot;);'&quot;" onmouseout="'isShowGg" onmouseover="'isShowAds" style="border: 0px none ; margin: 0px; padding: 0px; font-weight: normal;">企业家</strong></nobr>沙龙上表示，我国85%的民营企业无法摆脱&#8220;富不过三代&#8221;的魔咒，而不规范正是制约民营企业进一步发展的瓶颈。</p>
<p style="color: #000000;">　　他表示，我国民企存在着公司治理、财务运作和经营活动三方面的不规范，这使得企业规模扩张难以为继、社会舆论负面评价加大。更为可怕的是，这种不规范使得85%的民企无法摆脱&#8220;富不过三代&#8221;的魔咒。</p>
<br>
<p style="color: #000000;"><br></p>
<h4>来自：民营经济报</h4><img src ="http://www.phpweblog.net/young40/aggbug/2412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-28 19:59 <a href="http://www.phpweblog.net/young40/archive/2007/11/28/2412.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu[005]软件包管理命令</title><link>http://www.phpweblog.net/young40/archive/2007/11/27/2402.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Tue, 27 Nov 2007 06:04:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/27/2402.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2402.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/27/2402.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2402.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2402.html</trackback:ping><description><![CDATA[dpkg命令：<br>
dpkg -i /**/**/**.deb  安装软件<br>
dpkg -x **.deb   解开.deb文件<br>
dpkg -r /-p   删除并清配置<br>
更详细的 用dpkg --help 查询 如下：<br>
dpkg -i|--install      &lt;.deb 文件的文件名&gt; ... | -R|--recursive &lt;目录&gt; ...<br>
dpkg --unpack          &lt;.deb 文件的文件名&gt; ... | -R|--recursive &lt;目录&gt; ...<br>
dpkg -A|--record-avail &lt;.deb 文件的文件名&gt; ... | -R|--recursive &lt;目录&gt; ...<br>
dpkg --configure              &lt;软件包名&gt; ... | -a|--pending<br>
dpkg -r|--remove | -P|--purge &lt;软件包名&gt; ... | -a|--pending<br>
dpkg --get-selections [&lt;表达式&gt; ...]     把已选中的软件包的列表打印到标准输出<br>
dpkg --set-selections                    从标准输入里读出要选择的软件包列表<br>
dpkg --update-avail
<packages 文件="">      替换现可安装的软件包信息<br>
dpkg --merge-avail
<package 文件="">        把文件中的信息合并到系统中<br>
dpkg --clear-avail                       清除现有的软件包信息<br>
dpkg --forget-old-unavail                忘却已被删除，现在却不能安装的软件包<br>
dpkg -s|--status &lt;软件包名&gt; ...          显示软件包详尽的状态信息<br>
dpkg -p|--print-avail &lt;软件包名&gt; ...     显示软件包当前可供安装的版本的详细信 息<br>
dpkg -L|--listfiles &lt;软件包名&gt; ...       列出所有&#8220;属于&#8221;该软件包(或多个软件包)的文件<br>
dpkg -l|--list [&lt;表达式&gt; ...             简明地列出软件包的状态<br>
dpkg -S|--search &lt;表达式&gt; ...            搜寻拥有该文件(或多个文件)的软件包<br>
dpkg -C|--audit                          检查搜寻残损的软件包<br>
dpkg --print-architecture                显示目标机的体系架构(借助 GCC)<br>
dpkg --print-gnu-build-architecture      显示目标机体系架构的 GNU 版本的表示<br>
dpkg --print-installation-architecture   显示本地主机的体系架构(用于安装)<br>
dpkg --compare-vesions &lt;甲&gt; &lt;关系&gt; &lt;乙&gt;  比较版本号 - 见下<br>
dpkg --help | --version                  显示本帮助文档以及版本号<br>
dpkg --force-help | -Dh|--debug=help     强制操作时，有关出错方面的帮助<br>
dpkg --licence                           显示版权和许可证的条文<br><br></package>
</packages>
ubuntu下apt-get 命令参数
<p>　　常用的APT命令参数</p>
<p>　　apt-cache search package 搜索包</p>
<p>　　apt-cache show package 获取包的相关信息，如说明、大小、版本等</p>
<p>　　sudo apt-get install package 安装包</p>
<p>　　sudo apt-get install package - - reinstall 重新安装包</p>
<p>　　sudo apt-get -f install 修复安装"-f = ――fix-missing"</p>
<p>　　sudo apt-get remove package 删除包</p>
<p>　　sudo apt-get remove package - - purge 删除包，包括删除配置文件等</p>
<p>　　sudo apt-get update 更新源</p>
<p>　　sudo apt-get upgrade 更新已安装的包</p>
<p>　　sudo apt-get dist-upgrade 升级系统</p>
<p>　　sudo apt-get dselect-upgrade 使用 dselect 升级</p>
<p>　　apt-cache depends package 了解使用依赖</p>
<p>　　apt-cache rdepends package 是查看该包被哪些包依赖</p>
<p>　　sudo apt-get build-dep package 安装相关的编译环境</p>
<p>　　apt-get source package 下载该包的源代码</p>
<p>　　sudo apt-get clean &amp;&amp; sudo apt-get autoclean 清理无用的包</p>
<p>　　sudo apt-get check 检查是否有损坏的依赖</p>
<p>　　其中：</p>
<p>　　1 有SUDO的表示需要管理员特权！</p>
<p>　　2 在UBUNTU中命令后面参数为短参数是用&#8220;-&#8221;引出，长参数用&#8220;――&#8221;引出</p>
<p>　　3 命令帮助信息可用man 命令的方式查看或者</p>
<p>　　命令 -H（――help）方式查看</p>
<p>　　4 在MAN命令中需要退出命令帮助请按&#8220;q&#8221;键！！</p>
<p>　　选项 含义 作用</p>
<p>　　sudo -h Help 列出使用方法，退出。</p>
<p>　　sudo -V Version 显示版本信息，并退出。</p>
<p>　　sudo -l List 列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。</p>
<p>　　sudo -u username|#uid User 以指定用户的身份执行命令。后面的用户是除root以外的，可以是用户名，也可以是#uid。</p>
<p>　　sudo -k Kill 清除&#8220;入场卷&#8221;上的时间，下次再使用sudo时要再输入密码。</p>
<p>　　sudo -K Sure kill 与-k类似，但是它还要撕毁&#8220;入场卷&#8221;，也就是删除时间戳文件。</p>
<p>　　sudo -b command Background 在后台执行指定的命令。</p>
<p>　　sudo -p prompt command Prompt 可以更改询问密码的提示语，其中%u会代换为使用者帐号名称，%h会显示主机名称。非常人性化的设计。</p>
<p>　　sudo -e file Edit 不是执行命令，而是修改文件，相当于命令sudoedit。</p>
<br> <img src ="http://www.phpweblog.net/young40/aggbug/2402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-27 14:04 <a href="http://www.phpweblog.net/young40/archive/2007/11/27/2402.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是OOD</title><link>http://www.phpweblog.net/young40/archive/2007/11/27/2400.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Tue, 27 Nov 2007 01:31:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/27/2400.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2400.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/27/2400.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2400.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2400.html</trackback:ping><description><![CDATA[面向对象设计（Object-Oriented Design，OOD）方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理，以便能够被OOP直接接受。<br>
<br>
&nbsp; &nbsp;&nbsp;&nbsp;面向对象设计（OOD）是一种软件设计方法，是一种工程化规范。这是毫无疑问的。按照Bjarne Stroustrup的说法，面向对象的编程范式（paradigm）是[Stroustrup, 97]：<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;l 决定你要的类；<br>
&nbsp; &nbsp;&nbsp; &nbsp;l 给每个类提供完整的一组操作；<br>
&nbsp; &nbsp;&nbsp; &nbsp;l 明确地使用继承来表现共同点。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;由这个定义，我们可以看出：OOD就是&#8220;根据需求决定所需的类、类的操作以及类之间关联的过程&#8221;。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;OOD的目标是管理程序内部各部分的相互依赖。为了达到这个目标，OOD要求将程序分成块，每个块的规模应该小到可以管理的程度，然后分别将各个块隐藏
在接口（interface）的后面，让它们只通过接口相互交流。比如说，如果用OOD的方法来设计一个服务器-客户端（client-server）应
用，那么服务器和客户端之间不应该有直接的依赖，而是应该让服务器的接口和客户端的接口相互依赖。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp; 这种依赖关系的转换使得系统的各部分具有了可复用性。还是拿上面那个例子来说，客户端就不必依赖于特定的服务器，所以就可以复用到其他的环境下。如果要复用某一个程序块，只要实现必须的接口就行了。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;OOD是一种解决软件问题的设计范式（paradigm），一种抽象的范式。使用OOD这种设计范式，我们可以用对象（object）来表现问题领域
（problem
domain）的实体，每个对象都有相应的状态和行为。我们刚才说到：OOD是一种抽象的范式。抽象可以分成很多层次，从非常概括的到非常特殊的都有，而
对象可能处于任何一个抽象层次上。另外，彼此不同但又互有关联的对象可以共同构成抽象：只要这些对象之间有相似性，就可以把它们当成同一类的对象来处理。<br>
<br>
一、OOD背景知识<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;计算机硬件技术却在飞速发展。从几十年前神秘的庞然大物，到现在随身携带的移动芯片；从每秒数千次运算到每秒上百亿次运算。当软件开发者们还在寻找能让软件开发生产力提高一个数量级的&#8220;银弹&#8221;[Brooks, 95]时，硬件开发的生产力早已提升了百倍千倍。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;硬件工程师们能够如此高效，是因为他们都很懒惰。他们永远恪守&#8220;不要去重新发明轮子&#8221;的古训。Grady Booch把这些黑箱称为类属（class category），现在我们则通常把它们称为&#8220;组件（component）&#8221;。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;类属是由被称为类（class）的实体组成的，类与类之间通过关联（relationship）结合在一起。一个类可以把大量的细节隐藏起来，只露出一
个简单的接口，这正好符合人们喜欢抽象的心理。所以，这是一个非常伟大的概念，因为它给我们提供了封装和复用的基础，让我们可以从问题的角度来看问题，而
不是从机器的角度来看问题。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;软件的复用最初是从函数库和类库开始的，这两种复用形式实际上都是白箱复用。到90年代，开始有人开发并出售真正的黑箱软件模块：框架
（framework）和控件（control）。框架和控件往往还受平台和语言的限制，现在软件技术的新潮流是用SOAP作为传输介质的Web
Service，它可以使软件模块脱离平台和语言的束缚，实现更高程度的复用。但是想一想，其实Web
Service也是面向对象，只不过是把类与类之间的关联用XML来描述而已[Li, 02]。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;在过去的十多年里，面向对象技术对软件行业起到了极大的推动作用。在可以预测的将来，它仍将是软件设计的主要技术——至少我看不到有什么技术可以取代它的。<br>
<br>
<br>
二、OOD到底从哪儿来？<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;有很多人都认为：OOD是对结构化设计（Structured
Design，SD）的扩展，其实这是不对的。OOD的软件设计观念和SD完全不同。SD注重的是数据结构和处理数据结构的过程。而在OOD中，过程和数
据结构都被对象隐藏起来，两者几乎是互不相关的。不过，追根溯源，OOD和SD有着非常深的渊源。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;1967年前后，OOD和SD
的概念几乎同时诞生，它们分别以不同的方式来表现数据结构和算法。当时，围绕着这两个概念，很多科学家写了大量的论文。其中，由Dijkstra和
Hoare两人所写的一些论文讲到了&#8220;恰当的程序控制结构&#8221;这个话题，声称goto语句是有害的，应该用顺序、循环、分支这三种控制结构来构成整个程序流
程。这些概念发展构成了结构化程序设计方法；而由Ole-Johan
Dahl所写的另一些论文则主要讨论编程语言中的单位划分，其中的一种程序单位就是类，它已经拥有了面向对象程序设计的主要特征。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;这两种概念立刻就分道扬镳了。在结构化这边的历史大家都很熟悉：NATO会议采纳了Dijkstra的思想，整个软件产业都同意goto语句的确是有害
的，结构化方法、瀑布模型从70年代开始大行其道。同时，无数的科学家和软件工程师也帮助结构化方法不断发展完善，其中有很多今天足以使我们振聋发聩的名
字，例如Constantine、Yourdon、DeMarco和Dijkstra。有很长一段时间，整个世界都相信：结构化方法就是拯救软件工业的
&#8220;银弹&#8221;。当然，时间最后证明了一切。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;而此时，面向对象则在研究和教育领域缓慢发展。结构化程序设计几乎可以应用于任何编程语言之上，而面向对象程序设计则需要语言的支持[1]，这也妨碍了
面向对象技术的发展。实际上，在60年代后期，支持面向对象特性的语言只有Simula-67这一种。到70年代，施乐帕洛阿尔托研究中心（PARC）的
Alan
Key等人又发明了另一种基于面向对象方法的语言，那就是大名鼎鼎的Smalltalk。但是，直到80年代中期，Smalltalk和另外几种面向对象
语言仍然只停留在实验室里。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;到90年代，OOD突然就风靡了整个软件行业，这绝对是软件开发史上的一次革命。不过，登高才能望远，新事物总是站在旧事物的基础之上的。70年代和80年代的设计方法揭示出许多有价值的概念，谁都不能也不敢忽视它们，OOD也一样。<br>
<br>
三、OOD和传统方法有什么区别？<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;还记得结构化设计方法吗？程序被划分成许多个模块，这些模块被组织成一个树型结构。这棵树的根就是主模块，叶子就是工具模块和最低级的功能模块。同时，这棵树也表示调用结构：每个模块都调用自己的直接下级模块，并被自己的直接上级模块调用。<br>
<br>
&nbsp;
&nbsp;&nbsp;&nbsp;那么，哪个模块负责收集应用程序最重要的那些策略？当然是最顶端的那些。在底下的那些模块只管实现最小的细节，最顶端的模块关心规模最大的问题。所
以，在这个体系结构中越靠上，概念的抽象层次就越高，也越接近问题领域；体系结构中位置越低，概念就越接近细节，与问题领域的关系就越少，而与解决方案领
域的关系就越多。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;但是，由于上方的模块需要调用下方的模块，所以这些上方的模块就依赖于下方的细节。换句话说，与问题领域相关的抽象要依赖于与问题领域无关的细节！这也
就是说，当实现细节发生变化时，抽象也会受到影响。而且，如果我们想复用某一个抽象的话，就必须把它依赖的细节都一起拖过去。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;而在OOD中，我们希望倒转这种依赖关系：我们创建的抽象不依赖于任何细节，而细节则高度依赖于上面的抽象。这种依赖关系的倒转正是OOD和传统技术之间根本的差异，也正是OOD思想的精华所在。<br>
<br>
四、OOD步骤<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;细化重组类<br>
&nbsp; &nbsp;&nbsp; &nbsp;细化和实现类间关系,明确其可见性<br>
&nbsp; &nbsp;&nbsp; &nbsp;增加属性,指定属性的类型与可见性<br>
&nbsp; &nbsp;&nbsp; &nbsp;分配职责,定义执行每个职责的方法<br>
&nbsp; &nbsp;&nbsp; &nbsp;对消息驱动的系统,明确消息传递方式<br>
&nbsp; &nbsp;&nbsp; &nbsp;利用设计模式进行局部设计<br>
&nbsp; &nbsp;&nbsp; &nbsp;画出详细的类图与时序图<br>
<br>
五、OOD设计过程中要展开的主要几项工作<br>
<br>
（一）对象定义规格的求精过程<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;对于OOA所抽象出来的对象-＆-类以及汇集的分析文档，OOD需要有一个根据设计要求整理和求精的过程，使之更能符合OOP的需要。这个整理和求精过程主要有两个方面：一是要根据面向对象的概念<br>
<br>
模型整理分析所确定的对象结构、属性、方法等内容，改正错误的内容，删去不必要和重复的内容等。二是进行分类整理，以便于下一步数据库设计和程序处理模块设计的需要。整理的方法主要是进行归<br>
<br>
类，对类一＆一对象、属性、方法和结构、主题进行归类。<br>
<br>
（二）数据模型和数据库设计<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp; 数据模型的设计需要确定类-＆-对象属性的内容、消息连接的方式、系统访问、数据模型的方法等。最后每个对象实例的数据都必须落实到面向对象的库结构模型中。<br>
<br>
（三）优化<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;OOD的优化设计过程是从另一个角度对分析结果和处理业务过程的整理归纳，优化包括对象和结构的优化、抽象、集成。<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;对象和结构的模块化表示OOD提供了一种范式，这种范式支持对类和结构的模块化。这种模块符合一般模块化所要求的所有特点，如信息隐蔽性好，内部聚合度强和模块之间耦合度弱等。<br>
集成化使得单个构件有机地结合在一起，相互支持。<br>
<br>
六、OO方法的特点和面临的问题<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;OO方法以对象为基础，利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。这是OO方法最主要的特点和成就。OO方法的应用解决了传统结构化开发方法中客观世界描述工具与软<br>
<br>
件结构的不一致性问题，缩短了开发周期，解决了从分析和设计到软件模块结构之间多次转换映射的繁杂过程，是一种很有发展前途的系统开发方法。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;但是同原型方法一样,OO方法需要一定的软件基础支持才可以应用，另外在大型的MIS开发中如果不经自顶向下的整体划分，而是一开始就自底向上的采用
OO
方法开发系统，同样也会造成系统结构不合理、各部分关系失调等问题。所以OO方法和结构化方法目前仍是两种在系统开发领域相互依存的、不可替代的方法。<br>
<br>
七、OOD能给我带来什么？<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;问这个问题的人，脑子里通常是在想&#8220;OOD能解决所有的设计问题吗？&#8221;没有银弹。OOD也不是解决一切设计问题、避免软件危机、捍卫世界和平&#8230;&#8230;的银
弹。OOD只是一种技术。但是，它是一种优秀的技术，它可以很好地解决目前的大多数软件设计问题——当然，这要求设计者有足够的能力。<br>
<br>
&nbsp; &nbsp;&nbsp;
&nbsp;OOD可能会让你头疼，因为要学会它、掌握它是很困难的；OOD甚至会让你失望，因为它也并不成熟、并不完美。OOD也会给你带来欣喜，它让你可以专注
于设计，而不必操心那些细枝末节；OOD也会使你成为一个更好的设计师，它能提供给你很好的工具，让你能开发出更坚固、更可维护、更可复用的软件。 <img src ="http://www.phpweblog.net/young40/aggbug/2400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-27 09:31 <a href="http://www.phpweblog.net/young40/archive/2007/11/27/2400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu[004]英文环境下的中文输入法SCIM配置</title><link>http://www.phpweblog.net/young40/archive/2007/11/26/2394.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Mon, 26 Nov 2007 15:31:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/26/2394.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2394.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/26/2394.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2394.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2394.html</trackback:ping><description><![CDATA[1、先安装中文支持，然后再配置SCIM输入法。
<div>&nbsp;&nbsp;&nbsp;2、重新登陆Linux系统，可以发现输入法的工具条没有正常出现。</div>
<div>&nbsp;&nbsp; 3、修改/etc/environment： sudo gedit /etc/environment<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把LANG=en_US改为LANG＝en_US.UTF-8或者LANG＝zh_CN.UTF-8</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 再加入：<font color="#000000" size="2">LC_CTYPE=zh_CN.UTF-8</font></div>
<div><font size="2">&nbsp;&nbsp; 4、编辑 /etc/gtk-2.0/gtk.immodules 文件：</font></div>
<div><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sudo gedit /etc/gtk-2.0/gtk.immodules</font></div>
<div><font size="2">&nbsp;&nbsp;&nbsp;&nbsp; 把 </font></div>
<div><font size="2">"/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so""xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh" </font></div>
<div><font size="2">&nbsp;&nbsp;&nbsp;&nbsp; 修改为： </font></div>
<div><font size="2">"/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so""xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh" </font></div>
<font size="2">&nbsp;&nbsp;&nbsp;5、重新登陆linux，就ok了！<br><br><br>Ubuntu进展<br>32位系统只识别出来3。2G内存，整整少了800M<br>分辨率为1400＊900了<br>apt－get确实很好用。<br>据说Ubunt7。10不支持ATI1600pro，确实把我弄疼了<br><br>因为ubuntu对 电源管理支持不好，弄得我 光安装都刻了好几张盘 。<br>把电源管理里面的 </font><span class="postbody">BIOS中 Power Managment 选项中的 HPET 关掉也就是Disbled 就行了<br>因为这个也花费了很长时间<br></span><font size="2"><br>现在浏览网页一卡 一卡的 。<br></font>  <img src ="http://www.phpweblog.net/young40/aggbug/2394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-26 23:31 <a href="http://www.phpweblog.net/young40/archive/2007/11/26/2394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu[003]UNIX系统操作命令大全</title><link>http://www.phpweblog.net/young40/archive/2007/11/24/2384.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 24 Nov 2007 07:19:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/24/2384.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2384.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/24/2384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2384.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2384.html</trackback:ping><description><![CDATA[<div>
<div>
<h3 style="margin: auto 0cm;" align="justify"><font size="1"><strong><span style="color: black; font-family: 宋体;">一、</span></strong><strong><span style="color: black; font-family: ˎ̥;"><font face="宋体, MS Song"> </font></span></strong><strong><span style="color: black; font-family: 宋体;">登录和退出</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></font></h3>
<p class="main" style="margin: auto 0cm;"><span style="color: black; font-family: 宋体;">　　用户在登录前，首先要向系统管理员申请一个用户注册名，不论用户从哪台计</span><span style="color: black; font-family: 宋体;">算机登录到</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ITPNET</font></span><span style="color: black; font-family: 宋体;">上都将访问相同的文件系统。</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">1.1 </font></span></strong><strong><span style="color: black; font-family: 宋体;">登录</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">当屏幕上出现</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Login</font></span><span style="color: black; font-family: 宋体;">提示符时，用户可以输入自己的用户注册名，并按回车键。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">若有口令，系统将提示用户输入密码，并按回车键，口令输入正确后，用户登录成</span><span style="color: black; font-family: 宋体;">功。这时，屏幕上会显示出一些信息和命令提示符。如：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">Login: guest [Enter]<br>passwd: ****** [Enter]<br>sun%<br></font></span><span style="color: black; font-family: 宋体;">注</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">: </font></span><span style="color: black; font-family: 宋体;">用户名要用小写字母输入，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">UNIX</font></span><span style="color: black; font-family: 宋体;">系统区分大小写字母。</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">1.2 </font></span></strong><strong><span style="color: black; font-family: 宋体;">退出</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">当用户准备退出自己的计算机帐号时，可在系统示符下输入</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">logout</font></span><span style="color: black; font-family: 宋体;">或</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">exit</font></span><span style="color: black; font-family: 宋体;">或按</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">[Ctrl-D]</font></span><span style="color: black; font-family: 宋体;">。当屏幕出现</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Login</font></span><span style="color: black; font-family: 宋体;">时，用户可以安全地离开计算机了。如：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">sun% logout [Enter]<br>Login</font></span><span style="color: black; font-family: 宋体;">：</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">1.3 </font></span></strong><strong><span style="color: black; font-family: 宋体;">修改口令</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">为了防止他人使用自己的帐号，在你首次登录后，请用</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">passwd</font></span><span style="color: black; font-family: 宋体;">命令修改只有本</span><span style="color: black; font-family: 宋体;">人知道的保密口令，口令通常由此可</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">6</font></span><span style="color: black; font-family: 宋体;">到</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">8</font></span><span style="color: black; font-family: 宋体;">个字母数字组成。如：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">sun% passwd [Enter]<br>Old Passwd: ******<br>New Passwd: ******<br>Retype New Passwd: ******<br></font></span><span style="color: black; font-family: 宋体;">注：当你退出系统再次登录时，就要使用新的口令。</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br></span><strong><span style="color: black; font-family: ˎ̥;"><font face="宋体, MS Song">二、&nbsp;</font></span></strong><strong><span style="color: black; font-family: 宋体;">目录操作命令</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">2.1 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示目录</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pwd</font></span><span style="color: black; font-family: 宋体;">（</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">print working directory</font></span><span style="color: black; font-family: 宋体;">）</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pwd<br></font></span><span style="color: black; font-family: 宋体;">功能：显示出用户当前工作目录的全路径名。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% pwd<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">2.2 </font></span></strong><strong><span style="color: black; font-family: 宋体;">建立目录</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mkdir</font></span><span style="color: black; font-family: 宋体;">（</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">make directory</font></span><span style="color: black; font-family: 宋体;">）</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mkdir directory_name<br></font></span><span style="color: black; font-family: 宋体;">功能：建立新目录</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% mkdir directory<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">2.3 </font></span></strong><strong><span style="color: black; font-family: 宋体;">改变目录</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cd</font></span><span style="color: black; font-family: 宋体;">（</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">change directory</font></span><span style="color: black; font-family: 宋体;">）</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cd directory_name<br></font></span><span style="color: black; font-family: 宋体;">功能：改变当前工作目录</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：目录名选项有</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">:<br>(1) </font></span><span style="color: black; font-family: 宋体;">目录名，转到当前目录下的子目录。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">(2) .. </font></span><span style="color: black; font-family: 宋体;">表示转到当前目录的父目录。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">(3) / </font></span><span style="color: black; font-family: 宋体;">表示转到根目录。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">(4) </font></span><span style="color: black; font-family: 宋体;">没有选项时，转到用户的主目录。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% cd directory<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">2.4 </font></span></strong><strong><span style="color: black; font-family: 宋体;">删除目录</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rmdir (remove directory)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rmdir directory_name<br></font></span><span style="color: black; font-family: 宋体;">功能：删除不存在文件的子目录名。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">(1) </font></span><span style="color: black; font-family: 宋体;">删除子目录时，要求被删除的目录中不存在文件或子目录，否则无法删除。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">(2) </font></span><span style="color: black; font-family: 宋体;">若被删除的目录中有文件或子目录，请参考命令</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rm -r directory_name</font></span><span style="color: black; font-family: 宋体;">。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% rmdir directory<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br></span><strong><span style="color: black; font-family: 宋体;">三、</span></strong><strong><span style="color: black; font-family: ˎ̥;"><font face="宋体, MS Song"> </font></span></strong><strong><span style="color: black; font-family: 宋体;">文件操作命令</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.1 </font></span></strong><strong><span style="color: black; font-family: 宋体;">列出文件目录</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ls (list)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ls [option] directory_name<br></font></span><span style="color: black; font-family: 宋体;">功能：列出指定目录中的文件名和子目录名。当无子目录名时，列出当前目录</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">中的文件名和子目录名。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-a</font></span><span style="color: black; font-family: 宋体;">列出所有文件，包括以点开头的隐含文件。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-l</font></span><span style="color: black; font-family: 宋体;">按长格式列出文件名，包括文件类型标识，权限，链接数，文件主名，</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">文件组名，字节数，日期。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-r</font></span><span style="color: black; font-family: 宋体;">列出包括子目录下所有文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-g</font></span><span style="color: black; font-family: 宋体;">在长格式中给出用户组的标识。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-t</font></span><span style="color: black; font-family: 宋体;">安文件生成日期排序。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% ls -la<br><br><strong><span style="font-family: ˎ̥;">3.2 </span></strong></font></span><strong><span style="color: black; font-family: 宋体;">显示文件内容</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cat (catenae)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cat filename<br></font></span><span style="color: black; font-family: 宋体;">功能：显示出文件的内容。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：当文件内容在屏幕上滚动显示时，可按</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Ctrl+S</font></span><span style="color: black; font-family: 宋体;">键屏幕滚暂停，按</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Ctrl+Q<br></font></span><span style="color: black; font-family: 宋体;">键继续显示。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% cat filename<br><br><strong><span style="font-family: ˎ̥;">3.3 </span></strong></font></span><strong><span style="color: black; font-family: 宋体;">按屏幕显示文件内容</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">more<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">more filename<br></font></span><span style="color: black; font-family: 宋体;">功能：按屏幕一屏一屏显示出文件内容</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：在屏幕显示过程中有功能键。空格键</span><span style="color: black;"><font face="宋体, MS Song"> </font></span><span style="color: black; font-family: 宋体;">继续下一屏的输出；回车键</span><span style="color: black;"><font face="宋体, MS Song"> </font></span><span style="color: black; font-family: 宋体;">看下</span><span style="color: black; font-family: 宋体;">一行的输出；</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">q</font></span><span style="color: black; font-family: 宋体;">键</span><span style="color: black;"><font face="宋体, MS Song"> </font></span><span style="color: black; font-family: 宋体;">跳出</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">more</font></span><span style="color: black; font-family: 宋体;">状态；</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">/</font></span><span style="color: black; font-family: 宋体;">字符串</span><span style="color: black;"><font face="宋体, MS Song"> </font></span><span style="color: black; font-family: 宋体;">查旬字符串所在处；</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">a</font></span><span style="color: black; font-family: 宋体;">键</span><span style="color: black;"><font face="宋体, MS Song"> </font></span><span style="color: black; font-family: 宋体;">返</span><span style="color: black; font-family: 宋体;">回到上一屏。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% more filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.4 </font></span></strong><strong><span style="color: black; font-family: 宋体;">分页显示文件内容</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pg (page)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pg [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：分页显示指定文件的内容。在显示一页文件时，最后一行将显示等待用</span><span style="color: black; font-family: 宋体;">户输入指令。可输入的指令有如下选项。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">h </font></span><span style="color: black; font-family: 宋体;">显示</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pg</font></span><span style="color: black; font-family: 宋体;">命令中可使用的帮助</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">(help)</font></span><span style="color: black; font-family: 宋体;">命令。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">q </font></span><span style="color: black; font-family: 宋体;">退出</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pg</font></span><span style="color: black; font-family: 宋体;">命令。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">[return] </font></span><span style="color: black; font-family: 宋体;">显示下一页正文。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">1 </font></span><span style="color: black; font-family: 宋体;">显示正文的下一行</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">[Space] </font></span><span style="color: black; font-family: 宋体;">显示下一页</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">d/[Ctrl-D] </font></span><span style="color: black; font-family: 宋体;">将屏幕滚动半屏。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">n </font></span><span style="color: black; font-family: 宋体;">显示</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pg</font></span><span style="color: black; font-family: 宋体;">命令行中说明的下一个文件。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">p </font></span><span style="color: black; font-family: 宋体;">显示</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pg</font></span><span style="color: black; font-family: 宋体;">命令行中说明的前一个文件。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">% </font></span><span style="color: black; font-family: 宋体;">显示正文当前页的前面一页。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">/pattern </font></span><span style="color: black; font-family: 宋体;">在文件中向前搜索指定的字符模式。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">?pattern </font></span><span style="color: black; font-family: 宋体;">在文件中向后搜索指定的字符模式。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：当</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pg</font></span><span style="color: black; font-family: 宋体;">命令显示到文件的末尾时，显示一个文件结束信息</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">EOF(end of file)</font></span><span style="color: black; font-family: 宋体;">。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% pg filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.5 </font></span></strong><strong><span style="color: black; font-family: 宋体;">读文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">view<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">view filename<br></font></span><span style="color: black; font-family: 宋体;">功能：只能读出文件内容。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：此命令不能对读出的原文件进行写操作。若对原文件进行了修改，可利</span><span style="color: black; font-family: 宋体;">用命令</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">&#8220;</font></span><span style="color: black; font-family: 宋体;">：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">w newfilename&#8221;</font></span><span style="color: black; font-family: 宋体;">将修改后的文件写到新文件中。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% view filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.6 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示文件头部</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">head<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">head [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：显示文件的头部</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：缺省</span><span style="color: black;"><font face="宋体, MS Song"> </font></span><span style="color: black; font-family: 宋体;">显示文件的头</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">10</font></span><span style="color: black; font-family: 宋体;">行。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-i </font></span><span style="color: black; font-family: 宋体;">显示文件的开始</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> i</font></span><span style="color: black; font-family: 宋体;">行。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% head filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.7 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示文件尾部</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tail<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tail [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：显示文件的尾部</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：缺省</span><span style="color: black;"><font face="宋体, MS Song"> </font></span><span style="color: black; font-family: 宋体;">显示文件的末</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">10</font></span><span style="color: black; font-family: 宋体;">行。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-i </font></span><span style="color: black; font-family: 宋体;">显示文件最后</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> i</font></span><span style="color: black; font-family: 宋体;">行。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">+i </font></span><span style="color: black; font-family: 宋体;">从文件的第</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">i</font></span><span style="color: black; font-family: 宋体;">行开始显示。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% tail filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.8 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示格式化的文件内容</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pr (print)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pr filename<br></font></span><span style="color: black; font-family: 宋体;">功能：在屏幕上显示格式化的文件内容，即印出每页</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">66</font></span><span style="color: black; font-family: 宋体;">行的文本文件，包括５</span><span style="color: black; font-family: 宋体;">行页头和５行页尾。页头包括两行空行，一行含有文件的时间、文件名</span><span style="color: black; font-family: 宋体;">和页号，另外两行为空行。页尾为５行空行。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% pr filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.9 </font></span></strong><strong><span style="color: black; font-family: 宋体;">拷贝文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cp (copy)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cp [option] filename1 filename2<br>cp [option] filename... directory<br>cp -r directory1 directon2<br></font></span><span style="color: black; font-family: 宋体;">功能：把一个文件的全部内容拷贝到另一个文件，也可将一个或多个文件拷贝</span><span style="color: black; font-family: 宋体;">到另一个目录中。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-i </font></span><span style="color: black; font-family: 宋体;">按提示进行拷贝文件。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-p </font></span><span style="color: black; font-family: 宋体;">按原文件日期进行拷贝。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-r </font></span><span style="color: black; font-family: 宋体;">对子目录下所有文件进行拷贝。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：当</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename1</font></span><span style="color: black; font-family: 宋体;">拷贝到</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename2</font></span><span style="color: black; font-family: 宋体;">时，若</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename2</font></span><span style="color: black; font-family: 宋体;">已经存在，则</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename2</font></span><span style="color: black; font-family: 宋体;">的内容将被</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename1</font></span><span style="color: black; font-family: 宋体;">覆盖。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% cp filename1 filename2<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.10</font></span></strong><strong><span style="color: black; font-family: 宋体;">移动文件或文件改名</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mv (move)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mv filename1 filename2<br>mv filename... direction<br>mv direction1 direction2<br></font></span><span style="color: black; font-family: 宋体;">功能：改变文件或目录的名子，或把一些文件移到另一目录下。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：当</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename1</font></span><span style="color: black; font-family: 宋体;">更名为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename2</font></span><span style="color: black; font-family: 宋体;">时，若</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename2</font></span><span style="color: black; font-family: 宋体;">已经存在，则</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename2</font></span><span style="color: black; font-family: 宋体;">的内容将被</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename1</font></span><span style="color: black; font-family: 宋体;">覆盖</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% mv filename1 filename2<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.11</font></span></strong><strong><span style="color: black; font-family: 宋体;">删除文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rm (remove)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rm filename<br>rm -r direction<br></font></span><span style="color: black; font-family: 宋体;">功能：删除指定的文件或一个目录中的文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：用</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-r</font></span><span style="color: black; font-family: 宋体;">选项时，将删除指定目录的所用文件，包括目录名。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% rm filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.12</font></span></strong><strong><span style="color: black; font-family: 宋体;">链接文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ln (link)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ln [option] filename linkname<br>ln [option] directory pathname<br></font></span><span style="color: black; font-family: 宋体;">功能：为文件或目录建立一个链。其中，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename</font></span><span style="color: black; font-family: 宋体;">和</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">directory</font></span><span style="color: black; font-family: 宋体;">是源文件名和</span><span style="color: black; font-family: 宋体;">源目录名；</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">linkname</font></span><span style="color: black; font-family: 宋体;">和</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pathname</font></span><span style="color: black; font-family: 宋体;">分别表示与源文件或源目录名相链接的</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">文件或目录。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-s </font></span><span style="color: black; font-family: 宋体;">为文件或目录建立符号链接。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：链接的目地在于，对一个文件或目录赋予两个以上的名字，使其可以出</span><span style="color: black; font-family: 宋体;">现在不同的目录中，既可以使文件或目录共享，又可以节省磁盘空间。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% ln -s filename linkname<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.13</font></span></strong><strong><span style="color: black; font-family: 宋体;">改变文件读取权限</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">chmod (change mode)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">chmod {u|g|o|a}{+|-|=}{r|w|x} filename<br>chmod [who][op][mode] directory<br></font></span><span style="color: black; font-family: 宋体;">功能：改变文件的读写和执行权限。有符号法和八进制数字法。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">(1)</font></span><span style="color: black; font-family: 宋体;">符号法：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">u (user) </font></span><span style="color: black; font-family: 宋体;">表示用户本人。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">g (group) </font></span><span style="color: black; font-family: 宋体;">表示同组用户。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">o (oher) </font></span><span style="color: black; font-family: 宋体;">表示其他用户。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">a (all) </font></span><span style="color: black; font-family: 宋体;">表示所有用户。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">+ </font></span><span style="color: black; font-family: 宋体;">用于给予指定用户的许可权限。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">- </font></span><span style="color: black; font-family: 宋体;">用于取消指定用户的许可权限。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">= </font></span><span style="color: black; font-family: 宋体;">将所许可的权限赋给文件。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">r (read) </font></span><span style="color: black; font-family: 宋体;">读许可，表示可以拷贝该文件或目录的内容。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">w (write) </font></span><span style="color: black; font-family: 宋体;">写许可，表示可以修改该文件或目录的内容。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">x (execute)</font></span><span style="color: black; font-family: 宋体;">执行许可，表示可以执行该文件或进入目录。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">(2)</font></span><span style="color: black; font-family: 宋体;">八进制数字法：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">此方法用三位八进制数作任选项，每位数字分别表示用户本人、同组用</span><span style="color: black; font-family: 宋体;">户、其他用户的权限，其中：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">4 (100) </font></span><span style="color: black; font-family: 宋体;">表示可读。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">2 (010) </font></span><span style="color: black; font-family: 宋体;">表示可写。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">1 (001) </font></span><span style="color: black; font-family: 宋体;">表示可执行。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% chmod a+rx filename<br></font></span><span style="color: black; font-family: 宋体;">让所有用户可以读和执行文件</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename</font></span><span style="color: black; font-family: 宋体;">。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">% chmod go-rx filename<br></font></span><span style="color: black; font-family: 宋体;">取消同组和其他用户的读和执行文件</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename</font></span><span style="color: black; font-family: 宋体;">的权限。</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">% chmod 741 filename<br></font></span><span style="color: black; font-family: 宋体;">让本人可读写执行、同组用户可读、其他用户可执行文件</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">filename</font></span><span style="color: black; font-family: 宋体;">。</span><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.14</font></span></strong><strong><span style="color: black; font-family: 宋体;">改变文件所有权</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">chown (change owner)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">chown username filename<br>chown -R username directory<br></font></span><span style="color: black; font-family: 宋体;">功能：改变文件或目录的所有权。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-R </font></span><span style="color: black; font-family: 宋体;">将改变目录中所有文件及目录的拥有者。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：只有文件的主人和超级用户才能改变文件的所有权。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% chown username filename<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.15</font></span></strong><strong><span style="color: black; font-family: 宋体;">寻找文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">find<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">find pathname [option] expression<br></font></span><span style="color: black; font-family: 宋体;">功能：在所给的路经名下寻找符合表达式相匹配的文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-name </font></span><span style="color: black; font-family: 宋体;">表示文件名</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-user </font></span><span style="color: black; font-family: 宋体;">用户名，选取该用户所属的文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-group </font></span><span style="color: black; font-family: 宋体;">组名，选取该用户组属的文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-mtime n </font></span><span style="color: black; font-family: 宋体;">选取</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">n</font></span><span style="color: black; font-family: 宋体;">天内被修改的文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-newer fn </font></span><span style="color: black; font-family: 宋体;">选取比文件名为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">fn</font></span><span style="color: black; font-family: 宋体;">更晚修改的文件</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% find . -name '*abc*' -print<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.16</font></span></strong><strong><span style="color: black; font-family: 宋体;">搜索文件中匹配符</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">grep<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">grep [option] pattern filenames<br></font></span><span style="color: black; font-family: 宋体;">功能：逐行搜索所指定的文件或标准输入，并显示匹配模式的每一行。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-v </font></span><span style="color: black; font-family: 宋体;">找出模式失配的行</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-c </font></span><span style="color: black; font-family: 宋体;">统计匹配行的数量</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-n </font></span><span style="color: black; font-family: 宋体;">显示匹配模式的每一行</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% ps -aux | grep R<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.17</font></span></strong><strong><span style="color: black; font-family: 宋体;">比较文件不同</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">diff (difference)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">diff filename1 filename2<br></font></span><span style="color: black; font-family: 宋体;">功能：显示两文件的不同之处。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% diff file1 file2<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.18</font></span></strong><strong><span style="color: black; font-family: 宋体;">比较文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cmp (compare)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cmp [-l] [-s] filename1 filename2<br></font></span><span style="color: black; font-family: 宋体;">功能：显示比较两文件不同处的信息</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-l </font></span><span style="color: black; font-family: 宋体;">给出两文件不同的字节数</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-s </font></span><span style="color: black; font-family: 宋体;">不显示两文件的不同处，给出比较结果</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% cmp file1 file2<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.19</font></span></strong><strong><span style="color: black; font-family: 宋体;">比较文件共同处</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">comm (common)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">comm [-123] filename1 filename2<br></font></span><span style="color: black; font-family: 宋体;">功能：选择或拒绝比较两文件出现的共同行</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-1 </font></span><span style="color: black; font-family: 宋体;">不显示第</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">1</font></span><span style="color: black; font-family: 宋体;">列</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-2 </font></span><span style="color: black; font-family: 宋体;">不显示第</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">2</font></span><span style="color: black; font-family: 宋体;">列</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-3 </font></span><span style="color: black; font-family: 宋体;">不显示第</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">3</font></span><span style="color: black; font-family: 宋体;">列</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：输出三列，第一列表示在</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">file1</font></span><span style="color: black; font-family: 宋体;">中出现的行，第二列表示在</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">file2</font></span><span style="color: black; font-family: 宋体;">中出现</span><span style="color: black; font-family: 宋体;">的行，第三列表示在</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">file1</font></span><span style="color: black; font-family: 宋体;">和</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">file2</font></span><span style="color: black; font-family: 宋体;">中共同出现的行。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% comm file1 file2<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.20</font></span></strong><strong><span style="color: black; font-family: 宋体;">排序文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">sort<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">sort [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：将制定的文件按要求排序</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-r </font></span><span style="color: black; font-family: 宋体;">按字母倒排序</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-n </font></span><span style="color: black; font-family: 宋体;">按数字的值从笑到大排序</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-r </font></span><span style="color: black; font-family: 宋体;">按当前排序规则逆序排序</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> <br>-f </font></span><span style="color: black; font-family: 宋体;">不区分大小写排序</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-d </font></span><span style="color: black; font-family: 宋体;">按典型顺序排序</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：选项缺省时按</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ascii</font></span><span style="color: black; font-family: 宋体;">码顺序排序</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% sort -nr file<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.21</font></span></strong><strong><span style="color: black; font-family: 宋体;">压缩文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">compress<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">compress [option] filename <br></font></span><span style="color: black; font-family: 宋体;">功能：压缩文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-f </font></span><span style="color: black; font-family: 宋体;">强制压缩</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> <br>-v </font></span><span style="color: black; font-family: 宋体;">压缩时显示压缩百分比</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% comproess files<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.22</font></span></strong><strong><span style="color: black; font-family: 宋体;">解缩文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">uncompress<br>zcat<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">compress [option] filename <br>zcat filename<br></font></span><span style="color: black; font-family: 宋体;">功能：展开或显示压缩文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-c </font></span><span style="color: black; font-family: 宋体;">不改变文件写到标准输出</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">zcat</font></span><span style="color: black; font-family: 宋体;">命令相当于</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">uncompress -c<br></font></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% uncomproess files.Z<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br><strong><span style="font-family: ˎ̥;"><font face="宋体, MS Song">3.23</font></span></strong></span><strong><span style="color: black; font-family: 宋体;">显示文件类型</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">file<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">file filename ...<br></font></span><span style="color: black; font-family: 宋体;">功能：按文件内容来推测文件类型，如</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">text</font></span><span style="color: black; font-family: 宋体;">，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ascii</font></span><span style="color: black; font-family: 宋体;">，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">C</font></span><span style="color: black; font-family: 宋体;">，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">executable</font></span><span style="color: black; font-family: 宋体;">，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">core</font></span><span style="color: black; font-family: 宋体;">。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% file *<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.24</font></span></strong><strong><span style="color: black; font-family: 宋体;">建立档案文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tar (tape archive)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tar [option] tarfile filename<br></font></span><span style="color: black; font-family: 宋体;">功能：建立文件的存档或读存档文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-c </font></span><span style="color: black; font-family: 宋体;">建立一个新的档案文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-x </font></span><span style="color: black; font-family: 宋体;">从档案文件中读取文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-v </font></span><span style="color: black; font-family: 宋体;">显示处理文件的信息</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-f </font></span><span style="color: black; font-family: 宋体;">指定档案文件名，缺省时为磁带机即</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">/dev/rmt/0<br>-t </font></span><span style="color: black; font-family: 宋体;">列出存档文件的信息</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% tar cvf tarfile .<br>% tar xvf tarfile<br>% tar tvf tarfile<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.25</font></span></strong><strong><span style="color: black; font-family: 宋体;">磁带拷贝文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">dd<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">dd [option=value] <br></font></span><span style="color: black; font-family: 宋体;">功能：用磁带机转换或拷贝文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">if=name </font></span><span style="color: black; font-family: 宋体;">指定输入文件名</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">of=name </font></span><span style="color: black; font-family: 宋体;">指定输出文件名</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">ibs=n </font></span><span style="color: black; font-family: 宋体;">指定输入文件块大小为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">n</font></span><span style="color: black; font-family: 宋体;">字节（缺省为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">512</font></span><span style="color: black; font-family: 宋体;">字节）</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">obs=n </font></span><span style="color: black; font-family: 宋体;">指定输出文件块大小为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">n</font></span><span style="color: black; font-family: 宋体;">字节（缺省为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">512</font></span><span style="color: black; font-family: 宋体;">字节）</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% dd if=filename of=/dev/rmt/0<br>% dd if=/dev/rmt/0 of=filename ibs=1024<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.26</font></span></strong><strong><span style="color: black; font-family: 宋体;">修改文件日期</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">touch<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">touch filenae<br></font></span><span style="color: black; font-family: 宋体;">功能：改变文件的日期，不对文件的内容做改动，若文件不存在则建立新文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% touch file<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.27</font></span></strong><strong><span style="color: black; font-family: 宋体;">统计文件字数</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">wc (word characters)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">wc [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：统计文件中的文件行数、字数和字符数。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-l </font></span><span style="color: black; font-family: 宋体;">统计文件的行数</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-w </font></span><span style="color: black; font-family: 宋体;">统计文件的字数</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-c </font></span><span style="color: black; font-family: 宋体;">统计文件的字符数</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：若缺省文件名则指标准输入</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% wc file<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">3.28</font></span></strong><strong><span style="color: black; font-family: 宋体;">检查拼写</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">spell (spelling)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">spell [option] filename ...<br></font></span><span style="color: black; font-family: 宋体;">功能：检查文件中的拼写错误</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-b </font></span><span style="color: black; font-family: 宋体;">按英国拼法检查</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-v </font></span><span style="color: black; font-family: 宋体;">显示字面上不在拼法字典上的词</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-x </font></span><span style="color: black; font-family: 宋体;">显示每一个可能合理的词根</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% spell file<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br></span><strong><span style="color: black; font-family: 宋体;">四、</span></strong><strong><span style="color: black; font-family: 宋体;">有关状态信息命令</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.1</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示当前注册的用户</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">w<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">w [option] [username]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示当前正在使用系统的用户名、注册时间和当前执行的命令。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-h </font></span><span style="color: black; font-family: 宋体;">不显示起始行</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-s </font></span><span style="color: black; font-family: 宋体;">按短格式显示</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-l </font></span><span style="color: black; font-family: 宋体;">按长格式显示（缺省设置）</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% w<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.2 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示都谁登录到机器上</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">who<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">who<br></font></span><span style="color: black; font-family: 宋体;">功能：显示当前正在系统中的所有用户名字，使用终端设备号，注册时间。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% who<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.3 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示当前终端上的用户名</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">whoami<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">whoami<br></font></span><span style="color: black; font-family: 宋体;">功能：显示出当前终端上使用的用户。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% whoami<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.4 </font></span></strong><strong><span style="color: black; font-family: 宋体;">确定命令位置</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">whereis<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">whereis command<br></font></span><span style="color: black; font-family: 宋体;">功能：确定一个命令的二进制行码、源码及联机手册所在的位置。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% whereis ls<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.5 </font></span></strong><strong><span style="color: black; font-family: 宋体;">查找非标准命令</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">which<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">which command<br></font></span><span style="color: black; font-family: 宋体;">功能：查找非标准命令，即使用别名或系统中标准命令集之外的命令。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% which ls<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.6 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示日期</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">date<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">date<br></font></span><span style="color: black; font-family: 宋体;">功能：显示或设置日期和时间。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：只有超级用户有权设置日期。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% date<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.7 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示日历</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cal (calendar)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cal [month] year<br></font></span><span style="color: black; font-family: 宋体;">功能：显示某年内指定的日历</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% cal 1998<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.8 </font></span></strong><strong><span style="color: black; font-family: 宋体;">计算命令执行时间</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">time<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">time [command]<br></font></span><span style="color: black; font-family: 宋体;">功能：计算程序或命令在执行其间所用的时间。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：计算出的时间为：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">real</font></span><span style="color: black; font-family: 宋体;">是命令在系统驻留的总时间，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">user</font></span><span style="color: black; font-family: 宋体;">是命令消耗</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">CPU</font></span><span style="color: black; font-family: 宋体;">的时间，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">sys</font></span><span style="color: black; font-family: 宋体;">是命令</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">I/O</font></span><span style="color: black; font-family: 宋体;">所开销的时间。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% time myprog<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.9 </font></span></strong><strong><span style="color: black; font-family: 宋体;">查询帐目</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">acseek (account seek)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">acseek [-d n] [-m usersname]<br></font></span><span style="color: black; font-family: 宋体;">功能：查询本月的用户帐目。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-d n <br>-m username<br></font></span><span style="color: black; font-family: 宋体;">注释：若没有选项，则显示本人当月的帐单。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% acseek<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.10</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示用户标识</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">id <br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">id [option] [user]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示用户标识及用户所属的所有组。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-a </font></span><span style="color: black; font-family: 宋体;">显示用户名、用户标识及用户所属的所有组</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% id username<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.11</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示主机标识</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">hostid<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">hostid<br></font></span><span style="color: black; font-family: 宋体;">功能：显示主机的唯一标识，是被用来限时软件的使用权限，不可改变。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% hostid<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.12</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示主机名</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">hostname<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">hostname<br></font></span><span style="color: black; font-family: 宋体;">功能：显示或设置主机名。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：只有超级用户才能设置主机名。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% hostname<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.13</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示进程</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ps <br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ps [option]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示系统中进程的信息。包括进程</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ID</font></span><span style="color: black; font-family: 宋体;">、控制进程终端、执行时间和命令。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-a </font></span><span style="color: black; font-family: 宋体;">列出当前系统中所有进程的信息</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-l </font></span><span style="color: black; font-family: 宋体;">显示一个长列表</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-e </font></span><span style="color: black; font-family: 宋体;">显示当前运行的每一个进程信息</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-f </font></span><span style="color: black; font-family: 宋体;">显示一个完整的列表</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% ps -ef<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.14</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示磁盘空间</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">df (disk free)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">df [option]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示磁盘空间的使用情况，包括文件系统安装的目录名、块设备名、总</span><span style="color: black; font-family: 宋体;">字节数、已用字节数、剩余字节数占用百分比。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-i </font></span><span style="color: black; font-family: 宋体;">显示已用和未用的字节数</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-k </font></span><span style="color: black; font-family: 宋体;">显示磁盘空间的使用信息</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% df -k<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.15</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示文件盘空间</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">du (disk usage)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">du [option] [filename]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示目录或文件所占磁盘空间大小</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-a </font></span><span style="color: black; font-family: 宋体;">显示所有文件的大小</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-s </font></span><span style="color: black; font-family: 宋体;">显示制定目录所占磁盘大小</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% du<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.16</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示盘空间限制</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">quota<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">quota -v [username]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示用户的磁盘空间限制和使用情况。包扩盘空间的限额和已使用数，</span><span style="color: black; font-family: 宋体;">允许建立的节点数限额和使用节点数。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-v </font></span><span style="color: black; font-family: 宋体;">查看用户在系统中的盘空间</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：只有超级用户可以显示任何用户的使用情况，用</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">edquota</font></span><span style="color: black; font-family: 宋体;">命令可修改。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% quota -v<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.17</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示终端选项</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">stty<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">stty [option]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示或设置终端的任选项。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-a </font></span><span style="color: black; font-family: 宋体;">显示所有设置情况</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-g </font></span><span style="color: black; font-family: 宋体;">显示当前设置</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% stty -a<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.18</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示终端名</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tty<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tty<br></font></span><span style="color: black; font-family: 宋体;">功能：显示终端名</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% tty<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.19</font></span></strong><strong><span style="color: black; font-family: 宋体;">回忆命令</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">history<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">history<br></font></span><span style="color: black; font-family: 宋体;">功能：帮助用户回忆执行过的命令。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% history<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.20</font></span></strong><strong><span style="color: black; font-family: 宋体;">联机帮助手册</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">man (manual)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">man command_name<br></font></span><span style="color: black; font-family: 宋体;">功能：显示参考手册，提供联机帮助信息。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-k </font></span><span style="color: black; font-family: 宋体;">按制定关键字查询有关命令</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% man tar<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">4.21</font></span></strong><strong><span style="color: black; font-family: 宋体;">建立别名</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">alias<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">alias newname name<br></font></span><span style="color: black; font-family: 宋体;">功能：用户可以将常用的命令用自己习惯的名称来重新命名。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% alias dir 'ls -F'<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br></span><strong><span style="color: black; font-family: 宋体;">五、</span></strong><strong><span style="color: black; font-family: 宋体;">网络命令</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.1</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示网络地址</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">arp<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">arp hostname<br></font></span><span style="color: black; font-family: 宋体;">功能：显示系统当前访问的远程住机名、</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">IP</font></span><span style="color: black; font-family: 宋体;">地址和硬件地址。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-a<br></font></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% arp -a<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.2 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示用户信息</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">finger<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">finger username<br></font></span><span style="color: black; font-family: 宋体;">功能：显示网上用户使用机器的情况，包括用户何时登录和最后一次注册记录。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% finger username<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.3 </font></span></strong><strong><span style="color: black; font-family: 宋体;">网上对话</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">talk<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">talk username<br></font></span><span style="color: black; font-family: 宋体;">功能：在网上与另一用户进行对话。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：对话时系统把终端分为上下两部分，上半部显示自己键入信息，下半部</span><span style="color: black; font-family: 宋体;">显示对方用户键入的信息。键入</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">delete</font></span><span style="color: black; font-family: 宋体;">或</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Ctrl+C</font></span><span style="color: black; font-family: 宋体;">则结束对话。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% talk username<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.4 </font></span></strong><strong><span style="color: black; font-family: 宋体;">允许或拒绝接受信息</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mesg (message)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mesg [n/y]<br></font></span><span style="color: black; font-family: 宋体;">功能：允许或拒绝其它用户向自己所用的终端发送信息。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">n </font></span><span style="color: black; font-family: 宋体;">拒绝其它用户向自己所用的终端写信息</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">y </font></span><span style="color: black; font-family: 宋体;">允许其它用户向自己所用的终端写信息（缺省值）</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% mesg n<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.5 </font></span></strong><strong><span style="color: black; font-family: 宋体;">给其他用户写信息</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">write<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">write username [ttyname]<br></font></span><span style="color: black; font-family: 宋体;">功能：给其他用户的终端写信息。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：若对方没有拒绝，两用户可进行交谈，键入</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">EOF</font></span><span style="color: black; font-family: 宋体;">或</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Ctrl+C</font></span><span style="color: black; font-family: 宋体;">则结束对话。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">write username<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.6 </font></span></strong><strong><span style="color: black; font-family: 宋体;">测试网路</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ping<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ping hostname<br></font></span><span style="color: black; font-family: 宋体;">功能：向网络上的主机发送</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ICMP ECHO REQUEST</font></span><span style="color: black; font-family: 宋体;">信息包，检测网络是否畅通。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：被测试的主机名可用</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">IP</font></span><span style="color: black; font-family: 宋体;">地址。当丢包率为（</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">100% packet loss)</font></span><span style="color: black; font-family: 宋体;">则说明</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">当前网络不通。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% ping hostsname<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.7 </font></span></strong><strong><span style="color: black; font-family: 宋体;">远程</span></strong><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">shell</font></span></strong><strong><span style="color: black; font-family: 宋体;">命令</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rsh (remote shell)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rsh hostsname command<br></font></span><span style="color: black; font-family: 宋体;">功能：在本地机执行远程主机的</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">shell</font></span><span style="color: black; font-family: 宋体;">命令。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% rsh hostname who<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.8 </font></span></strong><strong><span style="color: black; font-family: 宋体;">远程拷贝文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rcp (remote copy)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rcp [-r] file newfile<br></font></span><span style="color: black; font-family: 宋体;">功能：拷贝远程主机上的文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-r </font></span><span style="color: black; font-family: 宋体;">拷贝目录</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% rcp hostname:/tmp/file . <o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.9 </font></span></strong><strong><span style="color: black; font-family: 宋体;">远程注册</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rlogin (remote login)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">rlogin hostname [-l username]<br></font></span><span style="color: black; font-family: 宋体;">功能：注册到远程主机上。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-l username </font></span><span style="color: black; font-family: 宋体;">注册到另一用户</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：要有用户口令才能注册。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% rlogin hostname<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.10 </font></span></strong><strong><span style="color: black; font-family: 宋体;">远程登录</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">telnet<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">telnet hostname<br></font></span><span style="color: black; font-family: 宋体;">功能：远程登录到网上其它主机。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：支持不同的操作系统。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% telnet bbs.tsinghua.edu.cn<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.11</font></span></strong><strong><span style="color: black; font-family: 宋体;">文件传输</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ftp (file transfer program)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ftp hostname<br></font></span><span style="color: black; font-family: 宋体;">功能：网络文件传输及远程操作。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ftp</font></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">?/help ftp</font></span><span style="color: black; font-family: 宋体;">的联机帮助</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">open hostname </font></span><span style="color: black; font-family: 宋体;">打开制定的远程机</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> <br>cd [dirname] </font></span><span style="color: black; font-family: 宋体;">进入远程机的目录</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">lcd [dirname] </font></span><span style="color: black; font-family: 宋体;">设置本地机的目录</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> <br>dir/ls </font></span><span style="color: black; font-family: 宋体;">显示远程的目录文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">binary </font></span><span style="color: black; font-family: 宋体;">以二进制方式进行传输</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">get/mget </font></span><span style="color: black; font-family: 宋体;">从远程机取一个或多个文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">put/mput </font></span><span style="color: black; font-family: 宋体;">向远程机送一个或多个文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">prompt </font></span><span style="color: black; font-family: 宋体;">打开或关闭多个文件传送时的交互提示</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">close </font></span><span style="color: black; font-family: 宋体;">关闭与远程机的连接</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">quit </font></span><span style="color: black; font-family: 宋体;">退出</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ftp<br></font></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% ftp hostname<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">5.12</font></span></strong><strong><span style="color: black; font-family: 宋体;">显示到网络主机的路经</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">traceroute<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">traceroute hostname<br></font></span><span style="color: black; font-family: 宋体;">功能：显示本机到达某一网络主机所经的路经和使用的时间。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% traceroute hostname<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br></span><strong><span style="color: black; font-family: 宋体;">六、</span></strong><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">Mail</font></span></strong><strong><span style="color: black; font-family: 宋体;">命令</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">6.1 </font></span></strong><strong><span style="color: black; font-family: 宋体;">发送或接受电子邮件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail/Mail/mailx<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail username </font></span><span style="color: black; font-family: 宋体;">（发送）</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">mail [option] </font></span><span style="color: black; font-family: 宋体;">（接受）</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">功能：向网上用户发送或接受电子邮件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-r </font></span><span style="color: black; font-family: 宋体;">邮件按先进先出顺序排序。缺省时为后进先出顺序排序</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-q </font></span><span style="color: black; font-family: 宋体;">中断</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail</font></span><span style="color: black; font-family: 宋体;">后不改变信箱内容</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-p </font></span><span style="color: black; font-family: 宋体;">显示</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail</font></span><span style="color: black; font-family: 宋体;">每份邮件，不显示提示信息</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-f </font></span><span style="color: black; font-family: 宋体;">从邮件格式文件中读邮件</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail</font></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">? </font></span><span style="color: black; font-family: 宋体;">显示</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail</font></span><span style="color: black; font-family: 宋体;">帮助命令</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">h </font></span><span style="color: black; font-family: 宋体;">邮件标题列表</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">p </font></span><span style="color: black; font-family: 宋体;">显示当前邮件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">n </font></span><span style="color: black; font-family: 宋体;">显示下一邮件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">r [uers] </font></span><span style="color: black; font-family: 宋体;">给发信人或用户回信</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">s [file] </font></span><span style="color: black; font-family: 宋体;">将邮件保存到文件中，保存标题信息</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">w [file] </font></span><span style="color: black; font-family: 宋体;">将邮件写到文件中，不保存标题信息</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">d [n] </font></span><span style="color: black; font-family: 宋体;">删除当前邮件或第</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">n</font></span><span style="color: black; font-family: 宋体;">封邮件</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> <br>q </font></span><span style="color: black; font-family: 宋体;">将未删除的邮件存入</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mbox</font></span><span style="color: black; font-family: 宋体;">文件，并退出</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail<br>x </font></span><span style="color: black; font-family: 宋体;">所有邮件不作修改，退出</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mail<br></font></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% mail -s "Subjet ..." username &lt; messages<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">6.2 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示邮件队列</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mailq<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">mailq<br></font></span><span style="color: black; font-family: 宋体;">功能：查看正在发送或接收邮件的排队情况。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：此命令一般在系统或网络不同时使用。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% mailq<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">6.3 </font></span></strong><strong><span style="color: black; font-family: 宋体;">邮件操作命令</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pine<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pine<br></font></span><span style="color: black; font-family: 宋体;">功能：对自己邮件操作的程序。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：此操作是在菜单提示下进行。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% pine<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br></span><strong><span style="color: black; font-family: 宋体;">七、</span></strong><strong><span style="color: black; font-family: 宋体;">运行程序命令</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.1 </font></span></strong><strong><span style="color: black; font-family: 宋体;">按时间执行命令</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">at/batch<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">at [option] [time] [data] [file]<br></font></span><span style="color: black; font-family: 宋体;">功能：在制定的时间执行命令或命令文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-r </font></span><span style="color: black; font-family: 宋体;">取消以前用</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">at</font></span><span style="color: black; font-family: 宋体;">命令提交的作业</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-l </font></span><span style="color: black; font-family: 宋体;">显示用</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">at</font></span><span style="color: black; font-family: 宋体;">命令提交的所有作业状态和作业号</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">at 0030 Jan 20 myfile<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.2 </font></span></strong><strong><span style="color: black; font-family: 宋体;">参数回至标准输出</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">echo<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">echo [-n] [arguments]<br></font></span><span style="color: black; font-family: 宋体;">功能：将参数即字符串至标准输出即显示器</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-n </font></span><span style="color: black; font-family: 宋体;">不向标准输出回送换行符</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">echo *<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.3 </font></span></strong><strong><span style="color: black; font-family: 宋体;">复制至文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tee<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">tee [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：至标准输出的同时复制至文件</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-a </font></span><span style="color: black; font-family: 宋体;">输出时附加到文件中</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-i </font></span><span style="color: black; font-family: 宋体;">不理采中断</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% who | tee file<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.4 </font></span></strong><strong><span style="color: black; font-family: 宋体;">给程序优先级</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">nice<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">nice [-n] command <br></font></span><span style="color: black; font-family: 宋体;">功能：以低的优先级运行程序或命令。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-n </font></span><span style="color: black; font-family: 宋体;">为优先级</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">0-20</font></span><span style="color: black; font-family: 宋体;">从高到低</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">nice -5 progame<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.5 </font></span></strong><strong><span style="color: black; font-family: 宋体;">终止进程</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">kill<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">kill [option] pid<br></font></span><span style="color: black; font-family: 宋体;">功能：向指定的进程送信号或终止进程。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-9 </font></span><span style="color: black; font-family: 宋体;">强行终止进程</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-17 </font></span><span style="color: black; font-family: 宋体;">将进程挂起</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-19 </font></span><span style="color: black; font-family: 宋体;">将挂起的进程激活</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">pid</font></span><span style="color: black; font-family: 宋体;">标示进程号，可由</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">ps</font></span><span style="color: black; font-family: 宋体;">命令得到。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% kill -9 pid<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.6 </font></span></strong><strong><span style="color: black; font-family: 宋体;">进程睡眠</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">sleep<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">sleep time<br></font></span><span style="color: black; font-family: 宋体;">功能：使当前正在执行的进程在规定的时间内处于睡眠。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">time</font></span><span style="color: black; font-family: 宋体;">为进程将睡眠的时间，以秒为单位。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% sleep time<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.7 </font></span></strong><strong><span style="color: black; font-family: 宋体;">显示作业状态</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">jobs<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">jobs [-l]<br></font></span><span style="color: black; font-family: 宋体;">功能：显示当前作业的状态</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-l </font></span><span style="color: black; font-family: 宋体;">长列表显示作业状态，包括所有者、作业号、终端和状态。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：作业状态为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song"> +</font></span><span style="color: black; font-family: 宋体;">表示最近被停止的作业，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-</font></span><span style="color: black; font-family: 宋体;">表示先前的作业，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">exit 1</font></span><span style="color: black; font-family: 宋体;">表示</span><span style="color: black; font-family: 宋体;">退出的作业，</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">job# done</font></span><span style="color: black; font-family: 宋体;">表示已完成的作业。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% jobs<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.8 </font></span></strong><strong><span style="color: black; font-family: 宋体;">前台作业</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">fg<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">fg job#<br></font></span><span style="color: black; font-family: 宋体;">功能：将指定作业号的作业转入前台运行。</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">job#</font></span><span style="color: black; font-family: 宋体;">表示作业号。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% fg job#<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.9 </font></span></strong><strong><span style="color: black; font-family: 宋体;">后台作业</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">bg/&amp;<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">bg job#<br>command &amp;<br></font></span><span style="color: black; font-family: 宋体;">功能：将指定作业号的作业或命令推到后台运行。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% bg job#<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">7.10</font></span></strong><strong><span style="color: black; font-family: 宋体;">挂起作业</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">stop<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">stop job#<br></font></span><span style="color: black; font-family: 宋体;">功能：将指定作业号的后台作业挂起</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">.<br></font></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% stop job#<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><span style="color: black;" lang="EN-US"><br></span><strong><span style="color: black; font-family: 宋体;">八、</span></strong><strong><span style="color: black; font-family: 宋体;">程序编译执行命令</span></strong><span style="color: black;" lang="EN-US"><o:p></o:p></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">8.1 C</font></span></strong><strong><span style="color: black; font-family: 宋体;">程序编译</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cc<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cc [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：编译或链接指定的</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">C</font></span><span style="color: black; font-family: 宋体;">文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-o </font></span><span style="color: black; font-family: 宋体;">指定输出文件名，缺省时为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">a.out<br>-c </font></span><span style="color: black; font-family: 宋体;">只编译，产生</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">.o</font></span><span style="color: black; font-family: 宋体;">的目标文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-g </font></span><span style="color: black; font-family: 宋体;">产生用于符号测试的执行文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-lm </font></span><span style="color: black; font-family: 宋体;">进行连接</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">cc</font></span><span style="color: black; font-family: 宋体;">数学库</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O </font></span><span style="color: black; font-family: 宋体;">进行代码的一般优化</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O2 </font></span><span style="color: black; font-family: 宋体;">二级优化</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">C</font></span><span style="color: black; font-family: 宋体;">编译器参考手册可用命令</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">man cc</font></span><span style="color: black; font-family: 宋体;">查看。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% cc -o test test.c<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">8.2 C++</font></span></strong><strong><span style="color: black; font-family: 宋体;">程序编译</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">CC<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">CC [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：编译或链接指定的</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">C++</font></span><span style="color: black; font-family: 宋体;">文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：同</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">C</font></span><span style="color: black; font-family: 宋体;">编译选项</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">C++</font></span><span style="color: black; font-family: 宋体;">编译器参考手册可用命令</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">man CC</font></span><span style="color: black; font-family: 宋体;">查看。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% CC -O2 test.cc<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">8.3 FORTRAN77</font></span></strong><strong><span style="color: black; font-family: 宋体;">程序编译</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">f77<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">f77 [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：编译或链接指定的</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Fortran</font></span><span style="color: black; font-family: 宋体;">文件</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-o </font></span><span style="color: black; font-family: 宋体;">指定输出文件名，缺省时为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">a.out<br>-c </font></span><span style="color: black; font-family: 宋体;">只编译，产生</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">.o</font></span><span style="color: black; font-family: 宋体;">的目标文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-g </font></span><span style="color: black; font-family: 宋体;">产生用于符号测试的执行文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O0 </font></span><span style="color: black; font-family: 宋体;">不进行代码优化</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O1 </font></span><span style="color: black; font-family: 宋体;">尽快进行代码优化</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O2 </font></span><span style="color: black; font-family: 宋体;">二级优化</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O3 </font></span><span style="color: black; font-family: 宋体;">三级优化</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">FORTRAN77</font></span><span style="color: black; font-family: 宋体;">编译器参考手册可用命令</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">man f77</font></span><span style="color: black; font-family: 宋体;">查看</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% f77 -c test.f<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">8.4 FORTRAN90</font></span></strong><strong><span style="color: black; font-family: 宋体;">程序编译</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">f90<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">f90 [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：编译或链接指定的</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">Fortran90</font></span><span style="color: black; font-family: 宋体;">文件</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：同</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">FORTRAN77</font></span><span style="color: black; font-family: 宋体;">编译选项</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">FORTRAN90</font></span><span style="color: black; font-family: 宋体;">编译器参考手册可用命令</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">man f90</font></span><span style="color: black; font-family: 宋体;">查看</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% f90 -O -o test test.f<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">8.5 GNU</font></span></strong><strong><span style="color: black; font-family: 宋体;">程序编译</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">命令：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">gcc (GNU C)<br>g++/c++ (GNU C++)<br>g77 (GNU FORTRAN77)<br></font></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">gcc [option] filename<br>g++ [option] filename<br>g77 [option] filename<br></font></span><span style="color: black; font-family: 宋体;">功能：编译或链接指定的编译文件。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">选项：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">-o </font></span><span style="color: black; font-family: 宋体;">指定输出文件名，缺省时为</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">a.out<br>-c </font></span><span style="color: black; font-family: 宋体;">只编译，产生</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">.o</font></span><span style="color: black; font-family: 宋体;">的目标文件</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O </font></span><span style="color: black; font-family: 宋体;">进行代码的一般优化</span><span style="color: black;" lang="EN-US"><br><font face="宋体, MS Song">-O2 </font></span><span style="color: black; font-family: 宋体;">二级优化</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">注释：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">GNU</font></span><span style="color: black; font-family: 宋体;">编译器参考手册可进入</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">emacs</font></span><span style="color: black; font-family: 宋体;">中</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">info</font></span><span style="color: black; font-family: 宋体;">菜单下查看。</span><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">例如：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">% gcc -o test test.c<o:p></o:p></font></span></p>
<p class="main" style="margin: auto 0cm;"><strong><span style="color: black; font-family: ˎ̥;" lang="EN-US"><font face="宋体, MS Song">8.6 </font></span></strong><strong><span style="color: black; font-family: 宋体;">运行文件</span></strong><span style="color: black;" lang="EN-US"><br></span><span style="color: black; font-family: 宋体;">格式：</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">a.out<br>filename<br></font></span><span style="color: black; font-family: 宋体;">功能：源程序经编译后产生目标代码文件，放在</span><span style="color: black;" lang="EN-US"><font face="宋体, MS Song">a.out</font></span><span style="color: black; font-family: 宋体;">文件或指定输出文件名。</span></p>
</div>
</div><img src ="http://www.phpweblog.net/young40/aggbug/2384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-24 15:19 <a href="http://www.phpweblog.net/young40/archive/2007/11/24/2384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu[002]服务器架设</title><link>http://www.phpweblog.net/young40/archive/2007/11/24/2383.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Sat, 24 Nov 2007 07:05:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/24/2383.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2383.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/24/2383.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2383.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2383.html</trackback:ping><description><![CDATA[安装web服务器apache<br>sudo apt-get install apache2<br><br>安装php<br>sudo apt-get install libapache2-mod-php5<br>sudo apt-get install php5<br><br>安装ftp<br>sudo apt-get install vsftpd<br><br>安装mysql<br>sudo apt-get install mysql-server-5.0<br><br>安装phpmyadmin<br>sudo apt-get install phpmyadmin<br><br><br>重新启动apahce<br>&nbsp;sudo /etc/init.d/apache2 restart<br><br>     <br>其他命令<br>chmod 775 filename<br><br>关机<br>sudo shutdown -h now<br> <img src ="http://www.phpweblog.net/young40/aggbug/2383.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-24 15:05 <a href="http://www.phpweblog.net/young40/archive/2007/11/24/2383.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu[001]重新学习Linux了</title><link>http://www.phpweblog.net/young40/archive/2007/11/23/2381.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Fri, 23 Nov 2007 09:15:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/23/2381.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2381.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/23/2381.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2381.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2381.html</trackback:ping><description><![CDATA[几年没有玩过linux了<br>重新开始学习，发现所有的东西都忘的差不多了。<br><br>记录下来。<br><br>虚拟机里面装完Ubuntu Server7.04.<br>使用的第一个命令是：<br>sudo apt-get dist-upgrade<br>用来升级系统用，他自己会更新<br><br>第二个命令:<br>sudo apt-get install ssh<br>安装远程控制<br>控制的客户端Win可以选用putty<br>这个可以说是以前学linux唯一记得的东西了。<br><br>更新的使用会占用很长时间，可以使用快捷键Ctrl+C来中断命令的执行。<br>重新更新时会断点续传。<br><br><br>
<pre><a>PUTTY登录Ubuntu乱码解决方案!</a></pre>
<span class="anchor"></span><span class="anchor"></span>
<p class="line874"> 由于默认Ubuntu采用UTF-8的字符集，所以putty需要做一些设置： <span class="anchor"></span><span class="anchor"></span></p>
<p class="line862">点击左边的 Windows -&gt; Appearance 设置 Font settings ,点击 Change... 按钮选择为 <strong>仿宋体</strong> 或者 <strong>新宋体</strong>。 <span class="anchor"></span><span class="anchor"></span></p>
<p class="line862">点击左边的 Windows -&gt; Translation 设置 Character set translation 为 <strong>UTF-8</strong> <span class="anchor"></span><span class="anchor"></span></p>
然后，点击 Open 连接服务器即可。<br><br>第三个命令：<br>清除屏幕<br>clear<br><br><br>  第四个命令:<br>查看进程<br>ps<br>ps -aux查看所有进程<br><br>提示功能：<br>输入命令的前几个字母按&#8220;TAB&#8221;键可以查看可以使用的命令<br>也可以查看目录的文件列表<br><br>
top：显示系统内存、cpu使用情况，并可自动刷新进程列表<br>
<br>
vmstat：显示当前的内存使用情况<br>
<br>
netstat：显示网络状况，使用参数p可以查看对应的进程号及程序名，<br>
<br>
通常使用参数a（显示所有连接情况）和n（不反查域名和服务名），例如：netstat -anp。<br>
<br>
查看服务器侦听情况，使用：netstat -an | grep LISTEN<br>
<br>
查看服务器已建立的连接，使用：netstat -an | grep ESTABLISHED<br>
<br>
ifconfig：查看(或设置）网络设备信息<br>
<br>
ifconfig -a：查看所有网络设置信息<br>
<br>
last：显示登录到服务器的情况以及服务器重启情况<br>
<br>
df：显示硬盘空间及使用情况，Linux下可以带参数h，显示结果更人性化。例如：<br>
<br>
df -h 硬盘空间按人性化显示<br>
<br>
df -k 硬盘空间按KB显示<br>
<br>
df -m 硬盘空间按MB显示<br>
<br>
w：显示登录到服务器上的用户列表<br>
<br> <img src ="http://www.phpweblog.net/young40/aggbug/2381.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-23 17:15 <a href="http://www.phpweblog.net/young40/archive/2007/11/23/2381.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ActiveX开发</title><link>http://www.phpweblog.net/young40/archive/2007/11/23/2379.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Fri, 23 Nov 2007 03:56:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/23/2379.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2379.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/23/2379.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2379.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2379.html</trackback:ping><description><![CDATA[<div class="box2"><span class="Tit"><br></span></div>
ActiveX 在广义上是指微软公司的整个COM架构，但是现在通常用来称呼基于标准COM接口来实现对象连接与嵌入的ActiveX控件。后者是指从VBX发展而来的，面向微软的Internet Explorer技术而设计的以OCX为扩展名的OLE控
件。通过定义容器和组件之间的接口规范，如果编写了一个遵循规范的控件，那么可以很方便地在多种容器中使用而不用修改控件的代码。同样，通过实现标准接口
调用，一个遵循规范的容器可以很容易地嵌入任何遵循规范的控件。由于OLE在ActiveX控件中的应用的普及，现在OLE技术中只有少数独立于
ActiveX技术，例如复合文档。<br>
<br>
一些浏览器，例如网景浏览器等等都不同程度上支持ActiveX控件。这允许网页通过脚本和控件交互产生更加丰富的效果，同时也带来一些安全性的问题。Internet Explorer和一些其他应用程序同时支持ActiveX Documents接口规范，允许在一个应用程序中嵌入另一个支持这个规范的应用程序。很多应用软件，例如微软的MicrosoftOffice系列和Adobe的Acrobat Reader都实现了这个规范。<br>
<br>
服务器端ActiveX组件通常是指运行在服务进程中的组件。一个典型应用是在IIS中运行的ASP脚本创建的ActiveX Data Objects，也称ADO。&nbsp; <br>  <img src ="http://www.phpweblog.net/young40/aggbug/2379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-23 11:56 <a href="http://www.phpweblog.net/young40/archive/2007/11/23/2379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>加速图片显示</title><link>http://www.phpweblog.net/young40/archive/2007/11/22/2371.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Thu, 22 Nov 2007 03:44:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/22/2371.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2371.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/22/2371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2371.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2371.html</trackback:ping><description><![CDATA[<strong>　加速图片显示
</strong>
<table class="docParameter" border="0" cellpadding="0" cellspacing="6" width="100%">
    <tbody>
        <tr>
            <td>
            <p>作者：<a href="http://www.blueidea.com/common/contact.asp?type=%E4%BD%9C%E8%80%85&amp;username=%E4%B8%80%E5%8F%B6%E5%8D%83%E9%B8%9F" target="_blank">一叶千鸟</a>　时间： 2007-06-06　文档类型：原创　来自：<a href="http://www.blueidea.com/">蓝色理想</a>
            <br></p>
            </td>
        </tr>
    </tbody>
</table>
<table class="border" border="0" cellpadding="0" cellspacing="0" width="100%">
    <tbody>
        <tr>
            <td><img src="http://www.blueidea.com/img/spacer.gif" height="6" width="6"></td>
        </tr>
    </tbody>
</table>
<p>原文：<a href="http://blog.rexsong.com/?p=746#comments" target="_blank">http://blog.rexsong.com/?p=746#comments</a></p>
<p>加速的关键，不是降低重量，而是减少个数。如果重量在200K以内，只要网络不是特别慢，效率都差不多。但是，如果图片个数多一倍，效率将明显低一个档次。</p>
<p>传统切图讲究精细，图片规格越小越好，重量越小越好，其实规格大小无所谓，计算机统一都按Byte计算。客户端每显示一张图片都会向服务器发送请求，所以，图片越多请求次数越多，造成延迟的可能性也就越大。因为一张图片的传输时间，通常远小于请求等待的时间。</p>
<p>减少图片的三个技巧(CSS Sprite)：</p>
<p><strong>1. 图片限制(Image Slicing)</strong></p>
<p>典型如文本编辑器，小图标特别多，打开时一张张跑出来，给用户的感觉很不好。如果能用一张图解决，则不会有这个问题，比如百度空间、163博客、Gmail都是这么做的。</p>
<p align="center"><img src="http://www.blueidea.com/articleimg/2007/06/4750/01.gif" border="0" height="18" width="306"></p>
<p>Image Slicing&#8217;s Kiss of Death<br><a href="http://www.alistapart.com/articles/sprites" target="_blank">http://www.alistapart.com/articles/sprites</a></p>
<p><strong>2. 单图转滚(Single-image Rollovers)</strong></p>
<p>触发切换图片的需求，传统方案得重新请求新图片，因为网络问题经常造成停留或等待。如果能把多种状态合并成一张图，就能完美解决，然后再使用背景图技术模拟动态效果。</p>
<p align="center"><img src="http://www.blueidea.com/articleimg/2007/06/4750/02.gif" border="0" height="36" width="14"></p>
<p>ColorScheme Ratings<br><a href="http://demo.rexsong.com/200608/colorscheme_ratings/" target="_blank">http://demo.rexsong.com/200608/colorscheme_ratings/</a></p>
<p><strong>3. 延长背景(Extend Background Image)</strong> </p>
<p>如果图片的某边可以背景平铺无限延长，则不需要每个角、每条边单独搞出来，图片能少一个就少一个。其实，这个理论还可以扩展到四角容器里，好处是能大大简化HTML Structure。</p>
<p align="center"><img src="http://www.blueidea.com/articleimg/2007/06/4750/03.jpg" border="0" height="31" width="400"></p>
<p>Extend Background Image<br><a href="http://demo.rexsong.com/200705/extend_background_image/" target="_blank">http://demo.rexsong.com/200705/extend_background_image/</a></p>
<p><strong>综合案例</strong></p>
<p>Google Korea（1和2技巧）<br><a href="http://demo.rexsong.com/200705/google_korea/" target="_blank">http://demo.rexsong.com/200705/google_korea/</a></p>
<p align="center"><img src="http://www.blueidea.com/articleimg/2007/06/4750/04.gif" border="0" height="259" width="372"></p>
<p align="center"><img src="http://www.blueidea.com/articleimg/2007/06/4750/05.gif" border="0" height="165" width="66"></p>
<p>CSS Menus（2和3技巧）<br><a href="http://demo.rexsong.com/200705/css_background_menus/" target="_blank">http://demo.rexsong.com/200705/css_background_menus/</a></p>
<p align="center"><img src="http://www.blueidea.com/articleimg/2007/06/4750/06.gif" border="0" height="84" width="175"></p>
<span style="font-size: 12px;">本文链接：<a href="http://www.blueidea.com/tech/site/2007/4750.asp" target="_blank">http://www.blueidea.com/tech/site/2007/4750.asp</a>　<img src="http://www.blueidea.com/img/common/fin.gif" align="absmiddle"></span> <img src ="http://www.phpweblog.net/young40/aggbug/2371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/young40/" target="_blank">young40</a> 2007-11-22 11:44 <a href="http://www.phpweblog.net/young40/archive/2007/11/22/2371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>很好的标签样式</title><link>http://www.phpweblog.net/young40/archive/2007/11/22/2370.html</link><dc:creator>young40</dc:creator><author>young40</author><pubDate>Thu, 22 Nov 2007 03:33:00 GMT</pubDate><guid>http://www.phpweblog.net/young40/archive/2007/11/22/2370.html</guid><wfw:comment>http://www.phpweblog.net/young40/comments/2370.html</wfw:comment><comments>http://www.phpweblog.net/young40/archive/2007/11/22/2370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/young40/comments/commentRss/2370.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/young40/services/trackbacks/2370.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">&lt;!</span><span style="color: #ff00ff;">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html&nbsp;</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta&nbsp;</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">&nbsp;content</span><span style="color: #0000ff;">="text/html;&nbsp;charset=iso-8859-1"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Free&nbsp;CSS&nbsp;Navigation&nbsp;Menu</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><br><br><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">style&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #0000ff;">&gt;</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;body&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;font</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">&nbsp;bold&nbsp;11px/1.5em&nbsp;Verdana</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br></span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br><br>h2&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;font</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">&nbsp;bold&nbsp;14px&nbsp;Verdana,&nbsp;Arial,&nbsp;Helvetica,&nbsp;sans-serif</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;color</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">&nbsp;#000</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">&nbsp;0px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">&nbsp;0px&nbsp;0px&nbsp;0px&nbsp;15px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br></span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br><br>img&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>border</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">&nbsp;none</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br></span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;">&nbsp;<br>&nbsp;<br></span><span style="background-color: #f5f5f5; color: #008000;">/*</span><span style="background-color: #f5f5f5; color: #008000;">-&nbsp;Menu&nbsp;Tabs---------------------------&nbsp;</span><span style="background-color: #f5f5f5; color: #008000;">*/</span><span style="background-color: #f5f5f5; color: #800000;">&nbsp;<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">left</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">100%</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">#BBD9EE</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">93%</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line-height</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">normal</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;ul&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">10px&nbsp;10px&nbsp;0&nbsp;50px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;list-style</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">none</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;li&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">inline</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;a&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">left</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">url("tableft.gif")&nbsp;no-repeat&nbsp;left&nbsp;top</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0&nbsp;0&nbsp;0&nbsp;4px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-decoration</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">none</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;a&nbsp;span&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">left</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">block</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">url("tabright.gif")&nbsp;no-repeat&nbsp;right&nbsp;top</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">5px&nbsp;15px&nbsp;4px&nbsp;6px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">#666</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000;">/*</span><span style="background-color: #f5f5f5; color: #008000;">&nbsp;Commented&nbsp;Backslash&nbsp;Hack&nbsp;hides&nbsp;rule&nbsp;from&nbsp;IE5-Mac&nbsp;\</span><span style="background-color: #f5f5f5; color: #008000;">*/</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;a&nbsp;span&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;">float</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">none</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000;">/*</span><span style="background-color: #f5f5f5; color: #008000;">&nbsp;End&nbsp;IE5-Mac&nbsp;hack&nbsp;</span><span style="background-color: #f5f5f5; color: #008000;">*/</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;a:hover&nbsp;span&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">#FF9834</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;a:hover&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-position</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0%&nbsp;-42px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabs&nbsp;a:hover&nbsp;span&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-position</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">100%&nbsp;-42px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="background-color: #f5f5f5; color: #008000;">/*</span><span style="background-color: #f5f5f5; color: #008000;">-&nbsp;Menu&nbsp;Tabs&nbsp;B---------------------------&nbsp;</span><span style="background-color: #f5f5f5; color: #008000;">*/</span><span style="background-color: #f5f5f5; color: #800000;"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabsB&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">left</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">100%</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">#F4F4F4</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">93%</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line-height</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">normal</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabsB&nbsp;ul&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">10px&nbsp;10px&nbsp;0&nbsp;50px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;list-style</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">none</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabsB&nbsp;li&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">inline</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabsB&nbsp;a&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">left</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">url("tableftB.gif")&nbsp;no-repeat&nbsp;left&nbsp;top</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">0&nbsp;0&nbsp;0&nbsp;4px</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-decoration</span><span style="background-color: #f5f5f5; color: #000000;">:</span><span style="background-color: #f5f5f5; color: #0000ff;">none</span><span style="background-color: #f5f5f5; color: #000000;">;</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">}</span><span style="background-color: #f5f5f5; color: #800000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;#tabsB&nbsp;a&nbsp;span&nbsp;</span><span style="background-color: #f5f5f5; color: #000000;">{</span><span style="background-color: #f5f5f5; color: #ff0000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float</span><span style="background-color: #f5f5f5; col