﻿<?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>BlogJava--随笔分类-LINUX,UNIX</title><link>http://www.blogjava.net/leekiang/category/24446.html</link><description>MDA/MDD/TDD/DDD/DDDDDDD</description><language>zh-cn</language><lastBuildDate>Tue, 10 Jan 2012 15:22:39 GMT</lastBuildDate><pubDate>Tue, 10 Jan 2012 15:22:39 GMT</pubDate><ttl>60</ttl><item><title>linux分区</title><link>http://www.blogjava.net/leekiang/archive/2011/12/11/366105.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sun, 11 Dec 2011 13:40:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/12/11/366105.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/366105.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/12/11/366105.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/366105.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/366105.html</trackback:ping><description><![CDATA[		下载gparted的iso文件，修改CentOS虚拟机为从光盘启动，并且选中该iso文件。重新启动CentOS虚拟机，在启动时迅速点击虚拟机窗口，同时按ESC键，可看到Boot Menu，选择从光盘启动，重启后就可以使用gparted了。<br /><br /><a href="http://hdwangyi.iteye.com/blog/317918">使用gparted和acronis进行Linux分区和NTFS分区无损调整</a><br />http://gparted.sourceforge.net/larry/generalities/gparted.htm<br /><a href="http://blog.csdn.net/intimater/article/details/6795571">在VMWare中增加Linux文件系统空间</a><br /><a target="_blank" href="http://hardy136.blog.163.com/blog/static/1378810922010101385735942/">VMware虚拟机中调整Linux分区大小手记</a><br /><a target="_blank" href="http://www.linuxfly.org/post/243/">给Vmware进行硬盘扩容</a><br /><a href="http://blog.csdn.net/aaa6695798/article/details/4396612">增加VMware下的虚拟机磁盘空间</a><br /><a href="http://serverfault.com/questions/257196/how-to-mount-space-in-dev-sda2">How to mount space in /dev/sda2</a><br /><a target="_blank" href="http://blog.sina.com.cn/s/blog_544f18310100unqs.html">linux  分区扩容</a><br /><a target="_blank" href="http://www.webhostingtalk.com/showthread.php?t=985314">Insufficient Space for Yum Installs? I'm confused</a><br /><a href="http://www.nimblecoder.com/blog/archive/2008/02/19/resizing-virtual-machines-guide-with-vmware.aspx">Resizing Virtual Machines Guide with VMware</a><br /><a href="http://beerpla.net/2007/08/10/how-to-resizegrow-vmware-linux-disks-and-partitions/">How To Resize/Grow VMware Linux Disks and Partitions</a><img src ="http://www.blogjava.net/leekiang/aggbug/366105.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-12-11 21:40 <a href="http://www.blogjava.net/leekiang/archive/2011/12/11/366105.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS</title><link>http://www.blogjava.net/leekiang/archive/2011/10/18/361495.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 17 Oct 2011 19:03:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/10/18/361495.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/361495.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/10/18/361495.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/361495.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/361495.html</trackback:ping><description><![CDATA[一：浏览器显示中文<br />yum install fonts-chinese   <br />yum install fonts-ISO8859-2-75dpi  <br />修改 /etc/sysconfig/i18n ，内容如下：<br />  LANG="en_US.UTF-8" <br />SYSFONT="lat0-sun16"<br /><br />二：中文输入法安装<br />yum -y install scim*  <br />yum -y install Deployment_Guide-zh-* lv-* stardict*<br />参见 <a target="_blank" href="http://blog.csdn.net/longxibendi/article/details/6298256">Linux CentOS下，浏览器乱码，支持中文解决；以及中文输入法的安装</a><br /><br />安装jdk<br />在/usr/java目录<br />chmod 777 jdk-6u29-linux-i586-rpm.bin<br />./jdk-6u29-linux-i586-rpm.bin <br /><br /><br />在安装新的虚拟机时，如果选择了ISO或者光盘立即安装，vmware会自动配置自动安装，但这样默认安装的CentOS系统，在显示中文的时候，会出现乱码。有人讲了解决办法：<br /><a target="_blank" href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=49741&amp;PostID=32084168">CentOS在vmware7下中文乱码的解决方法</a>，<br />但另外有人说还是有问题，要采用以下的办法：<br />选择“我将操作系统以后安装(I will install the operating system  later)”，把裸机建出来后，先Virtual Machine Setting，点CDROM 然后在左边选择加载ISO文件(USe ISO image file)，再启动安装就没问题了。<br /><br /><br />由于VMware的智能自动安装，如果没有前面的两步，在安装系统时将不会出现语言选择、软件定制、分区等几乎所有设置选择，系统将会完全自动安装完毕。但这样安装的系统不能显示中文，没有中文输入法，连编译工具GCC也没有，什么意思啦，就是这样只安装了最核心最基本的一些东西。<br />开始不知道，就没有前两步装的，结果装完后又要考虑汉化，然后又要装中文输入法，要用GCC 时，发现没有GCC，然后又得装GCC，后来找了半天，终于在http://zhidao.baidu.com/question /89551368.html?fr=qrl&amp;cid=89&amp;index=5找到了答案，终于不用再为汉化而烦了，呵呵！这样VM安装 RHEL，就轻松解决问题了。<br />补充：这样的安装方法相对简易安装（easyinstall)有些麻烦，那就是安装完后得手动安装vmtools,但别紧张，我教你个笨办法无忧解决，哪怕你没有linux基础：<br />（1）点击vmvare上的安装vmtools按钮，系统会下载vmtools tar.gz 的cd<br />（2）复制它到桌面，解压<br />（3）双击解压后文件里面vmware-install.pl ,弹出对话框，选“在终端运行”<br />（4）一路回车即可，最后要选择一下分辨率：12<br />（5）安装后重启虚拟机 <br /><a target="_blank" href="http://os.51cto.com/art/201001/176543.htm">来源</a><br /><br />当出现"Please insert disc 2 to continue"时，点击vmware提供的"Change Disc"。<br /><br />问题：yum install mysql-server时报错“Insufficient space in download directory /var/cache/yum/base/packages”<br />解决：rm -rf /var/cache/yum/*。也可修改/etc/yum.conf的cachedir=/var/cache/yum， 但根本原因可能是磁盘满了。<br /><br /><br /><a target="_blank" href="http://zhidao.baidu.com/question/89551368.html">VMware虚拟机安装redhat Linux 问题</a><br /><a target="_blank" href="http://os.51cto.com/art/201003/191598.htm">简单CentOS配置步骤</a><br /><a target="_blank" href="http://hi.baidu.com/eao110/blog/item/6fb6fed31ffcc1d3a8ec9a28.html">CentOS 5.5 图形安装教程（超详细）</a><br /><a target="_blank" href="http://hi.baidu.com/eao110/blog/item/7b6647363bfafec7a3cc2bbb.html">CentOS 6.0 图形（图解）安装教程、基本配置、网络配置、软件源配置、安装压缩、语言包</a><br /><a target="_blank" href="http://www.tozii.com/?p=243">How to Install Linux on VMWare</a><br /><a target="_blank" href="http://www.linuxdiyf.com/viewarticle.php?id=116339">用VMware虚拟机安装CentOS-5.0</a><br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/361495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-10-18 03:03 <a href="http://www.blogjava.net/leekiang/archive/2011/10/18/361495.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用SecureCRT来上传和下载数据(转)</title><link>http://www.blogjava.net/leekiang/archive/2011/09/21/359189.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 21 Sep 2011 13:00:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/09/21/359189.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/359189.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/09/21/359189.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/359189.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/359189.html</trackback:ping><description><![CDATA[
		<p>我使用的是SecureCRT5.5<br />
SecureCR下的文件传输协议有ASCII、Xmodem、Zmodem<br />
文件传输协议<br />
文件传输是数据交换的主要形式。在进行文件传输时，为使文件能被正确识别和传送，我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。常见的传输协议有以下几种： <br /><br />
ASCII：这是最快的传输协议，但只能传送文本文件。 <br /><br />
Xmodem：这种古老的传输协议速度较慢，但由于使用了CRC错误侦测方法，传输的准确率可高达99.6%。 <br /><br />
Ymodem：这是Xmodem的改良版，使用了1024位区段传送，速度比Xmodem要快。 <br /><br />
Zmodem：Zmodem采用了串流式（streaming）传输方式，传输速度较快，而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。 <br /><br />
除以上几种外，还有Imodem、Jmodem、Bimodem、Kermit、Lynx等协议，由于没有多数厂商支持，这里就略去不讲。<br />
SecureCRT可以使用linux下的zmodem协议来快速的传送文件.</p>
		<p>你只要设置一下上传和下载的默认目录就行<br />
options-&gt;session options -&gt;Terminal-&gt;Xmodem/Zmodem 下<br />
在右栏directory设置上传和下载的目录<br /><br />
 <strong>使用Zmodem从客户端上传文件到linux服务器</strong><br />
1.在用SecureCRT登陆linux终端.<br />
2.选中你要放置上传文件的路径，在目录下然后输入rz命令,SecureCRT会弹出文件选择对话框，在查找范围中找到你要上传的文件，按Add按钮。然后OK就可以把文件上传到linux上了。<br />
或者在Transfer-&gt;Zmodem Upoad list弹出文件选择对话框，选好文件后按Add按钮。然后OK窗口自动关闭。然后在linux下选中存放文件的目录，输入rz命令。liunx就把那个文件上传到这个目录下了。</p>
		<p>
				<strong>使用Zmodem下载文件到客户端：<br /></strong>sz filename<br />
zmodem接收可以自行启动.下载的文件存放在你设定的默认下载目录下.<br /></p>
		<p>又记：<br />
rz，sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具windows端需要支持ZModem的telnet/ssh客
户端，SecureCRT就可以用SecureCRT登陆到Unix/Linux主机（telnet或ssh均可）O 
运行命令rz，即是接收文件，SecureCRT就会弹出文件选择对话框，选好文件之后关闭对话框，文件就会上传到当前目录 O 运行命令sz 
file1 file2就是发文件到windows上（保存的目录是可以配置） 比ftp命令方便多了，而且服务器不用再开FTP服务了</p>
<img src ="http://www.blogjava.net/leekiang/aggbug/359189.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-09-21 21:00 <a href="http://www.blogjava.net/leekiang/archive/2011/09/21/359189.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>shell脚本</title><link>http://www.blogjava.net/leekiang/archive/2011/06/30/353473.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 30 Jun 2011 15:21:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/06/30/353473.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/353473.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/06/30/353473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/353473.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/353473.html</trackback:ping><description><![CDATA[
		<pre id="content-413929849" class="reply-text mb10">#!/usr/bin/python是告诉操作系统执行这个脚本的时候，调用/usr/bin下的python解释器；<br />#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候，首先会到env设置里查找python的安装路径，再调用对应路径下的解释器程序完成操作。</pre>
<img src ="http://www.blogjava.net/leekiang/aggbug/353473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-06-30 23:21 <a href="http://www.blogjava.net/leekiang/archive/2011/06/30/353473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于SecureCRT、putty</title><link>http://www.blogjava.net/leekiang/archive/2011/05/06/349709.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 06 May 2011 12:38:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/05/06/349709.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/349709.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/05/06/349709.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/349709.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/349709.html</trackback:ping><description><![CDATA[SecureCRT<br />1,SecureCRT全屏后,SecureCRT后如何显示菜单？Alt+Enter是转换全屏与否的快捷键，或者输入Alt+V弹出菜单，去掉full screen<br /><br />2,乱码问题<br />将securecrt的字符编码也改成UTF-8修改方法：<br />Options -&gt; Session Options -&gt;  Apperance -&gt; Fonts -&gt; Character<br /><br />3,<br />使用SecureCRT时把Session改成VT100 Linux模式，有何区别<br /><br />putty<br />1，乱码问题<br />在窗口标题上点击右键，选择“Change Settings...”，在打开的配置窗口左边选择 Appearance，在右边点 Font settings 里面的 Change 按钮，选择好中文字体，比如：宋体、新宋体之类。字体选择好了，还要确定字符集。选择配置窗口左边的 Translation，在右边的 Received data assumed to be in which character set 下拉列表中选择UTF-8<br />2，退出全屏<br />要退出的时候需要把鼠标移到左上角，然后单击鼠标左键，就会跳出选项。<br />或者Windwo-&gt;Behaviour-&gt;勾选Full screen on Alt-Enter<br />3，增加滚动的行数<br />在配置窗口的左边选择 Window，修改右边的 Lines of scrollback，改大点。<br /><br />参考<br /><a target="_blank" href="http://chaifeng.com/blog/2007/06/putty_200611.html">PuTTY 中文教程</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/349709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-05-06 20:38 <a href="http://www.blogjava.net/leekiang/archive/2011/05/06/349709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小linux</title><link>http://www.blogjava.net/leekiang/archive/2011/02/18/344590.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 17 Feb 2011 16:08:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/02/18/344590.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/344590.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/02/18/344590.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/344590.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/344590.html</trackback:ping><description><![CDATA[tinycore 约10M<br />puppy linux 约100M<br /><br />参考:<br />http://dan.febird.net/2009/05/41856-tinycore-linux-grub4dos.html<br />http://dan.febird.net/2009/01/35687-u-disk-puppy-linux.html<img src ="http://www.blogjava.net/leekiang/aggbug/344590.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-02-18 00:08 <a href="http://www.blogjava.net/leekiang/archive/2011/02/18/344590.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu调优</title><link>http://www.blogjava.net/leekiang/archive/2011/01/07/342475.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 06 Jan 2011 20:33:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/07/342475.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342475.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/07/342475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342475.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342475.html</trackback:ping><description><![CDATA[
		<a href="http://blog.csdn.net/sdfgh2046/archive/2010/05/23/5617707.aspx">ubuntu 超级优化，不仅仅是禁用几个服务哦</a>
<img src ="http://www.blogjava.net/leekiang/aggbug/342475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-07 04:33 <a href="http://www.blogjava.net/leekiang/archive/2011/01/07/342475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从ubuntu中文论坛转载的一片超好的文章，慢慢学习中(转)</title><link>http://www.blogjava.net/leekiang/archive/2011/01/07/342474.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 06 Jan 2011 18:05:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/07/342474.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342474.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/07/342474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342474.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342474.html</trackback:ping><description><![CDATA[About Shell <br />
----------- <br />
Q1.用户登录到Linux机器,系统会启动login子程序处理用户登录请求,如何自动设置用户环境变量? <br />
比如 PATH,CVS_RSH等等 <br /><br />
编辑/etc/profile 和 $HOME/.bash_profile $HOME/.bash_login $HOME/.profile <br />
当退出登录时,shell会执行 ~/.bash_logout <br /><br />
Q2.如何快速执行历史命令? <br /><br />
fc -s [cmd] 执行编号为cmd的命令,缺省的话,执行最近1条指令 <br />
可以使用alias r='fc -s' 登记1个命令别名,减少键击次数 <br /><br />
注: <br />
fc - Fix Command <br /><br />
可以用bash内建的命令查找功能,在命令输入状态下输入C-R,则再输入命令，即可出现 <br />
与当前输入字符串匹配的命令列表 <br /><br />
Q3.如何快速查看一个用户的id和组id? <br /><br />
输入id 即可查看当前用户的id和组id(包括数字和名称) <br />
输入id [USERNAME] 即可查看 USERNAME的id和组id(包括数字和名称) <br /><br />
Q4.如何查看OS打开的所有文件句柄? <br /><br />
输入lsof,可查看所有的打开文件 <br />
输入lsof /path/of/file, 可查看/path/of/file目录中被打开的文件 <br /><br />
Q5.如何转化不同编码的文件? <br /><br />
例如 readme.txt 是GB2312编码的,Console只支持utf-8的,要将readme.txt <br />
打印处理,如果不作编码转换,必然出现乱码. <br />
可以用iconv工具进行转化 <br />
cat readme.txt| iconv -f gb2312 -t utf-8 <br /><br />
Q6.如何在当前的shell会话上下文中设置环境变量? <br /><br />
将设置指令写如一个特定的bash文件,如setup.sh <br />
执行 . setup.sh 命令 <br />
注: . 也是bash的一个内建指令 <br /><br />
Q7.如何使用Bash的花括号自动扩展? <br /><br />
假设我们要打印出从a到z的26个字母,那么通常做法是从a循环到z,逐个输出,但我们知道 <br />
Linux下这样的轮子大多数已经被人发明过了,Bash中就有这样的工具 <br /><br />
输入 echo {a..z} <br /><br />
扩展应用: <br />
a) 当我们要列出多个目录下的文件时,这能给我们帮助 <br />
ls /path/{dir1, dir2} <br />
b) 当我们要改变多个目录的属主时 <br />
chown /path/{ex?.?*, how_ex} <br /><br />
Q8.如何把一个命令的输出赋值给某一个特定的变量? <br /><br />
使用语句 <br />
var1=$(command) <br />
或者反引号 <br />
var1=`command` <br /><br />
Q9. Bash中如何用快捷键键? <br /><br />
输入 CTRL-W 删除左边文本,直至遇到空格 ( vim 中 dB ) <br />
输入 CTRL-K 删除从光标位置到行尾的文本 (vim 中 d$ ) <br />
输入 CTRL-Y 粘贴剪贴板中的文本至光标位置 (vim 中 p) <br />
输入 CTRL-r或 CTRL-s, 可匹配增量匹配当前的字, 显示出候选的命令.如果有多个匹配 <br />
结果,则输入C-r向后搜索,输入C-s向前搜索. <br /><br />
Q10. 如何让Bash中在sudo/man等命令时也会自动补全命令? <br /><br />
可利用Bash中的Programmable Completion Builtins功能,具体语法见 <br />
INFO BASH :: Command Line Editing :: Programmable Completion <br />
比如要让man 具备自动补全的功能,则这么写 <br />
complete -F _man $filenames man <br /><br />
_man 函数会被执行,请求所有可能补全的值写在COMPREPLY数组中 <br /><br />
Q11. Bash中如何Use Here Document? <br />
使用语法 <br />
VAR=&lt;&lt;"EOF" <br />
Some here document <br />
EOF <br /><br />
注: 详见Bash Info - 3.6.5 Here Documents <br />
- read input from the current source until a line containing only WORD (with no trailing <br />
-blanks) is seen. <br /><br />
Q12. Bash中[[和[有何不同? <br />
[[是复合命令,它可以构成测试用的表达式,表达式可以是bash中的条件表达式的任一种, <br />
单目和双目运算的均可.可以用! &amp;&amp; || 这样的逻辑运算符. <br /><br />
[是内建命令,同样也是用来测试表达式,表达式可以是Bash条件表达式中的任一种. <br />
可以用! -a -o 这样的逻辑运算符. <br />
两者是除了逻辑运算符不同之外,并无明显区别. <br /><br />
About Man/Info <br />
--------------- <br />
Q1.用户手册将命令划分为不同的类别，如何查看分属不同Section的命令? <br /><br />
man 7 locale # 7代表Section 号 <br /><br /><br />
About X <br />
-------- <br />
X1.如何获得系统中所有的字体? <br /><br />
输入指令 xlsfonts <br /><br />
X2. 如何在ssh登录到远程机器上后在本地运行X应用程序? <br /><br />
假设你的本地主机HostA,远程主机HostB,那么你要远程连接到HostB上运行X应用,显示在 <br />
HostA的屏幕上. <br />
1. 配置HostA上 ~/.ssh/config 文件 <br /><br />
Host * <br />
ForwardAgent yes <br />
ForwardX11 yes <br /><br />
ForwardX11Trusted yes <br />
2. ssh HostB <br />
3. 执行X应用程序 <br /><br />
注意:必须在HostA上开通X11的转发而不是HostB. <br /><br />
X3. 如果使用第2个屏幕-投影仪? <br /><br />
在Ubuntu 7.04以上中自动支持投影仪,即插即用,但需要插上VGA的接口,重新启动系统后方可使用 <br />
在Ubuntu 7.10版本接上投影仪后,第2个屏幕无输出,要LOGOUT后才有输出 <br /><br />
About Maintain <br />
-------------- <br />
R1. 目录名字不要包含大写字符,尽量少包含中文字符. <br /><br />
1. 中文文件名在Unix/Linux下不易输入,需要X/输入法的支持. <br />
2. 如果采用Apache的文件访问接口,非Latin字符大多需要URL转义,这对于HTML作者不友好 <br /><br />
R2. 请及时清理一些临时,系统日志文件,减少其对存储空间的占用,也是加快程序运行速度 <br />
1. /tmp <br />
2. /var/log <br /><br />
R3. 不要直接用root用户身份登录系统 <br /><br />
如果你不想让你系统中的重要文件因为你的操作不当在倾刻间消失，那就用吧. <br />
有人用chown命令把整个操作系统中文件的用户/组属性改成了asterisk:asterisk <br />
也有人曾经把/var, /etc两个目录删除,系统必须重装. <br /><br />
R4. 为了有助于确保Web Mail您的密码和帐户的安全，请在每个会话结束时注销帐户。 <br /><br />
About System <br />
------------ <br />
S1. Linux在boot起来之后,先调用/sbin/init,它是其他所有进程的父进程 <br />
1.启动时先运行boot level master script <br />
2.执行硬件初始化脚本 <br />
3.执行run level master script,运行级别定义在/etc/inittab中 <br />
每级的脚本放在/etc/init.d/rc&lt;X&gt;.d中 <br />
4.到最后用户看到的即是mingetty登录界面 <br /><br />
S2. Linux TTY这种用户接口的设计思想 <br />
用户通过本地键盘或者网络 --&gt;命令 --&gt;TTY --&gt;Shell Interpreter <br />
--&gt; Excute Cmd --&gt; Output --&gt; TTY --&gt; 本地内存或者网络 --&gt;显示器输出 <br />
优点: 可以用不同形式的终端登录,比如本地键盘,远程网络,Modem,只有TTY与用户 <br />
之间存在某种连接即可 <br /><br />
S3. Linux如何同一张网卡如何支持多个IP? <br /><br />
1. 配置 虚拟接口 <br />
ifconfig eth0:0 192.168.12.240 <br />
ifconfig eth0:0 netmask 255.255.255.0 <br /><br />
2. 增加一个路由表 <br />
route add -net 192.168.12.0 netmask 255.255.255.0 dev eth0:0 <br /><br />
3. 增加一个缺省的路由表 <br /><br />
route add default gw 192.168.12.168 <br /><br />
S4. 如果Home分区中空间不够,但是/usr分区中留有较大的空间,如何平衡利用这两空间? <br /><br />
目标: 1.通过Home分区文件的形式读写数据 <br />
2.实际的数据确是存储在/usr/分区中 <br /><br />
利用符号链接的方式,在Home分区中建立一个符号链接目录,指向 <br />
ln -s /usr/local/voip ~/project/voip <br /><br />
S5. Apache 使用UserDir模块时,~username形式访问,Apache告之禁止访问? <br /><br />
比如/home/robbie 它具有drwx------属性,必须将它改为 <br />
drwxr-xr-x属性,Apache服务器才可打开用户目录 <br /><br />
S6. 如何添加自定义的全局的初始化动作? <br /><br />
比如要添加这两个别名命令fcc,和fpp统计.c和.cpp源文件数目, <br />
可在/etc/bash.bashrc.local中添加如下脚本 <br />
alias fcc='ll -R | grep "[:alpha:]*[.]c$" | nl |less' <br />
alias fpp='ll -R | grep "[:alpha:]*[.]cpp$" | nl |less' <br /><br />
注: <br />
Linux Kernel 共有7454个源文件 <br /><br />
S7. 如何查看系统中打开某个目录/文件的进程? <br /><br />
fuser -v FILE_TO_LOOK_UP <br /><br />
S8. 如何让普通用户以超级用户身份执行命令,而不需要其输入密码? <br /><br />
配置/etc/sudoers,按照如下方式指定 <br />
asterisk ALL = NOPASSWD: /sbin/shutdown <br />
注: <br />
ALL是代表任何网络主机. <br /><br />
S9. 如何查看Linux系统运行了多长时间? <br /><br />
输入 <br />
uptime <br />
输出 <br />
7:00pm up 3 days 9:49, 11 users, load average: 1.28, 1.29, 1.26 <br /><br />
S10.如何查看Linux系统运行状态信息,比如cpu/内核版本/启动参数/IO口? <br /><br />
cat /proc/* <br /><br />
S11.如何备份文件? <br /><br />
使用cp命令,如 <br /><br />
cp src_files dst_files <br />
注意: <br />
SuSE 9.3 cp 的版本为 5.3.0,对于存在相同文件的覆盖操作,默认动作是覆盖 <br />
Linux robbie 2.6.11.4-20a-default #1 Wed Mar 23 21:52:37 UTC 2005 i686 i686 i386 GNU/Linux <br />
CentOS 分发版 <br />
Linux asterisk1.local 2.6.9-11.EL #1 Wed Jun 8 16:59:52 CDT 2005 i686 i686 i386 GNU/Linux <br />
CentOS SMP的版本 <br />
Linux SVC9000.local 2.6.9-11.ELsmp #1 SMP Wed Jun 8 17:54:20 CDT 2005 i686 i686 i386 GNU/Linux <br /><br />
S12. 如何给系统增加一个路由? <br /><br />
存在如下的一条路由 <br />
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0 <br />
添加一条路由 <br />
route add default 192.168.12.168 <br /><br />
S13. 如何使用NFS? <br /><br />
服务器端设置 (以CentOS为例) <br /><br />
A. 在目标主机上设置NFS 共享目录,修改/etc/exports <br />
增加如下条目: <br />
/mnt/asterisk 192.168.12.0/255.255.255.0(rw) <br />
B. 启动NFS服务 <br />
service nfs start <br />
如果NFS服务已经启动,那么重读exports <br />
exportfs -ra <br /><br />
客户端设置 (2.2.18以上内核内建支持NFS) <br /><br />
手工mount: <br />
mount 192.168.12.238:/mnt/asterisk /path/of/client/nfs <br /><br />
自动mount: <br />
修改 /etc/fstab,增加一条 <br />
192.168.12.238:/mnt/asterisk /path/of/client/nfs nfs rw 0 <br />
然后执行: mount -a -t nfs <br /><br />
注: <br />
1. 缺省,在服务器端的共享目录的访问权限即为mount后的访问权限 <br />
2. nfs服务依赖于portmap,启动nfs前portmap必须先启动 <br /><br />
S14.如何制作一张可以启动的CD-ROM? <br /><br />
1. 你需要具备以下这些文件, isolinux目录以及目录中的内核,配置,Ramdisk镜像等 <br />
可从Redhat安装盘上获得 <br />
2. 将isolinux目录拷贝至你的ISO光盘的根目录 <br />
3. 使用工具mkisofs <br />
mkisofs -o output.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \ <br />
-no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T \ <br />
-input-charset utf-8 /path/of/your/isoroot <br /><br />
参考: <br />
http://syslinux.zytor.com/iso.php <br />
注: <br />
1. 制作SVC ISO文件耗时1m45.494s 43.170s(P4,CentOS 4.1) <br />
2. 可以使用mkisofs将多个redhat安装盘合并为一个dvd的安装盘 <br />
使用到的开关有: -graft-points Psyche-i386-disc1 <br />
溶合的项目有 .discinfo=.discinfo isolinux/=isolinux <br />
RedHat/=shrike-i386-disc2/RedHat RedHat/=shrike-i386-disc3/RedHat <br />
docs/=Psyche-docs <br /><br />
S15. 如何刻录一张CD-R 或者CD-RW? <br /><br />
* 对于CD-R,假设要刻录的是mydata.iso文件,使用 <br /><br />
cdrecord -v speed=4 dev=0,0,0 -data mydata.iso <br />
一般,cdrecord会使用TAO mode for single session模式. <br /><br />
* 对于CD-RW,先要将CD-RW盘的数据内容擦除 <br /><br />
cdrecord -v speed=2 dev=0,0,0 -blank=fast <br />
然后和CD-R一样,再使用刻录指令. <br /><br />
注: <br />
1. 参数dev=0,0,0是刻录设备的地址,可以如下命令得到 <br />
cdrecord -scanbus <br />
2. 需要的话,在dev参数上加 ATAPI指示符,如 <br />
cdrecord -v speed=8 dev=ATAPI:0,0,0 -data boot.iso <br />
3. 一般刻录一张 560M的CD-ROM,需925.050s <br /><br />
S16. 如何在单一终端中执行多个任务,并在任务之间切换? <br /><br />
举例: <br />
A. vim hello.txt 编辑一个文档 <br />
B. 中途用户想退出,查看系统的CPU 运行情况 <br />
按 CTRL-Z,挂起当前vim任务;输入top <br />
C. 用户在top任务中又想看一下硬盘的分区信息 <br />
按 CTRL-Z,挂起当前top任务;输入fdisk /dev/hda <br />
D. 此时当前运行任务为fdisk,挂起的有2个:vim和top <br />
在fdisk中按 CTRL-Z一样挂起它 <br />
输入: jobs -l <br />
系统输出: <br />
[3]+ 21731 Stopped vim hello.txt <br />
[4] 21805 Stopped top <br />
[5]- 21827 Stopped fdisk /dev/hda <br />
[]中的数字代表后台任务编号,你可以根据它在任务间来回切换 <br />
输入 fg 1 或 fg vim 回到vim任务中,继续执行 <br />
输入 fg 2 或 fg top 回到top任务中 <br />
输入 fg 3 或 fg fdisk 回到fdisk任务中 <br /><br />
S17. 如何快速查看Linux系统的分区信息? <br /><br />
输入 fdisk -lu /dev/hdx <br />
可看到指定硬盘设备的分区信息. <br /><br />
S18. 我的FTP服务或者Web服务别人无法访问到? <br /><br />
很可能是你的防火墙做了限制,将你要提供的服务从禁用列表中去除即可. <br /><br />
S19. 软件A依赖于与库B,我安装了B,可A依然提示库B找不到? <br /><br />
有一种可能性,即库B不是装在系统的库文件目录/lib和/usr/lib,譬如安装于 <br />
/usr/local/lib下,这样就找不到 <br />
办法: <br />
1 修改安装路径为/lib <br />
2 或将/usr/local/lib添加到系统库目录中 <br />
* 编辑 /etc/ld.so.conf <br />
加入一行 /usr/local/lib <br />
* 重载库 sudo ldconfig <br /><br />
S20. 某些系统服务如mysql数据库未在启动时加载,如何配置启动时加载? <br /><br />
使用/sbin/chkconfig工具,如下 <br />
/sbin/chkconfig --level 2345 mysql on <br />
就可使mysql服务器在2345级别启动时自动运行 <br /><br />
S21. PHP许多模块未加载,如何加载它们? <br /><br />
修改/etc/php.ini ,比如你要加载session.so,应写为 <br />
extension=session.so <br /><br />
S22. 如何监控系统从开机到出现登录界面所使用的时间以及系统的运行状态? <br /><br />
安装bootchart软件包,之后,每次系统启动完成后会在/var/log/bootchart目录下生成 <br />
监测图,PNG格式的,里面包含着启动耗费时间、每一个服务的起止时间. <br /><br />
S23. Ubuntu下如何支持中文输入? <br /><br />
　　$sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad <br />
　
　$sudo sh -c " echo 'export XMODIFIERS=@im=SCIM ; export 
GTK_IM_MODULE="scim" ; export QT_IM_MODULE="scim" ; scim -d ' &gt; 
/etc/X11/Xsession.d/95xinput " <br />
　　$sudo chmod +755 /etc/X11/Xsession.d/95xinput <br /><br />
　　# 注：在Dapper下省略后两步 <br />
　　#注：在Dapper里也可以直接选择系统－&gt;系统管理—&gt;语言支持（language support）勾选Chinese 就会自动安装和配置scim <br /><br />
　　分解一下看看： <br />
　　安装scim输入法平台 <br /><br />
S24. NFS服务起来后,在客户端mount一直提示"mount: RPC: Timed out\n"? <br /><br />
表现: <br />
* 查了portmap, nfs都服务端都没有问题 <br />
* showmount -e nfs_server也没有问题 <br />
* 就是在mount -t nfs nfs_server:/path /local/path时出"mount: RPC: Timed out\n"的错误 <br /><br />
解决: 路由可能是原因 <br />
出现这种问题,在查遍了许多文章还没有结果的情况下,请查一下服务器的网络配置,特别小心多网卡 <br />
情况下的路由,如果你的缺省路由类似这样 <br />
default 220.250.26.1 0.0.0.0 UG 0 0 0 eth1 <br />
那么很可能路由是罪魁祸首. <br /><br />
S25. 双网卡如何共享网络连接? <br /><br />
参考 nat.sh <br /><br />
S26. 如何解决SCIM和Open Office不兼容,导致Open Office异常退出的问题? <br /><br />
问题描述 <br />
1.系统环境中设置了scim为输入法 <br />
export GTK_IM_MODULE=scim <br />
export QT_IM_MODULE=scim <br />
2.在KDE应用比如Konsole中可以正常输入中文,但打开open office却异常退出, <br />
打开其它应用Mozilla Thunderbird,也是异常退出 <br /><br />
这里也有描述 https://bugs.launchpad.net/openoffice/+bug/103079 <br />
原因 <br />
scim与GTK2的应用程序存在二进制的兼容性问题,scim是c++语言实现的,而gtk2 <br />
应用比如openoffice, moizlla Thunderbird是采用C语言实现的,在加载输入法 <br />
时会导致应用程序内存分配错误. <br /><br />
解决办法 <br />
1. 安装scim-bridge模块 <br />
http://www.scim-im.org/projects/scim_bridge <br />
2. 修改GTK应用程序的输入法配置 <br />
export GTK_IM_MODULE=scim-bridge <br />
3. 登出桌面系统,再登录,即可正常打开ooffice <br /><br />
About Toolkit <br />
------------- <br />
T1. 使用grep查找.gz文件中包含特定字符串的行? <br />
举例,有个文件,ls-lrR.txt.gz, 待查找的字符串为开头为rms,结尾为ogg的文件,可以用下列方式 <br />
gunzip -c ls-lrR.txt.gz | grep 'rms-.*ogg' <br />
注: *NIX环境下, .可代表任何字符, *代表任意匹配,+代表至少出现1次,?代表至多出现1次 <br /><br />
T2. Windows 2000运行有telnet服务,这样可以使用linux的konsole/或者其他终端模拟器连接windows主机. <br /><br />
telnet pc.window.address <br /><br />
T3. 如何查看PDF/ps格式的文档? <br /><br />
gs ps_file_name3 <br />
gs pdf_file_name <br /><br />
Note: gs is PostScript and PDF language interpreter and previewer <br /><br />
T4. 如何跟踪IP报文的路径? <br /><br />
Linux下,输入traceroute HOST_NAME|IP <br />
Win32下,输入tracert HOST_NAME|IP <br /><br />
T5. 如何查看内核的路由表? <br /><br />
Linux下,输入/sbin/route <br />
Win32下,输入route PRINT <br /><br />
T6. 如何内核中的网络接口卡的物理地址? <br /><br />
Linux下,输入/sbin/arp <br />
Win32下,输入 arp -a <br /><br />
T7. 如何实现按1个快捷键即输入"年-月-日 星期x"? <br /><br />
可以使用map命令,将某一个快捷键变为命令输入 <br />
参考:map &lt;F2&gt; ggA&lt;C-R&gt;=strftime("%Y-%m-%d %A")&lt;CR&gt;&lt;Esc&gt; <br /><br />
T8. 如何使用Shell工具链统计一个目录下所有.c的原文件数目? <br /><br />
分析:.c原文件的特征是以.c字符为结尾,可以使用正则表达是[.]c表示 <br />
ll -R | grep "[:alpha:]*[.]c$" | nl |less <br />
正则表达式 ([0-9]{5,}) 代表由5位数字构成的单词,()是单词控制字符 <br /><br />
T9. 如何高效的使用FTP客户端工具? <br /><br />
lftp 工具可以完美的支持,它支持提前信息获取,Tab目录或文件补齐. <br />
lftp 支持下载进度指示,%形式,下载速率. <br />
lftp 支持断线后自动恢复连接. <br />
lftp 在绝大多数Linux分发版中都有安装. <br /><br />
T10. SSH远程登录工具,认证过程解析? <br /><br />
* 客户登录到远程主机,必须提供identity <br />
* SSH服务器认证这个identity <br />
* Host Key 和 Public Key的关系 <br />
* Challenge = a random number, encrypted by user's public key <br /><br />
T11. 如何快速的执行计算命令? <br /><br />
比如,计算硬盘的大小,BLOCK数18335302,每个BLOCK为512字节 <br />
echo "512*18335302" | bc <br /><br />
T12. vsftpd/wu-ftpd如何启用匿名ftp服务? <br /><br />
对于vsftpd,编辑/etc/vsftpd.conf,确认开关 <br />
anonymous_enable=YES <br />
注: <br />
1. 匿名ftp用户登录所见目录对应于系统中ftp用户的HOME目录,一般为/var/ftp,可变更 <br />
2. ftp用户的HOME目录owner:group要设为root:root,用户才通过匿名访问,否则有500错误 <br /><br />
T13. 如何快速得到文件系统中各个目录对硬盘的占用情况? <br /><br />
在根目录下输入 du -h --max-depth=1 <br /><br />
T14. 如何快速查看指定的man文件? <br /><br />
输入 man -l /path/of/your/man/file <br /><br />
T15. 如何查看一个IP段范围内的IP地址与前缀? <br /><br />
利用 ipcount命令,比如查看起始地址为 192.168.3.2 <br />
数量为100的所有ip地址前缀 <br />
输入 <br />
ipcount 192.168.3.2+100 <br /><br />
T16. VsFtpd服务器登录时,每个文件的owner和group都显示为ftp, <br />
因为权限受限,无法上传,怎么办? <br /><br />
编辑/etc/vsftpd.conff <br />
设置 hide_ids=NO <br /><br />
T17. Lynx文本浏览器如何实现文本行的滚动? <br /><br />
输入 CTRL-N 向下翻动两行 <br />
输入 CTRL-P 向上翻动两行 <br /><br />
T18. 如何抓取网络接口中传输的数据报文? <br /><br />
tcpdump -i interface <br /><br />
T19. 如何查看一台主机的IP地址? <br /><br />
host name 即可查看name对应的IP地址 <br /><br />
T20. 如何启用NAT? <br /><br />
192.168.3.0/24局域网主机通过WAN连接网络 <br /><br />
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to 218.67.79.7 <br />
echo 1 &gt; /proc/sys/net/ipv4/ip_forward <br /><br />
T21. 如何在命令行下查看word文档? <br /><br />
安装antiword这个工具包,输入 <br />
antiword wordfile <br />
这个工具就会将word文档内容输出到标准输出。 <br /><br />
注: <br />
可以使用mc这个外包shell调用antiword,即通过查看功能 <br /><br />
T22. 如何快速的排序一个文本文件? <br /><br />
执行 <br />
sort -u unsortedfile -o sortedfile <br /><br />
T23. 如何给源代码打上patch? <br /><br />
举例,给vsftpd服务器源码打上补丁 <br />
cd vsftpd-2.0.1 <br />
patch -p1 -b &lt; patchfile <br />
开关说明: <br />
-p1 表示patch中必须去除一级目录前缀 <br />
-b 表示patch前备份原始文件 <br /><br />
T24. 如何生成补丁文件? <br /><br />
假设有文件origfile,经过修改变为destfile <br />
那么如何根据origfile和destfile的区别生成补丁呢? <br />
diff -u origfile destfile &gt; patchfile <br /><br />
如果是两个目录进行比较,那么需要使用 <br />
diff -urN origdir destdir &gt; patchfile <br /><br />
注意: -N选项视新文件为空文件 <br /><br />
T25. 如何通过http协议访问svn仓库? <br /><br />
使用apache2, 加载mod_dav.so和mod_dav_svn.so两个模块 <br />
假设你的svn仓库父目录为/srv/svnroot,如下配置即可 <br />
&lt;Location /svn&gt; <br />
DAV svn <br />
SVNParentPath /srv/svnroot <br />
&lt;/Location&gt; <br />
重启apache2,使用svn co http://localhost/svn/repos 即可checkout仓库repos中的文件 <br /><br />
注意: <br />
1. 如果无法通过http commit,报告这样的错误 <br />
svn: Can't open activity db: APR does not understand this error code <br />
需要将/srv/svnroot/repos/dav目录的访问权限改写为0777 <br />
2. 如果提示对“%$s”的方法 %$s 失败: 403 Forbidden (http://localhost)错误 <br />
则查看apache2的error.log,并确认dav_svn的配置中 <br />
LimitExcept GET PROPFIND OPTIONS REPORT是被注释掉的 <br />
3. 如果需要限制用安全链接访问版本库,则在Location配置选项中加入 <br />
SSLRequireSSL <br /><br />
T26. 如何启用Apache的https安全协议? <br /><br />
参考资料: <br />
* SSL Certificates HOWTO <br />
* Linux Apache SSL PHP/FI frontpage mini-HOWTO <br />
* svn-book.pdf R1876 <br />
* Professional LAMP - Linux, Apache, MySQL, &amp; PHP5 Web Development 2006.pdf <br />
1. 编译或者下载apache2 的mod_ssl.so模块 <br />
2. 使用openssl的工具生成供您的站点使用的服务器证书和服务器公私钥 <br />
利用openssl库提供的工具CA.pl,位于/usr/lib/ssl/misc. 这里讲述自身构建CA,然 <br />
后用该CA来签名证书的过程,当然也可以提交给其他CA机构来签名认证 <br /><br />
2.1 先生成CA以及相关的文件 <br />
$ CA.pl -newca <br />
按照命令提示,依次输入CA的私钥密码\Country Name\Province Name\Locality Name <br />
\Organization Name\Unit Name\Common Name\Email Address\A challenge password\ <br />
optional company name, 提示A challenge password\optional company name可以不 <br />
填.最后因为CA需要给自己签发证书,所以还得填些最开始时输入的CA的私钥密码. <br />
在当前目录下会生成demoCA的目录,内含若干文件 <br /><br />
2.2 再生成证书申请文件 <br />
$ CA.pl -newreq <br />
按照命令提示,依次输入待申请证书的私钥密码\Country Name\Province Name\ <br />
Locality Name\Organization Name\Unit Name\Common Name\Email Address\ <br />
A challenge password\optional company name,最后两项亦可不填. <br />
在当前目录下会生成证书申请文件newreq.pem和私钥文件newkey.pem <br /><br />
2.3 再用2.1步生成的CA为申请文件签名,生成证书 <br />
$ CA.pl -sign <br />
按照命令提示,输入CA的私钥密码并确认签名,并提交到CA的签名数据库中,得到签名后的 <br />
证书文件newcert.pem <br /><br />
2.4 裁减证书,去除证书的私钥密码 <br /><br />
证书只需要包含机器可读的部分,此外文字描述部分可以去掉,方法如下 <br />
$ openssl x509 -in newcert.pem -out www.crt <br />
证书的私钥提供给Apache使用,要求去除私钥的密码,方法如下 <br />
$ openssl rsa -in newkey.pem -out wwwkey.pem <br />
该命令需要输入私钥密码,之后生成的私钥wwwkey.pem中就剥去密码了 <br />
3. 配置apache2,使用签名的证书www.crt与私钥wwwkey.pem <br />
添加对443端口的侦听 <br />
Listen 443 https <br />
加载mod_ssl.so模块 <br />
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so <br />
配置https的虚拟服务器 <br />
NameVirtualHost *:443 <br />
&lt;VirtualHost _default_:443&gt; <br />
ServerAdmin webmaster@localhost <br /><br />
SSLCertificateFile /etc/apache2/ssl/www.crt <br />
SSLCertificateKeyFile /etc/apache2/ssl/wwwkey.pem <br /><br />
SSLEngine On <br /><br />
DocumentRoot /var/www/ <br />
&lt;Directory /&gt; <br />
Options FollowSymLinks <br />
AllowOverride None <br />
&lt;/Directory&gt; <br />
&lt;Directory /var/www/&gt; <br />
Options Indexes FollowSymLinks MultiViews <br />
AllowOverride None <br />
Order allow,deny <br />
allow from all <br />
# This directive allows us to have apache2's default start page <br />
# in /apache2-default/, but still have / go to the right place <br />
#RedirectMatch ^/$ /apache2-default/ <br />
&lt;/Directory&gt; <br />
ErrorLog /var/log/apache2/error.log <br />
&lt;/VirtualHost&gt; <br />
注意: <br />
* NameVirtualHost *:443 后面要带上443这个端口,普通80端口的VirtualHost要写为 <br />
NameVirtualHost *:80 <br />
* VirtualHost总配置选现中写为 _default_:443,表示侦听任何网络接口上的443端口 <br />
* 如果先前80端口的站点配置为 VirtualHost *,将它改写为VirtualHost _default_:80 <br />
* SSLCertificateFile 指向证书文件的路径 <br />
* SSLCertificateKeyFile 指向证书对应的私钥文件路径 <br />
重新启动apache2,使用curl测试 <br />
curl https://localhost/ <br />
* SSLEngine On 启用ssl连接 <br /><br />
T27. VMWare Guest操作系统中时钟总是不准确,比如Guest OS为WinXP,时钟总是比Host OS要慢? <br /><br />
安装vmware tools套件,然后复选Time synchronization between the virtual machine <br />
and the host operating system <br />
对于win, 在VMWare Workstation中选择Install VMware Tools,然后在Guest Win OS中会自动 <br />
出现虚拟驱动器,打开可以看到安装程序 <br />
对于lin, 在VMWare Workstation中选择Install VMware Tools,然后在Guest Lin OS中会出现 <br />
/dev/hdc设备,将此文件自动挂载,即可实现 <br /><br />
T28. 在更新Linux Kernel后,VMWare无法使用了? <br /><br />
Ubuntu的内核更新到2.6.20-16-386之后,VMWare Workstation活VMWare Player都无法使用了, <br />
需要重新编译内核模块vmnet 和vmmon,使用vmvmware-config.pl工具,但这个工具依赖于内核 <br />
版本, <br /><br />
1. 下载vmware-any-any-update110.tar.gz <br />
http://knihovny.cvut.cz/ftp/pub/vmware/ <br /><br />
2. 解压,运行runme.pl,程序会自动重新编译vm内核模块 <br />
3. 再运行VMWare Workstation 或 VMWare Player OK <br /><br />
T29. VMWare如何使用远程管理接口,如果自动运行客户操作系统? <br /><br />
安装VMWare Server ,当前版本为1.0.2, 它即可桌为虚拟机服务器,自动运行客户操作系, <br />
通过网络从远程开启,关闭,操作客户操作系统. <br /><br />
提示: VMWare Server Console的注册序列号 <br />
9AXPN-Y0QD0-24K7M-40K0M <br />
98WMH-Y2PF1-2F7EM-4022D <br /><br />
注意: 1.0.2版本有个小BUG,GUEST OS通过网络访问HOST OS上资源速度很慢,有时还达不到 <br />
1K/s,但HOST OS访问GUEST OS上的速度正常,比如GUEST OS为win,开放文件共享,从HOST OS <br />
Ubuntu上Copy共享文件,速度正常. <br /><br />
T30. 如何创建临时文件,而保证文件名不重复? <br /><br />
Bash中执行 mktemp 可以得到文件名 <br /><br />
或者 <br /><br />
通过&lt;stdlib.h&gt;中调用用户接口 <br />
char *mktemp(char *template); <br /><br />
T31. 使用wget下载html文件中的所有链接文件? <br /><br />
可以通过wget的递归下载功能,如下 <br /><br />
wget -r -l 1 http://www.sipfoundry.org/pub/sipX/3.6/CentOS/4/RPM/ <br />
说明: <br />
-r 代表递归下载 <br />
-l num 代表递归的深度 <br />
-p 代表仅下载页面必要的元素 <br /><br />
T32. 如何创建一个tap接口供虚拟机VirtualBox使用? <br /><br />
对Debian/Ubuntu系统可参考VirtualBox的User Manual <br /><br />
1. 配置tap0接口,在/etc/network/interfaces文件中增加 <br />
auto tap0 <br />
iface tap0 inet manual <br />
up ifconfig $IFACE 0.0.0.0 up <br />
down ifconfig $IFACE down <br />
tunctl_user robbie <br /><br />
T33. 如何在linux下打开中文window下用zip压缩的文件? <br />
使用unzip,但是要加上编码的选项-O <br /><br />
unzip -O cp936 zip_file_name <br />
说明: <br />
cp936是中文windows的默认编码 <br /><br />
About Development <br />
----------------- <br />
D1. Makefile中的.PHONY目标有什么作用? <br /><br />
写法 <br />
.PHONY: TARGET <br />
它让.PHONY依赖的目标TARGET都能执行它的规则,而不关TARGET文件是否存在.<br /><br />http://blog.csdn.net/dadoneo/archive/2010/10/25/5965088.aspx<br /><img src ="http://www.blogjava.net/leekiang/aggbug/342474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-07 02:05 <a href="http://www.blogjava.net/leekiang/archive/2011/01/07/342474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu10.10下rails2.3.X和redmine1.0.X安装记录</title><link>http://www.blogjava.net/leekiang/archive/2011/01/06/342392.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 05 Jan 2011 17:40:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/06/342392.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342392.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/06/342392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342392.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342392.html</trackback:ping><description><![CDATA[1，sudo apt-get install ruby-full，<br />     安装后执行ruby -v，显示“ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]“<br />     查了一下（用的命令是locate ruby），安装到了/usr/lib/ruby/1.8目录，但哪些位置还有ruby的文件未知。<br />     注意：不需要再手动把ruby路径加到PATH，因为已经加好了，见/usr/bin<br />2，sudo apt-get install rubygems<br />     执行gem -v，显示“1.3.7”<br />     注意：据说ruby1.9自带gem。<br />3，gem install rails -v=2.3.5<br />     发现会自动安装rake-0.8.7，原来rake是rails自带的东西。<br />     会自动安装到/var/lib/gems/1.8/gems目录下。<br />     但在命令行下，rails -v仍然报错："程序 rails 尚未安装"。
	
	<div>
		     改正：在用户的 .bashrc文件中追加export PATH=/var/lib/gems/1.8/bin:$PATH<br />     感谢<a href="http://oyaji.is-programmer.com/posts/23323.html">这篇文章</a>，也可看一下<a href="http://www.grick.net/archives/785">这篇</a><br />     后注：应该加到全局环境变量里，因为有的命令，如rake，需要root用户执行<br /></div><br /><br />4，下载redmine1.0.5，解压，用netbeans6.9.1导入项目时提示缺少i18n，<br />     按照提示，在root下执行gem install -v=0.4.2 i18n<br />5，<br />把database.yml.example改为database.yml<br />在每种环境下都加属性socket: /var/run/mysqld/mysqld.sock，为什么<br /><br />6，解决mysql乱码问题<br /><span><span>sudo  gedit  /etc/mysql/my.cnf</span></span><br />在[client]区域和[mysqld]区域都添加一行：<br />default-character-set = utf8<br />然后重启：<span><span>sudo /etc/init.d/mysql restart <br />可通过show variables like 'character%'命令查看修改前后的变化。<br />参考<br />http://jiessiedyh.javaeye.com/blog/468338<br /></span></span><a href="http://forum.ubuntu.org.cn/viewtopic.php?t=204749">有人</a>提到[mysqld]的skip-character-set-client-handshake属性<br /><br />7，mysql驱动<br />执行gem install mysql，报<br />Building native extensions.  This could take a while...<br />ERROR:  Error installing mysql:<br />ERROR: Failed to build gem native extension.<br />解决：因为找不到mysql_config造成的，只要安装“libmysqlclient15-dev”就可以了sudo apt-get install libmysqlclient15-dev<br /><br />8，"A key is required to write a cookie containing the session data. Use config.action_controller.session = {:key =&gt; "_myapp_session", :secret =&gt; "some secret phrase"} in config/environment.rb"<br />please do as the suggestion, add following config to enviroment.rb file:<br />config.action_controller.session = { :key =&gt; "_redmine_session", :secret =&gt; "aa3be4f950045ce76451b8197bf06b6d" }<br /><br />在typo上执行“刷新任务”时，报错：Rake aborted! Uninitialized constant bundler ，搜索后执行gem install bundler，再执行“刷新任务”，提示执行“bundle install”，但在控制台里报没有这个命令。bundler是rails3出来的新东西？<br /><br /><br />参考:<br /><a href="http://blog.csdn.net/cnvisual/archive/2010/11/10/5999310.aspx">在 Ubuntu 10.10下搭建ror（ruby on rails）开发环境</a><br /><a href="http://hot88zh.javaeye.com/blog/368597">在debian(ubuntu)上建立Ruby on Rails的开发环境step by step</a><br /><a href="http://blog.sina.com.cn/s/blog_6e7e30330100odq8.html">Ubuntu下搭建Redmine</a><br /><a href="http://www.ylmf.net/ubuntu/tips/2010123019340.html">Ubuntu 10.04上搭建Ruby on Rails环境</a><br /><a href="http://forum.ubuntu.org.cn/viewtopic.php?f=63&amp;t=72569">Ubuntu下一步安装ruby on rails环境的脚本</a><br /><a href="http://blog.chinaunix.net/u/18377/showart.php?id=1988046">Ubuntu8.10下使用mysql数据库方式安装Redmine</a><br /><a href="http://code.google.com/p/cloudcomputer/wiki/Redmine">Redmine在Ubuntu10.04上的安装配置</a><br /><a href="http://www.linuxidc.com/Linux/2010-07/27075.htm">Ubuntu 10.04默认安装Redmine注意事项</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/342392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-06 01:40 <a href="http://www.blogjava.net/leekiang/archive/2011/01/06/342392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>虚拟机ubuntu的网络设置</title><link>http://www.blogjava.net/leekiang/archive/2011/01/05/342327.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 04 Jan 2011 21:10:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/05/342327.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342327.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/05/342327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342327.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342327.html</trackback:ping><description><![CDATA[环境：xp+vmware7.1.3+ubuntu10<br />常见的网络配置有两种：<br />1，Bridged方式，即桥接方式<br /><br /><br />2，NAT方式<br /><br /><br /><br />NAT方式下有时候上不了网，在ubuntu运行ping www.163.com报错：ping: unknown host www.163.com<br />解决：gedit /etc/resolv.conf，<br /> 加一行nameserver 192.168.0.1，此ip为主机的DNS。<br />好像有时候管用，要等很久。但只要一重启ubuntu，新加的这一行没有了。<br /><br />不过上网的事情搞的很郁闷，Ubuntu不知道怎么每次重新启动都会把我的eth0的配置改成auto，即使是改了/etc/network
/interfaces也不起作用，后来只好换了一种方法，另外添加了一个eth1的配置，这样子就不会被系统改动了。不过改的过程中一不小心注释掉了
“iface lo inet 
loopback”，导致我可以ping通给这个机器指定的ip，却始终不能ping通localhost（127.0.0.1），外面机器也无法
ping通这个Ubutntu的ip，不过“sudo ifconfig lo 127.0.0.1 up”一下就好了～  <a target="_blank" href="http://fdream.net/blog/article/639.aspx">出处</a><br /><br /><a href="http://www.dayu.name/p/547.html"><br />VMware三种网络模式根本区别：Bridged &amp; NAT &amp; Host-Only</a><br /><a href="http://hi.baidu.com/xzp19841203/blog/item/a7f7d02601b50408908f9d33.html">虚拟机Vmware下 linux上网设置 (bridged NAT 方式) +图</a><br />http://www.linuxdiyf.com/viewarticle.php?id=81538<br /><img src ="http://www.blogjava.net/leekiang/aggbug/342327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-05 05:10 <a href="http://www.blogjava.net/leekiang/archive/2011/01/05/342327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu高仿MAC界面 </title><link>http://www.blogjava.net/leekiang/archive/2011/01/04/342237.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 03 Jan 2011 16:54:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/04/342237.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342237.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/04/342237.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342237.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342237.html</trackback:ping><description><![CDATA[首先要启动窗口混合特效，Compiz Fusion或是metacity。<br />metacity的设置如下：<br />ALT-F2打开运行程序窗口，输入gconf-editor，导航到Apps-&gt;metacity-&gt;general，并选中compositing_manager<br /><br /><div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(128, 0, 0);">sudo add-apt-repository ppa:docky-core/ppa<br />sudo apt-get update<br />sudo apt-get install docky</span></div><br />应用程序-&gt;附件-&gt;docky<br />系统-&gt;首选项-&gt;外观-&gt;主题，然后选择"清爽"主题，勾选顶部和底部的面板的“显示隐藏按钮”属性。<br />暂时没有安装其他主题。<br /><br />参考：<br /><a href="http://www.qings.com/web/index.php/blogs/study/602-ubuntumac">Ubuntu高仿MAC界面</a><br /><a href="http://do.davebsd.com/wiki/Docky">Docky官方wiki</a><br /><a href="http://hi.baidu.com/gsps/blog/item/8cd5a031bea6a6a75fdf0ea2.html">Ubuntu 10.10下安装仿Mac OS X主题：Macbuntu</a><br /><a href="http://www.linuxidc.com/Linux/2010-08/27895.htm">Ubuntu 10.04下一键安装Mac OS X主题桌面</a><br /><br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/342237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-04 00:54 <a href="http://www.blogjava.net/leekiang/archive/2011/01/04/342237.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>五大Linux简单命令帮你解决性能问题(转)</title><link>http://www.blogjava.net/leekiang/archive/2011/01/03/342233.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 03 Jan 2011 15:05:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/03/342233.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342233.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/03/342233.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342233.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342233.html</trackback:ping><description><![CDATA[
		<p>管理Linux主机的性能看起来经常象是在变魔术一样。许多管理员在遇到性能问题的时候常常简单化处理，依靠硬件的更新换代，更大的内存和更强的CPU来解决问题。事实上，利用一些简单的命令，可以发现许多管理主机的细节问题并且能迅速而简单地解决性能问题。<span class="displayclass"> </span></p>
		<p>
				<strong>　　一、top</strong>
				<br />
				<br />　　对许多管理员来说，最新学会的就是TOP命令，它可以显示出当前运行的所有内核任务，并且提供了一些主机状态的统计报告。默认地，TOP命令每隔五分钟自动更新一次这个数据（这个更新间隔是可设置的）。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p align="center">
				<br />
		</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　TOP命令的功能丰富到令人难以置信（估计很少有人使用过一半以上的功能）。一般来说你会以‘h’键开始，就是‘help’（说明文档也非常精
彩）。帮助参数可以快速显示出你能从中增加和减去的内容，同时也可以改变排序。你还可以用k来结束进程或者用r标注特别的进程。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　Top命令显示当天的正常运行时间、系统负载、处理器的数量、内存的使用率和哪些进程使用了大多数CPU资源（包括每个进程的大量相关信息，例如在线用户和正在执行的命令等）。</p>
		<p>二、vmstat <span class="displayclass"> </span></p>
		<p>　　Vmstat命令提供给你一个当前CPU、IO、进程和内存使用率的快照。和TOP命令一样，它自动动态刷新，并且可以用下面的命令执行：</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　$ vmstat 10</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　在这里延迟是指两次刷新间隔的以秒为单位的时间，这里是10秒钟。VMSTAT命令会将检查的结果不停刷新显示在屏幕上，直到你用CTRL-C
命令结束它（或者你也可以在执行的时候设置一个限制）。这个持续输出的结果有时候被用来导入到文件中用来分析性能趋势，但是我们将找到更好的方式来做这件
事情，在文章后面的部分会介绍。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p align="center"> 
				<br /><br />　
　第一列显示的是处理器， 
r列是待命的处理器，而b列是休眠的处理器。如果你在这里看到好多个待命的处理器，那说明你可能在某个地方遇到了性能瓶颈。第二列显示的是内存：虚拟的，
空闲的，缓冲和缓存内存。第三列显示的是交换存储以及具体有多少内存在和磁盘做交换。第四列则是I/O信息，显示了块服务接收和发送的块数据信息。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　最后两列显示了系统和CPU相关的信息。系统列显示的是冲突的数量和每秒钟的交换。CPU列是显示了特别有用的信息。每个分列显示了一个CPU时间的百分比。这些分列如下：</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　US：运行用户任务和代码耗费的时间<br />　　SY:运行内核或者系统代码耗费的时间<br />　　ID:空闲时间<br />　　WA:等待IO耗费的时间<br />　　ST:虚拟机占用的时间</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　VMSTAT命令擅长用来查询CPU使用情况，虽然记住每个参数主要取决于持续的监控，因为对CPU进行短时间的观察你可能无法获知CPU真正的问题所在。你需要查看长期的运行趋势来获得一个确切的CPU性能信息。</p>
		<p>三、iostat <span class="displayclass"> </span></p>
		<p>　　我们接下来要讲的命令是IOSTAT。IOSTAT命令(在UBUNTU、红帽和FEDORA系统中都是由SYSSTAT软件包提供的)可以提
供三个报告：CPU使用率、设备使用率和网络文件系统使用率。如果你不加任何参数地运行该命令，它会显示所有这三个报告，你可以通过加参数-c、-d和
－h来单独显示它们中的一种。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p align="center">
				<img src="http://images.enet.com.cn/cimg/2010/0603/c_1275530265_1.jpg" alt="iostat命令" style="cursor: pointer;" id="eWebEditor_TempElement_Img" border="0" />
		</p>
		<p align="left">
				<br />
				<br />　　在上面的图中你可以看到它们中的其中两个报告，第一个是CPU使用率，它将各进程占用的CPU用百分比分类列出来了。你能看到用户进程、系统进程、iowait和空闲时间等信息。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　第二个报告是关于设备使用率，显示了安装在该主机上的每个设备和一些有用的信息，诸如每秒传输量、数据块读写，并且允许你对有性能问题的设备做
标记。你可以通过添加－k或者－m参数来按照千字节或者兆字节显示统计信息，而不是以数据块为单位，这样在某些情况下会更便于查阅和理解。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　最后一个报告，没有截图，显示的信息和上面介绍的设备使用率有点相似，只是对象从附件的设备换成了挂载的网络文件系统。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>
				<strong>　　四、free </strong>
		</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　下一个命令free，可以显示主内存和交换内存的统计量。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p align="center">
				<img src="http://images.enet.com.cn/cimg/2010/0603/c_1275530265_2.jpg" alt="free命令" style="cursor: pointer;" id="eWebEditor_TempElement_Img" border="0" />
				<br />
				<br />　你可以通过添加－t参数来显示总的内存，或者通过添加－b参数和－m参数来用字节数显示（默认情况是用千字节为单位）。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　FREE命令还可以通过使用－s参数来使其以某个间隔时间持续刷新地运行：</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　$ free -s 5</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　这个命令是以每隔5秒钟刷新一次的方式运行FREE命令并输出结果。</p>
		<p>五、sar <span class="displayclass"> </span></p>
		<p>　　象我们见过的许多其它工具一样，我们可以用sar命令来收集、查看和记录服务器的性能数据。它比我们见过的任何类似工具都更强大，并且可以收集
和显示长时间段的数据。在红帽和UBUNTU上，它通过SYSSTAT包来安装。让我们从不添加任何参数运行SAR命令开始吧：</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　$ sar</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p align="center">
				<img src="http://images.enet.com.cn/cimg/2010/0603/c_1275530293_1.jpg" alt="sar命令" style="cursor: pointer;" id="eWebEditor_TempElement_Img" border="0" />
		</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　从这里我们可以看到sar命令的基本输出信息，包括CPU统计（每隔10分钟一次的数据和最后的平均数据）。该信息是从一个以24小时为单位不
停收集信息的日统计文件中抓取出来的（这个文件存储在目录/var/log/sa/中，并且被命令为saxx这样的格式，xx代表该数据收集的日期）。另
外它还收集关于内存、设备、网络等的统计信息（例如，通过加－b参数可以查看块设备统计信息，－n采查看网络数据，－r参数看内存使用）。你还可以用－A
参数来查看所有收集的数据。</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　你还可以长时间运行sar命令然后将输出数据导入一个文件中来收集数据。要达到这个效果，需要使用参数－o和一个文件名称，要运行该命令的时间
间隔（记得收集数据会导致性能变差，所以最好确保这个间隔不要太短）和循环的次数－你要记录的间隔次数。如果你不输入循环次数，则sar命令会一直运行下
去，例如：</p>
		<p>
				<span class="displayclass"> </span>
		</p>
		<p>　　$ sar -A -o /var/log/sar/sar.log 600 &gt;/dev/null 2&gt;&amp;1 &amp;</p>
		<p>
				<span class="displayclass">
				</span>
		</p>
		<p>　　这里我们将收集所有数据(-A),记录到文件/var/log/sar/sar.log中，每隔600秒（或者5分钟）收集一次，持续在后台运行。如果接下来我们想要显示这个数据我们可以用sar命令加上-f参数，例如：</p>
		<p>
				<span class="displayclass">
				</span>
		</p>
		<p>　　$ sar -A -f /var/log/sar/sar.log</p>
		<p>
				<span class="displayclass">
				</span>
		</p>
		<p>　　这是一个非常基本的sar命令介绍。用sar命令还可以得到许多很有用的数据，这能使得查看主机性能变得更加方便和有效。我建议你去查看一下sar命令的说明文档从而获得更详细的方法来获得你需要的数据。</p>
		<p>
				<span class="displayclass">
				</span>
		</p>
		<p>　　这这篇文章中，我们看到了5个基本的用在linux主机上管理和查看性能状态的命令工具。除此之外，去看一下其它一些工具如munin和
collected等也是非常值得的，它们不仅收集关于性能的数据，还能查看应用程序和服务等，包括使用你自己的插件等。这些工具都支持增加图形化的输
入，这样可以让你用图形更直观的查看你的数据。</p>
		<p>转自http://www.cnblogs.com/xhjsuccess/archive/2010/06/06/1752602.html<br /></p>
<img src ="http://www.blogjava.net/leekiang/aggbug/342233.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-03 23:05 <a href="http://www.blogjava.net/leekiang/archive/2011/01/03/342233.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Linux服务器上手工释放内存(转)</title><link>http://www.blogjava.net/leekiang/archive/2011/01/03/342222.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 03 Jan 2011 12:03:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/03/342222.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342222.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/03/342222.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342222.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342222.html</trackback:ping><description><![CDATA[
		<p>总有很多朋友对于Linux的内存管理有疑问，而在新版核心中，似乎对这个问题提供了新的解决方法。</p>
		<p>当在Linux下频繁存取文件后，物理内存会很快被用光，当程序结束后，内存不会被正常释放，而是一直作为caching。这个问题，貌似有不少人在问，不过都没有看到有什么很好解决的办法。通过以下方法，可以快速释放你的内存。</p>
		<p>
				<font color="#ff0000">注：不建议在数据库之类的服务器上手动释放内存，有可能造成数据丢失。</font>
		</p>
1.查看内存使用情况    <br />free -m<br />


2.释放内存<br />sync   <br /> echo "1"&gt;/proc/sys/vm/drop_caches<br />

3.查看内存使用情况    <br />free -m<br /><br />转自http://www.gaojinbo.com/%e5%9c%a8linux%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e6%89%8b%e5%b7%a5%e9%87%8a%e6%94%be%e5%86%85%e5%ad%98.html<br /><p></p><img src ="http://www.blogjava.net/leekiang/aggbug/342222.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-03 20:03 <a href="http://www.blogjava.net/leekiang/archive/2011/01/03/342222.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>各个linux版本（Redhat,Debian,Ubuntu,Gentoo,FreeBSD）的比较(转)</title><link>http://www.blogjava.net/leekiang/archive/2011/01/03/342205.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 03 Jan 2011 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/03/342205.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342205.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/03/342205.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342205.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342205.html</trackback:ping><description><![CDATA[
		<p>Linux最早由Linus Benedict Torvalds在1991年开始编写。在这之前，Richard 
Stallman创建了Free Software 
Foundation（FSF）组织以及GNU项目，并不断的编写创建GNU程序（此类程序的许可方式均为GPL: General Public 
License）。在不断的有杰出的程序员和开发者加入到GNU组织中后，便造就了今天我们所看到的Linux，或称GNU/Linux。</p>
		<p>
		</p>
		<p>
Linux 的发行版本可以大体分为两类，一类是商业公司维护的发行版本，一类是社区组织维护的发行版本，前者以著名的Redhat（RHEL）为代表，后者以 Debian为代表。下面介绍一下各个发行版本的特点：</p>
		<p>
		</p>
		<p>
				<strong>Redhat</strong>，应该称为Redhat系列，包括RHEL(Redhat Enterprise 
Linux，也就是所谓的Redhat Advance Server，收费版本)、Fedora 
Core(由原来的Redhat桌面版本发展而来，免费版本)、CentOS(RHEL的社区克隆版本，免费)。Redhat应该说是在国内使用人群最多
的Linux版本，甚至有人将Redhat等同于Linux，而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大，资料非
常多，言下之意就是如果你有什么不明白的地方，很容易找到人来问，而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管
理方式采用的是基于RPM包的YUM包管理方式，包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好，适合于服务器使用，
但是Fedora Core的稳定性较差，最好只用于桌面应用。</p>
		<p>
		</p>
		<p>
				<strong>Debian</strong>，或者称Debian系列，包括Debian和Ubuntu 
等。Debian是社区类Linux的典范，是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian 
Murdock于1993年创建，分为三个版本分支（branch）： stable, testing 和 
unstable。其中，unstable为最新的测试版本，其中包括最新的软件包，但是也有相对较多的bug，适合桌面用户。testing的版本都经
过unstable中的测试，相对较为稳定，也支持了不少新技术（比如SMP等）。而stable一般只用于服务器，上面的软件包大部分都比较过时，但是
稳定和安全性都非常的高。Debian最具特色的是apt-get / 
dpkg包管理方式，其实Redhat的YUM也是在模仿Debian的APT方式，但在二进制文件发行方式中，APT应该是最好的了。Debian的资
料也很丰富，有很多支持的社区，有问题求教也有地方可去:)</p>
		<p>
		</p>
		<p>
				<strong>Ubuntu</strong>严格来说不能算一个独立的发行版本，Ubuntu是基于 
Debian的unstable版本加强而来，可以这么说，Ubuntu就是一个拥有Debian所有的优点，以及自己所加强的优点的近乎完美的 
Linux桌面系统。根据选择的桌面系统不同，有三个版本可供选择，基于Gnome的Ubuntu，基于KDE的Kubuntu以及基于Xfc的 
Xubuntu。特点是界面非常友好，容易上手，对硬件的支持非常全面，是最适合做桌面系统的Linux发行版本。</p>
		<p>
		</p>
		<p>
				<strong>Gentoo</strong>，伟大的 
Gentoo是Linux世界最年轻的发行版本，正因为年轻，所以能吸取在她之前的所有发行版本的优点，这也是Gentoo被称为最完美的Linux发行
版本的原因之一。Gentoo最初由Daniel 
Robbins（FreeBSD的开发者之一）创建，首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识，所以Gentoo拥有媲美 
FreeBSD的广受美誉的ports系统 
——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统，Portage是基于源代码分发的，必须编译后才能运行，对于大型软
件而言比较慢，不过正因为所有软件都是在本地机器编译的，在经过各种定制的编译参数优化后，能将机器的硬件性能发挥到极致。Gentoo是所有Linux
 发行版本里安装最复杂的，但是又是安装完成后最便于管理的版本，也是在相同硬件环境下运行最快的版本。</p>
		<p>
		</p>
		<p>
最后，介绍一下<strong>FreeBSD</strong>，需要强调的是：FreeBSD并不是一个Linux系统！但FreeBSD与
Linux的用户群有相当一部分是重合的，二者支持的硬件环境也比较一致，所采用的软件也比较类似，所以可以将FreeBSD视为一个Linux版本来比
较。FreeBSD拥有两个分支：stable和current。顾名思义，stable是稳定版，而 
current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统，与Gentoo类似，基于源代码分发，必须在本地机器编后后才能运
行，但是Ports系统没有Portage系统使用简便，使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效，是作为服务器操作系统的最佳选
择，但对硬件的支持没有Linux完备，所以并不适合作为桌面系统。</p>
		<p>
		</p>
		<p>
下面给为选择一个Linux发行版本犯愁的朋友一些建议：</p>
		<p>
如果你只是需要一个桌面系统，而且既不想使用盗版，又不想花大量的钱购买商业软件，那么你就需要一款适合桌面使用的Linux发行版本了，如果你不想自己
定制任何东西，不想在系统上浪费太多时间，那么很简单，你就根据自己的爱好在ubuntu、kubuntu以及xubuntu中选一款吧，三者的区别仅仅
是桌面程序的不一样。</p>
		<p>
如果你需要一个桌面系统，而且还想非常灵活的定制自己的Linux系统，想让自己的机器跑得更欢，不介意在Linux系统安装方面浪费一点时间，那么你的唯一选择就是Gentoo，尽情享受Gentoo带来的自由快感吧！</p>
		<p>
如果你需要的是一个服务器系统，而且你已经非常厌烦各种Linux的配置，只是想要一个比较稳定的服务器系统而已，那么你最好的选择就是CentOS了，安装完成后，经过简单的配置就能提供非常稳定的服务了。</p>
		<p>
如果你需要的是一个坚如磐石的非常稳定的服务器系统，那么你的唯一选择就是FreeBSD。</p>
		<p>
如果你需要一个稳定的服务器系统，而且想深入摸索一下Linux的各个方面的知识，想自己定制许多内容，那么我推荐你使用Gentoo。</p>
		<p>转自http://www.it118.org/specials/56d6e494-acb5-403c-8676-f959ae5cf778/098d4e2e-26bc-4e31-a34c-28ff3875af42.htm</p>
		<p>
				<br />
		</p> 对各种操作系统的用户分布方面的概括:<br />　　Mac –&gt; Windows –&gt; Linux–&gt; BSD –&gt; UNIX<br />　　从左边到右边，分别是”使用该OS的人里精通电脑的用户群最少”到”使用该OS的人里精通电脑的用户群最多”的过渡。我们可以看到，Linux的被放置在了中间，而BSD则更接近于右边。许多人会对此有争论，也有些人可能会感觉被冒犯了。但是，个人认为这是一个对”哪些用户使用哪些系统”相当准确的概括。<br />来源：<a href="http://www.linuxeden.com/html/news/20101208/105927.html">FreeBSD与Linux系统十个本质上的区别</a><img src ="http://www.blogjava.net/leekiang/aggbug/342205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-03 17:45 <a href="http://www.blogjava.net/leekiang/archive/2011/01/03/342205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>emacs,vim</title><link>http://www.blogjava.net/leekiang/archive/2011/01/02/342148.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 01 Jan 2011 19:58:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/02/342148.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342148.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/02/342148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342148.html</trackback:ping><description><![CDATA[安装emacs：sudo apt-get install emacs，然后敲入emacs就可以用了。<br />安装vim：sudo apt-get install vim-gnome<br /><br /><br />参考:<br />http://kooyee.javaeye.com/blog/432576<br /><a href="http://www.gtdstudy.com/?p=2634">从Vim到Emacs</a><br /><a href="http://kooyee.javaeye.com/blog/312121">【Linux】vim的用法</a><br /><a href="http://hi.baidu.com/tigercallme/blog/item/a27370fa997c121a6d22ebd7.html">ubuntu上的vim</a><br /><a href="http://jackytang520.javaeye.com/blog/234741">Gvim安装及帮助文档的设置</a><br /><a href="http://cngump.javaeye.com/blog/84573">Vim和插件在Ubuntu</a><br /><br /><a href="http://www.linuxeden.com/html/softuse/20091207/69417.html"><br />GNU的精髓:为什么要学习Emacs</a><br />lisp语言，如果一个程序员学过一两门函数式语言可以更好的理解编程。学了函数语言特别是lisp我感觉彻底了解编程，自我感觉良好：-)。emacs是gnu进化的一环，如果没有研究emacs，知识链就少一环。emacs里面的知识能把linux里面的知识相互验证。<br /><img src ="http://www.blogjava.net/leekiang/aggbug/342148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-02 03:58 <a href="http://www.blogjava.net/leekiang/archive/2011/01/02/342148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下的netbeans</title><link>http://www.blogjava.net/leekiang/archive/2011/01/02/342146.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 01 Jan 2011 19:19:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/01/02/342146.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/342146.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/01/02/342146.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/342146.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/342146.html</trackback:ping><description><![CDATA[先安装好jdk，见前面的博客。<br />下载netbeans<br />sudo chmod +x netbeans-6.9.1-ml-linux.sh<br />./netbeans-6.9.1-ml-linux.sh<br /><img src ="http://www.blogjava.net/leekiang/aggbug/342146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-01-02 03:19 <a href="http://www.blogjava.net/leekiang/archive/2011/01/02/342146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu 10.10 搭建Java运行环境，环境变量</title><link>http://www.blogjava.net/leekiang/archive/2010/12/30/341946.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 29 Dec 2010 18:30:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/12/30/341946.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/341946.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/12/30/341946.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/341946.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/341946.html</trackback:ping><description><![CDATA[
		<h1 class="title_txt">
				<cite class="fav_csdnstylebykimi">
				</cite>
		</h1>
		<div class="blogstory">
				<h2>
						<span style="font-size: medium;">安装Sun JDK</span>
				</h2>
				<p>
						<span style="font-size: medium;">1. 从Oracle官方网站下载最新的Linux版本JDK二进制包。对于Java 6来说，文件名是 jdk-6u23-linux-i586.bin</span>
				</p>
				<p>
						<span style="font-size: medium;">2. 复制下载好的文件到你准备安装JDK的文件目录下。这里我将其放在: </span>
				</p>
				<p>
						<span style="font-size: medium;">    /home/&lt;username&gt;/java/jdk-6u23-linux-i586.bin</span>
				</p>
				<p>
						<span style="font-size: medium;">3. 打开 Terminal，</span>
				</p>
				<p>
						<span style="font-size: medium;">    $ cd /home/&lt;username&gt;/java<br /></span>
				</p>
				<p>
						<span style="font-size: medium;">    $ sudo sh jdk-6u23-linux-i586.bin</span>
				</p>
				<p>
						<span style="font-size: medium;">应该也可以</span>
						<span style="font-size: medium;">$</span> sudo chmod 755 <span style="font-size: medium;"> jdk-6u23-linux-i586.bin，然后</span><span style="font-size: medium;">$ ./jdk-6u23-linux-i586.bin</span></p>
				<p>
						<span style="font-size: medium;">4. JDK会被安装在二进制包所在的同一目录内</span>
				</p>
				<p>
						<span style="font-size: medium;">设置JAVA环境变量<br /></span>
				</p>
				<p>
						<span style="font-size: medium;">方法1：修改/etc/profile文件<br />所有用户都会使用这些环境变量<br />&lt;1&gt;在 shell终端执行命令：gedit /etc/profile<br />&lt;2&gt;在 profile文件末尾加入：<br />JAVA_HOME=/home/&lt;username&gt;/java/jdk1.6.0_23<br />PATH=$JAVA_HOME/bin:$PATH<br />CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar<br />export JAVA_HOME,PATH,CLASSPATH<br />&lt;3&gt;重启系统<br /><br /><br />/etc/profile这个文件，是系统启动是要自动执行的文件，任何一个用户登录系统都会执行这个文件。<br />所以尽量不要去修改这个配置文件。<br />而且如果修改出错，系统可能就起不来了，见"修改了ubuntu的etc/profile文件，系统不能进入了“(http://www.ctochina.net/forum/show/106)<br />/etc/profile会首先执行/etc/profile.d/目录下的所有*.sh文件<br />这也就给我们一个可扩展的思路。<br />如果我们需要配置JDK,那么就在/etc/profile.d/下创建jdk.sh文件<br />如果需要配置oracle,那么就在/etc/profile.d/下创建oracle.sh文件<br />来源:http://www.blogjava.net/zhyiwww/archive/2010/01/29/311240.html<br /><br />方法2：修改.bashrc文件<br />如果你需要给某个用户权限使用这些环境变量，你只需要修改其个人用户主目录下的.bashrc就可以了,而不像第一种方法给所有用户权限。<br />&lt;1&gt;在 shell终端执行命令：gedit /home/&lt;username&gt;/.bashrc<br />&lt;2&gt;在.bashrc文件末尾加入：<br /></span>
						<font color="#0000ff">
								<span style="font-size: medium;">export</span>
								<span style="font-size: medium;"> JAVA_HOME=/home/&lt;username&gt;/java/jdk1.6.0_23<br /></span>
								<span style="font-size: medium;">export</span>
								<span style="font-size: medium;"> PATH=$JAVA_HOME/bin:</span>
						</font>/var/lib/gems/1.8/bin:<font color="#0000ff"><span style="font-size: medium;">$PATH<br /></span><span style="font-size: medium;">export</span></font><span style="font-size: medium;"><font color="#0000ff"> CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar</font><br />&lt;3&gt;重新登录<br /><br />方法3：直接在shell下修改<br />用于在Shell下临时使用，换个Shell即无效<br />export JAVA_HOME=/home/&lt;username&gt;/java/jdk1.6.0_23<br />export CLASSPATH=.:$JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar<br />export PATH=$JAVA_HOME/bin:$PATH<br /><br />注意：<br />&lt;1&gt;Linux下环境变量使用:(冒号)分隔路径，不同于Windows下的；<br />&lt;2&gt;Linux使用(＄+环境变量名)来引用原来变量的值,Windows则是使用%+环境变量名+%.比如＄PATH和%PATH%<br />&lt;3&gt;CLASSPATH中不能存在空格，如Windows下的C:\Documents and Settings\seagar\jdk1.5将是不合法的路径名<br />&lt;4&gt;CLASSPATH中的当前目录"."不能忽略<br />&lt;5&gt;export把环境变量导出为全局变量<br />&lt;6&gt;大小写严格区分<br /><br /><br />测试安装情况<br />1.java -version查看版本号<br />2.使用    编辑器编写一个Java程序<br />(1)#root &gt; gedit Hello.java<br />(2)编写程序<br />public class Hello<br />{<br />     public static void main(String[] args)<br />     {<br />          System.out.println("Hello");<br />     }<br />}<br />3.编译:javac Hello.java<br />4.执行:java Hello <br /></span></p>
				<p>
						<br />
				</p>
				<p>
						<br />
						<span style="font-size: medium;">
						</span>
				</p>
				<p>与环境变量相关的文件可能还会有/etc/bashrc等，不过这是shell变量，是局部的，对于特定的shell器作用。/etc/profile是全局的，适用于所有的shell。<a href="http://linux.chinaitlab.com/administer/737305.html">出处</a></p>
				<p>没搞明白，如果JAVAHOME配置在.bashrc里，那么安装的eclipse使用的是哪个jdk</p>
				<p>我也没搞明白什么时候用<span style="font-size: medium;">export，什么时候不用</span></p>
				<p>
						<br />
				</p>
				<p>查看当前用户的环境变量的命令:env</p>
				<p>
						<br />
				</p>
				<p>在<font face="AR PL ShanHeiSun Uni, serif">Ubuntu</font>中有如下几个文件可以设置环境变量<font face="AR PL ShanHeiSun Uni, serif"><br />1</font>、<font face="AR PL ShanHeiSun Uni, serif">/etc/profile:</font>在登录时<font face="AR PL ShanHeiSun Uni, serif">,</font>操作系统定制用户环境时使用的第一个文件<font face="AR PL ShanHeiSun Uni, serif">,</font>此文件为系统的每个用户设置环境信息<font face="AR PL ShanHeiSun Uni, serif">,</font>当用户第一次登录时<font face="AR PL ShanHeiSun Uni, serif">,</font>该文件被执行。<font face="AR PL ShanHeiSun Uni, serif"><br />2</font>、<font face="AR PL ShanHeiSun Uni, serif">/etc/environment:</font>在登录时操作系统使用的第二个文件<font face="AR PL ShanHeiSun Uni, serif">,</font>系统在读取你自己的<font face="AR PL ShanHeiSun Uni, serif">profile</font>前<font face="AR PL ShanHeiSun Uni, serif">,</font>设置环境文件的环境变量。<font face="AR PL ShanHeiSun Uni, serif"><br />3</font>、<font face="AR PL ShanHeiSun Uni, serif">~/.bash_profile:</font>在登录时用到的第三个文件是<font face="AR PL ShanHeiSun Uni, serif">.profile</font>文件<font face="AR PL ShanHeiSun Uni, serif">,</font>每个用户都可使用该文件输入专用于自己使用的<font face="AR PL ShanHeiSun Uni, serif">shell</font>信息<font face="AR PL ShanHeiSun Uni, serif">,</font>当用户登录时<font face="AR PL ShanHeiSun Uni, serif">,</font>该 文件仅仅执行一次<font face="AR PL ShanHeiSun Uni, serif">!</font>默认情况下<font face="AR PL ShanHeiSun Uni, serif">,</font>他设置一些环境变游戏量<font face="AR PL ShanHeiSun Uni, serif">,</font>执行用户的<font face="AR PL ShanHeiSun Uni, serif">.bashrc</font>文件。<font face="AR PL ShanHeiSun Uni, serif">/etc/bashrc:</font>为每一个运行<font face="AR PL ShanHeiSun Uni, serif">bash shell</font>的用户执行此文件<font face="AR PL ShanHeiSun Uni, serif">.</font>当<font face="AR PL ShanHeiSun Uni, serif">bash shell</font>被打开时<font face="AR PL ShanHeiSun Uni, serif">,</font>该文件被读取<font face="AR PL ShanHeiSun Uni, serif">.<br />4</font>、<font face="AR PL ShanHeiSun Uni, serif">~/.bashrc:</font>该文件包含专用于你的<font face="AR PL ShanHeiSun Uni, serif">bash shell</font>的<font face="AR PL ShanHeiSun Uni, serif">bash</font>信息<font face="AR PL ShanHeiSun Uni, serif">,</font>当登录时以及每次打开新的<font face="AR PL ShanHeiSun Uni, serif">shell</font>时<font face="AR PL ShanHeiSun Uni, serif">,</font>该该文件被读取。<br />几个环境变量的优先级<font face="AR PL ShanHeiSun Uni, serif">1&gt;2&gt;3。此段摘自<a href="http://blog.csdn.net/xiaosu_521/archive/2008/03/09/2160458.aspx">这里</a></font><br /></p>
				<p>还有<font face="AR PL ShanHeiSun Uni, serif">/etc/bash.bashrc呢</font></p>
				<p>
						<font face="AR PL ShanHeiSun Uni, serif">
								<br />
						</font>
				</p>
				<p>参考:<br /></p>
				<p>http://blog.csdn.net/jeffygn2006/archive/2010/12/17/6081918.aspx<br /></p>
				<p>http://hwhhyh25.javaeye.com/blog/512410<br /></p>http://flysnow.javaeye.com/blog/810083<br />http://konglx.javaeye.com/blog/702965<br /><br /><br /><br /><br /><font face="AR PL ShanHeiSun Uni, serif">/etc/profile改错了，系统起不来怎么办?<br />在启动时按F2，</font>选择recovery mode（一般是第二个选项）<font face="AR PL ShanHeiSun Uni, serif">，然后用root登录<br />执行sudo vi </font><font face="AR PL ShanHeiSun Uni, serif">/etc/profile</font><br />系统提示是修改(E)还是恢复(R)(Recover)等，按R键，系统执行后发现该文档没有变化，暂不管。<br />重新执行<font face="AR PL ShanHeiSun Uni, serif">sudo vi </font><font face="AR PL ShanHeiSun Uni, serif">/etc/profile然后按E键，<br />一路确认到文档最后面<br />按"dd"键删除自己加的那几行，然后按ESC回到命令状态，</font>输入“:wq!”，按Enter键保存退出。<br />最后reboot<br />另外一个<a href="http://forum.ubuntu.org.cn/viewtopic.php?f=65&amp;t=297771">办法</a>：又新建了一个虚拟机，把原来破坏了的虚拟机的硬盘挂载到新建的虚拟机上，把数据倒过来了。<br />用LIVECD启动后也可以改<br />另外可能SSH进去后SU ROOT 再改动<br /><br /><span class="Apple-style-span" style="word-spacing: 0px; font: 16px Simsun; text-transform: none; color: rgb(0, 0, 0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2;"><span class="Apple-style-span">开机狂按ESC进入grub，grub是什么意思<br /></span></span>启动时按住shift键可出现grub的菜单，再进入recovery mode<br /><br />进恢复模式，进入命令行，用vi/vim把你的改动搞回去。如果你原来的的profile文件有备份就简单的cp就可以了。要sudo提权。<br />教训：<br />1、修改配置前先备份；<br />2、一定要学一点纯终端的vi/vim的简单操作；<br />gedit前最好先 sudo cp 一下 把原文件加上.bak后缀<br /><br />gedit好办，会留下~尾巴做备份的。<br />ls /etc  #显示etc文件所有的文件。如果有profile~的话旧执行<br />或者是whereis profile~    #这个事查找profile~文件<br />sudo cp /etc/profile~ /etc/profile #注意空格<br />exit   #退出。<br /><br /><a href="http://forum.ubuntu.org.cn/viewtopic.php?f=77&amp;t=198578">[江湖救急]修改/etc/profile重启后无法进入系统</a><br /><a href="http://www.zhuhuang.com/2010/01/vista-ubuntu-grub/">Vista和Ubuntu双系统引导 – 修改默认启动的操作系统</a><br /><a href="http://hily.me/blog/2006/04/vi-shortcut/">vi编辑器常用的命令及快捷键</a><br /><a href="http://forum.ubuntu.org.cn/viewtopic.php?f=77&amp;t=281796">系统修复 修改/etc/profile后无法进入系统 且所有命令都无法使用</a><br /></div>
<img src ="http://www.blogjava.net/leekiang/aggbug/341946.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-12-30 02:30 <a href="http://www.blogjava.net/leekiang/archive/2010/12/30/341946.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c in ubuntu</title><link>http://www.blogjava.net/leekiang/archive/2010/12/29/341830.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 28 Dec 2010 18:12:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/12/29/341830.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/341830.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/12/29/341830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/341830.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/341830.html</trackback:ping><description><![CDATA[1,sudo apt-get install build-essential<br />2,gedit<br />3,sudo apt-get install devhelp<br />4,hello.c<br />5,gcc hello.c -o hello<br />6,./hello<br /><br />http://blog.csdn.net/dreamer_gz/archive/2009/03/01/3948137.aspx<br />http://hi.baidu.com/jancwh/blog/item/7d41e53c2a4912cf9f3d62b3.html<br /><img src ="http://www.blogjava.net/leekiang/aggbug/341830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-12-29 02:12 <a href="http://www.blogjava.net/leekiang/archive/2010/12/29/341830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Telnet,SSH等</title><link>http://www.blogjava.net/leekiang/archive/2010/11/23/338827.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 23 Nov 2010 08:58:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/11/23/338827.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/338827.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/11/23/338827.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/338827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/338827.html</trackback:ping><description><![CDATA[使用Telnet这个用来访问远程计算机的TCP/IP协议以控制你的网络设备相当于在离开某个建筑时大喊你的用户名和口令。很快会有人进行监听，并且他们会利用你安全意识的缺乏。传统的网络服务程序如：ftp、pop和telnet在本质上都是不安全的，因为它们在网络上用明文传送口令和数据，别有用心的人非常容易就可以截获这些口令和数据。而且，这些服务程序的安全验证方式也是有其弱点的，就是很容易受到“中间人”（man-in-the- middle）这种方式的攻击。所谓“中间人”的攻击方式，就是“中间人”冒充真正的服务器接收你的传给服务器的数据，然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后，就会出现很严重的问题。<br />　　SSH是替代Telnet和其他远程控制台管理应用程序的行业标准。SSH命令是加密的并以几种方式进行保密。<br />　　在使用SSH的时候，一个数字证书将认证客户端(你的工作站)和服务器(你的网络设备)之间的连接，并加密受保护的口令。SSH1使用RSA加密密钥，SSH2使用数字签名算法(DSA)密钥保护连接和认证。加密算法包括Blowfish，数据加密标准(DES)，以及三重DES(3DES)。 SSH保护并且有助于防止欺骗，“中间人”攻击，以及数据包监听。<br />    通过使用SSH把所有传输的数据进行加密，这样“中间人”这种攻击方式就不可能实现了，而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的，所以可以加快传输的速度。SSH有很多功能，它既可以代替telnet，又可以为ftp、pop、甚至ppp提供一个安全的“通道”。<br />    <br />SSH具有下列特性:<br />安全的远程登录<br />安全的文件传输<br />安全的远程执行命令<br />密钥和代理<br />访问控制以及端口转发<br />而这些,都是传统的telnet所不具备的!<br /><br />ubuntu安装ssh：<br />sudo apt-get install openssh-server openssh-client<br />装上直接就开通了ssh服务，就可以远程登录<br /><br /><br />ssl是通讯链路的附加层。可以包含很多协议。https, ftps, .....<br />
ssh只是加密的shell，最初是用来替代telnet的。通过port forward，也可以让其他协议通过ssh的隧道而起到加密的效果。<br />
据我所知，secureFX和cuteftp支持sftp协议。ftprush支持ftp over ssh。flashFXP只支持ftp over ssl(ftps)<br />sftp有特殊的通讯端口和命令集（尽管和ftp命令类似），是和ssh平行的协议。建立连接的部分和ssh类似。一般情况下，带有ssh服务器端，也带有sftp服务（当然，你也可以不开）。<br />
ftp over ssh就是建立连接时使用ssh协议，然后，利用ssh的转发，使用ftp的命令集来传输文件。也就是说，是建立在ssh协议上的ftp.<br /><br />http://linux.chinaunix.net/bbs/viewthread.php?tid=819622<br /><a href="http://hi.baidu.com/zhouq3132/blog/item/766d394e29665ec0d1c86a8f.html">Ubuntu9.04下telnet和ssh服务的启用</a><br /><a href="http://bbs.et8.net/bbs/showthread.php?t=779216">SSL和SSH有什么区别？</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/338827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-11-23 16:58 <a href="http://www.blogjava.net/leekiang/archive/2010/11/23/338827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu下字体</title><link>http://www.blogjava.net/leekiang/archive/2010/11/20/338512.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 19 Nov 2010 17:52:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/11/20/338512.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/338512.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/11/20/338512.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/338512.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/338512.html</trackback:ping><description><![CDATA[
		<p>字体美化<br /></p>
		<p>1、把windows里的Fonts文件夹复制到linux的/home/zhangsan,然后<br /></p>   sudo cp -r /home/zhangsan/Fonts /usr/share/fonts/ms-fonts<br /><br />2、修改ms-fonts权限：sudo chmod 755 /usr/share/fonts/ms-fonts -R<br /><p>3、</p><p>cd /usr/share/fonts<br />sudo mkfontdir<br />sudo mkfontscale<br />sudo fc-cache -fv</p> 4 修改设置  系统-&gt;首选项-&gt;外观-&gt;字体<br /> firefox-&gt;编辑-&gt;首选项-&gt;内容<br /><br /> http://www.fwolf.com/blog/post/170<br />http://forum.ubuntu.org.cn/viewtopic.php?t=19841<br />http://wenku.baidu.com/view/d462f1ec0975f46527d3e1fd.html<br /><br />ubuntu10.10如何设置为中文显示：<br />System&gt;Administration&gt;Language Support <br />点击install，从列表里选择简体中文，系统会下载几十M的文件，然后重启<br />在登录界面里点击用户名，在屏幕下方有选择语言的设置，修改为中文。<br />这样出现一个新问题：更新管理器暂时不能用了，后来莫名其妙又好了。<br /><br />参考:<br /><a href="http://blog.chinaunix.net/u3/116505/showart.php?id=2270185">xp字体安装</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/338512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-11-20 01:52 <a href="http://www.blogjava.net/leekiang/archive/2010/11/20/338512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用的linux命令</title><link>http://www.blogjava.net/leekiang/archive/2010/11/20/338510.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 19 Nov 2010 16:33:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/11/20/338510.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/338510.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/11/20/338510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/338510.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/338510.html</trackback:ping><description><![CDATA[1,<br />free -m 查看内存使用状况<br />watch -d free 连续监视内存使用情况<br /><br />2,top<br />查看一个时刻更新的运行进程列表<br />子命令：<br />[q] 退出top<br />[Space] 立即刷新显示<br />[h] 显示帮助屏幕<br />[k] 杀死某进程。你会被提示输入进程 ID 以及要发送给它的信号。<br />[n] 改变要显示的进程数量。你会被提示输入数量。<br />[u] 按用户排序。<br />[M] 根据驻留内存大小（即RES列）进行排序。<br />[P] 按 CPU 用量排序。<br /><br />3,<br />ps ax 显示一个当前系统进程的列表,是在你启用这项命令时正在运行的进程的快照<br /> ps aux 显示当前进程以及它们的所有者<br />ps -ef 以全格式显示当前所有的进程。-e显示所有进程,-f全格式<br /><br />4,<br /><span style="font-family: arial,helvetica,sans-serif;">ls 列出当前目录文件（不包括隐含文件）</span><br /><span style="font-size: medium;"></span><span style="font-family: arial,helvetica,sans-serif;">ls -a 列出当前目录文件（包括隐含文件）</span><br /><span style="font-size: medium;"></span><span style="font-size: medium;"><span style="font-family: arial,helvetica,sans-serif;">ls -l 列出当前目录下文件的详细信息</span></span><br />ls -al 查看目录下所有目录和文件(包括隐藏文件)以及其属性<br /><br />5,<br />df -h 查看硬盘剩余空间<br /><br />6<br />pwd  打印当前工作目录，即print working Directory<br /><br />7<br />查看环境变量，如echo $PATH<br /><br />8, <br />改变用户的密码 sudo passwd USER_NAME<br /><br />9,<br />Tab    自动补全或提示<br />Alt+/  可以补全文件名<br /><br />10,<br />Unix的ipconfig命令：ifconfig<br /><br />11,find，grep，locate<br />grep 强大的文本搜索工具，它能使用正则表达式搜索文本，并把匹配的行打印出来<br />find 在目录结构中搜索文件，并执行指定的操作，它是从指定目录开始分级查找，缺点是速度慢<br />locate 该命令在运行时需要后台索引的数据库作为支撑，在 Ubuntu 中这个数据库文件位于 /var/cache/locate/locatedb。一般来说，这个数据库文件每天是通过 cron 自动更新的。如果不幸没有得到更新，那么可以执行 <code>sudo updatedb</code> 来手动更新<br />whereis 查看命令所在路径，如whereis find<br /><br />grep -A n ， 获取匹配行及以下的n行。<br />grep -B n ， 获取匹配行及以上的n行。<br />grep -C n ， 获取匹配行及以上n行和以下n行。<br />grep -n  ， 同 grep -C n<br /><br />12, 查看端口占用，最好在root下执行<br />netstat   -anp   |   grep  8080<br />netstat   -anp   |   grep  mysql<br /><br />13，tail<br />tail -f 持续跟踪文件的变化<br /><br />14，touch<br />touch 1.txt 新建文本，若存在则更改最新时间，但内容不变<br /><br />15，查看连接数<br />netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'<br /><font face="宋体" size="2"><strong><font color="#0000ff">TCP连接状态详解 </font></strong><br />LISTEN：      侦听来自远方的TCP端口的连接请求<br />SYN-SENT：    再发送连接请求后等待匹配的连接请求<br />SYN-RECEIVED：再收到和发送一个连接请求后等待对方对连接请求的确认<br />ESTABLISHED： 代表一个打开的连接<br />FIN-WAIT-1：  等待远程TCP连接中断请求，或先前的连接中断请求的确认<br />FIN-WAIT-2：  从远程TCP等待连接中断请求<br />CLOSE-WAIT：  等待从本地用户发来的连接中断请求<br />CLOSING：     等待远程TCP对连接中断的确认<br />LAST-ACK：    等待原来的发向远程TCP的连接中断请求的确认<br />TIME-WAIT：   等待足够的时间以确保远程TCP接收到连接中断请求的确认<br />CLOSED：      没有任何连接状态</font><br /><br />16<br />ll 列出来的结果详细，有时间，是否可读写等信息 ，象windows里的详细信息。这个命令是一个alias。<br />
ls 只列出文件名或目录名 就象windows里的<span><br /><br />-a 列出目录下的所有文件，包括以 . 开头的隐含文件。</span><span><br />-l 列出文件的详细信息。</span><br />-t 以时间排序。<br />-F 在每个文件名后附上一个字符以说明该文件的类型，“*”表示可执行的普通文件；“/”表示目录；“@”表示符号链接；“|”表示FIFOs；“=”表示套<span>接字(sockets)。</span><span><br />-A 显示除 “.”和“..”外的所有文件。</span><br /><pre><span><font color="#0000f0">只列出子目录</font><br />ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)<br />ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)<br /><br /><font color="#0000f0">计算当前目录下的文件数和目录数</font><br /># ls -l * |grep "^-"|wc -l ---- to count files<br /># ls -l * |grep "^d"|wc -l ----- to count dir</span></pre><font color="#0000f0">显示彩色目录列表</font><br />打开/etc/bashrc, 加入如下一行:<br />alias ls="ls --color"<br />下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:<br /><pre><span>蓝色--&gt;目录<br />绿色--&gt;可执行文件<br />红色--&gt;压缩文件<br />浅蓝色--&gt;链接文件<br />灰色--&gt;其他文件 </span></pre>17,du  df<br />du  即disk <span lang="EN-US">usage</span>，统计目录（或文件）所占磁盘空间的大小<br />du -sh<br /><pre id="best-answer-content" class="reply-text mb10">du 不是显示文件大小,而是显示文件所占用的 block 大小，<br />默认linux系统分区的 block size 是4k,也就是说即使文件只有1个字节，也会占用4k.<br /></pre>http://zhidao.baidu.com/question/139754470.html<br /><br />18,排序命令sort, wc, uniq<br />wc 统计指定文件中的字节数、字数、行数, 并将统计结果显示输出<br />last | grep [a-zA-Z] | grep -v 'wtmp' | wc -l<br /><span class="term_command">cat /etc/man.config | wc</span><br /><br />19, tar  在linux上是常用的打包、压缩、解压缩工具<br />参数： <br />-c ： create 建立压缩档案的参数； <br />-x ： 解压缩压缩档案的参数；<br />-z ： 是否需要用gzip压缩；<br />-v： 压缩的过程中显示档案； <br />-f： 置顶文档名，在f后面立即接文件名，不能再加参数<br /><br />tar -zxvf /home/test.tar.gz  把此文件解压到当前目录<br />tar -cvf /home/www/images.tar /home/www/images  只打包，不压缩<br />tar -zcvf /home/www/images.tar.gz /home/www/images  打包并且以gzip压缩<br /><br />20, <br />rmdir 删除空目录<br />rm -rf /home/test    the r is recursive(递归) and f is force，如果不用-rf，可能就会报错：<br />rm: cannot remove `/home/test': Is a directory<br /><br />21,cp<br />-a    ：相当于 -pdr<br />cp -a /www/test /tmp  复制/www/test这个目录下的所有内容到/tmp底下<br /><br /><a target="_blank" href="http://hi.baidu.com/hahadian68/blog/item/25d31e1e868668fee0fe0b9e.html">linux cp命令介绍</a><br /><br />22,mv 移动或重命名<br />mv a b 将目录a重命名为b<br /><br />30,<br />rsync是类unix系统下的数据镜像备份工具，从软件的命名上就可以看出来了——remote sync<br />需要先安装<br /><br />31,<a target="_blank" href="http://www.cnblogs.com/weiweiqiao99/archive/2010/11/10/1873761.html">Ubuntu中root用户和user用户的相互切换</a><br />sudo su<br />su usr<br /><br />40,traceroute 跟踪路由，与ping -R有区别，见http://baike.baidu.com/view/416531.htm<br />windows下与之对应的是tracert <br /><br /><a target="_blank" href="http://linux.vbird.org/linux_basic/0320bash.php"><br />鸟哥的 Linux 私房菜 第十一章、认识与学习BASH</a><br /><a href="http://kooyee.javaeye.com/blog/418674">Linux Shell脚本编写详解</a><br /><a href="http://wiki.ubuntu.org.cn/UbuntuSkills">Ubuntu 命令技巧</a><br /><a href="http://hi.baidu.com/edelweisszf/blog/item/a6d7eace61c44b35b600c806.html">Ubuntu 学习笔记</a><br />http://soft.chinabyte.com/os/169/11412169.shtml<br />http://dbajun.javaeye.com/blog/135324<br /><br />“man 命令”与“命令 --help"相比，后者的显示结果要友好一些。<br /><img src ="http://www.blogjava.net/leekiang/aggbug/338510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-11-20 00:33 <a href="http://www.blogjava.net/leekiang/archive/2010/11/20/338510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu</title><link>http://www.blogjava.net/leekiang/archive/2010/11/01/336641.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sun, 31 Oct 2010 16:20:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/11/01/336641.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/336641.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/11/01/336641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/336641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/336641.html</trackback:ping><description><![CDATA[ubuntu上安装配置netbeans<br />http://forum.ubuntu.org.cn/viewtopic.php?f=88&amp;t=256293<br /><br /><br />安装mysql<br />http://wiki.ubuntu.org.cn/MySQL<br />http://forum.ubuntu.org.cn/viewtopic.php?p=157127<br /><br />linux常用命令<br />http://linux.chinaitlab.com/special/linuxcom/<br /><br />Ailurus<br />Ailurus is cross-Linux-distribution GPL software. It is a simple 
application installer and GNOME tweaker, which aims at making GNOME 
easier to use.<br />小熊猫 Ailurus 是一个 Linux 增强软件，提供安装好用的软件、调整系统设置、提示 Linux 命令技巧等等贴心的功能。<br />http://code.google.com/p/ailurus/<br />安装:<br />sudo add-apt-repository ppa:ailurus<br />sudo apt-get update<br />sudo apt-get install ailurus<br /><br />安装jedit<br />(1)下载jedit4.3.2install.jar<br />(2)java -jar jedit4.3.2install.jar<br /><br />安装Adobe Reader<br />到官网，默认下载的是AdobeReader_chs-8.1.7-1.i486.rpm，感觉不妥，手动选择下载AdobeReader_chs-8.1.7-1.i386.deb，<br />执行sudo dpkg -i AdobeReader_chs-8.1.7-1.i386.deb，默认会装到 /opt 目录下<br />也可以双击进行安装。<br /><br />ubuntu Tweak是一款专门为Ubuntu（GNOME桌面）准备的配置、调整工具。<br />到<span class="f"><cite><b>ubuntu</b>-<b>tweak</b>.com</cite></span>下载deb文件后双击安装，安装后会出现在应用程序-&gt;系统工具里。<br />感觉Tweak有的功能 Ailurus都有了。<br /><br />还有一些软件可搜索"喀纳斯Ubuntu 10.10 i386中文定制版发布"<br />http://www.douban.com/group/topic/14952403/<br /><img src ="http://www.blogjava.net/leekiang/aggbug/336641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-11-01 00:20 <a href="http://www.blogjava.net/leekiang/archive/2010/11/01/336641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>aix的几个简单命令</title><link>http://www.blogjava.net/leekiang/archive/2009/10/09/297520.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 09 Oct 2009 04:01:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/10/09/297520.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/297520.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/10/09/297520.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/297520.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/297520.html</trackback:ping><description><![CDATA[1． 文件系统是否满<br />方法： df –k 可以以K为单位检查文件系统的使用率。（90%以上，需要调整）<br />2． 检查系统出错日志 使用errpt |more来检查<br />清除现有的log: Errclear 0<br />3． 检查系统合法/非法登陆情况<br />使用Last命令来检查来自登陆的地方。<br />4． 检查系统是否有巨大的Core文件生成<br />使用 find / -name core –print来检查。对Core文件，一般直接删除就可以了。<br />5． 系统性能检查：<br />a) CPU性能：使用Vmstat, topas来检查<br />b) 内存使用情况：也是使用topas, vmstat来检查<br />c) 检查IO平衡使用情况：使用iostat来检查<br />d) 交换空间使用情况：使用lsps –s来检查 <br />   显示交换区的分布信息  lsps -a<br />   <br />6.显示卷信息：<br />lsvg 显示卷的名称<br />lsvg -l rootvg 显示rootvg卷的详细信息 <br /><br /><a target="_blank" href="http://www.ibm.com/developerworks/cn/aix/library/au-aixoracle/?S_TACT=105AGX52&amp;S_CMP=tec-csdn">在AIX中运行Oracle性能方面的技巧和诀窍</a><br /><a target="_blank" href="http://bldmickey.blog.sohu.com/52224567.html">AIX 性能调优 内存篇之四 调优参数</a><br /><a target="_blank" href="http://www.ibm.com/developerworks/cn/aix/library/au-cn-pagingspace/">AIX 中 Paging Space 使用率过高的分析与解决</a><br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/297520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-10-09 12:01 <a href="http://www.blogjava.net/leekiang/archive/2009/10/09/297520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AIX 系统参数配置(转)</title><link>http://www.blogjava.net/leekiang/archive/2009/10/01/297072.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 01 Oct 2009 01:36:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/10/01/297072.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/297072.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/10/01/297072.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/297072.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/297072.html</trackback:ping><description><![CDATA[AIX内核属于动态内核，核心参数基本上可以自动调整，因此当系统安装完毕后,应考虑修改的参数一般如下:<br /><br />一、单机环境<br />1、系统用户的最大登录数maxlogin<br />   maxlogin的具体大小可根据用户数设定，可以通过smitty chlicense命令修改，该参数记录于/etc/security/login.cfg文件，修改在系统重新启动后生效。<br /><br />2、系统用户的limits参数<br />   这些参数位于/etc/security/limits文件中，可以把这些参数设为-1,即无限制，可以用vi 修改/etc/security/limits文件，所有修改在用户重新登录后生效。<br />default:<br />fsize = 2097151    ----》改为-1<br />core = 2097151<br />cpu = -1<br />data = 262144      ----》改为-1<br />rss = 65536<br />stack = 65536<br />nofiles = 2000     <br /><br />3、Paging Space<br />   检查paging space的大小，在物理内存&lt;2G时，应至少设定为物理内存的1.5倍，若物理内存&gt;;2G，可作适当调整。同时在创建paging space时, 应尽量分配在不同的硬盘上，提高其性能。利用smitty chps修改原有paging space的大小或smitty mkps增加一块paging space。<br /><br />4、系统核心参数配置<br /> 利用lsattr -Elsys0 检查maxuproc, minpout, maxpout等参数的大小。maxuproc为每个用户的最大进程数,通常如果系统运行DB2或ORACLE是应将maxuproc调整，Default：128、调整到500，maxuproc增加可以马上起作用，降低需要AIX重起。当应用涉及大量的顺序读写而影响前台程序响应时间时，可考虑将maxpout设为33, minpout设为16，利用smitty chgsys来设置。<br /><br />5、文件系统空间的设定<br />一般来说，系统的文件系统/、/usr、/var、/tmp的使用率不要超过80%，/tmp建议至少为300M，文件系统满可导致系统不能正常工作，尤其是AIX的基本文件系统，如/ (根文件系统)满则会导致用户不能登录。用df 查看。<br /><br /># df -k  (查看AIX的基本文件系统)<br />Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on<br />/dev/hd4            24576      1452   95%     2599    22% /<br />/dev/hd2           614400     28068   96%    22967    15% /usr<br />/dev/hd9var          8192      4540   45%      649    32% /var<br />/dev/hd3           167936    157968    6%       89     1% /tmp<br />/dev/hd1            16384      5332   68%     1402    35% /home<br /><br />利用smitty chfs扩展文件系统的空间。<br /><br />6、激活SSA Fast-Write Cache<br />   利用smitty ssafastw来激活每一个逻辑盘hdiskn的Fast-Write Cache：选择硬盘后，把Enable Fast-Write一项改为Yes后回车即可。<br /><br />7、激活AIO<br />AIO通常只对文件系统起作用，对裸设备没有作用。最大为10X并行磁盘数&lt;80,最小为最大的一半。<br /><br />①、定义系统中的AIO设备<br />smit aio -&gt;; Configure Defined Asynchronous I/O 然后回车执行；<br />②、激活系统中的AIO设备<br />smit aio -&gt;; Change / Show Characteristics of Asynchronous I/O回车出现AIO 配置对话框，将对话框中〔STATE to be configured at system restart〕域选择为“available”，然后回车执行；<br />注：系统会提示只有在重起后才能生效。<br /><br />8、rootvg镜像<br />   因为rootvg损坏系统将无法运行，即使通过备份磁带恢复，也会造成系统停机，因此在磁盘空间充裕的情况下，可考虑对rootvg作镜像，同时在建立rootvg镜像时应尽量使用连接在不同SCSI 上的硬盘以做到负载均衡。利用smitty mirrorvg修改。<br /><br />二、双机环境<br />   在双机环境中，除了考虑上述参数设置外，还需考虑：<br />1、 High water mark for pending write I/Os per file(maxpout) 和Low water mark for pending write I/Os per file<br />   它们缺省值为0，在双机环境中一般应设High water mark为33,Low water mark为24，这两个参数可用smitty chgsys来设置。<br /><br />2、 syncd daemon的数据刷新频率<br />   该值表示刷新内存数据到硬盘的频率，缺省为60，一般可改为20，也可根据实际情况更改。该参数通过vi /sbin/rc.boot更改，其中一行如下：<br />nohup  /usr/sbin/syncd 60 &gt;;/dev/null 2&gt;;&amp;1 &amp; <br />改为：<br />nohup  /usr/sbin/syncd 20 &gt;;/dev/null 2&gt;;&amp;1 &amp;<br /><br />http://www.chinaunix.net/jh/9/64764.html<br />http://blog.sina.com.cn/s/blog_592060b50100e1hu.html<br /><img src ="http://www.blogjava.net/leekiang/aggbug/297072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-10-01 09:36 <a href="http://www.blogjava.net/leekiang/archive/2009/10/01/297072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工具</title><link>http://www.blogjava.net/leekiang/archive/2008/02/22/181513.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 22 Feb 2008 13:46:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/02/22/181513.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/181513.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/02/22/181513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/181513.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/181513.html</trackback:ping><description><![CDATA[1，FileZilla<br />FileZilla is a fast FTP and SFTP client for Windows with a lot of features. FileZilla Server is a reliable FTP server.<br /><a target="_blank" href="http://sourceforge.net/project/showfiles.php?group_id=21558">http://sourceforge.net/project/showfiles.php?group_id=21558</a><br /><br />2,Xmanager<br /><a target="_blank" href="http://www.sjhf.net/Article/sjhfdoc/200705/398.html">使用Xmanager 远程连接Solaris的方法</a><br /><a target="_blank" href="http://hi.baidu.com/rikezhao/blog/item/03b64df38e4a3bc90b46e05f.html">怎样通过Xmanager连接到(RedHat)Linux系统</a><br /><br /><br />3,WINE<br />刚刚步入Linux，难免要有时利用一下Windows的程序资源，Wine提供了一个用来运行Windows程序的平台。<br />
Wine <font color="#ff1493">(Wine Is Not an Emulator)[即Wine不仅仅是一个模拟器]</font>是一个在X和UNIX之上的,Windows 3.x
和 Windows
APIs的实现.它是一个Windows兼容层,用通俗的话说,就是一个Windows模拟器,这个层即提供了一个用来从Windows源进出到UNIX
的开发工具包(Winelib),也提供了一个程序加载器,该加载器允许不用任何修改Windows
3.1/95/NT的二进制文件,就可以运行在Intel Unix及其衍生版本下.Wine可以工作在绝大多数的UNIX版本下,包括Linux,
FreeBSD, 和 Solaris. Wine不需要Microsoft Windows,
因为这是一个完全由百分之百的免费代码组成的,可以选择的实现<br /><br />4，Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端，但是功能丝毫不逊色于商业的<br />
telnet类工具。用它来远程管理Linux十分好用。<br />从windows访问linux，除了samba之外，日常操作用得最多的大概就是PuTTY和SecureCRT<br />Putty是免费的，SecureCRT是收费的（当然，有破解版）。 <br />Putty缺省配置就很好看很好用，SecureCRT的缺省配置不是为linux准备的而且很难看。<br />Putty拿来就可以立刻使用，SecureCRT需要经过复杂的配置之后才好用<br /><a href="http://21pt.com/Article/69.aspx">putty使用方法，中文教程</a><br /><br />5，<em>rsync<br />  可用来同步代码到多个服务器上或作镜像备份<br /><br /></em>htop 是一个 Linux 下的交互式的进程浏览器，可以用来替换Linux下的top命令。<br />IPTraf是一个使用简单的网络状况监视工具。<br /><img src ="http://www.blogjava.net/leekiang/aggbug/181513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-02-22 21:46 <a href="http://www.blogjava.net/leekiang/archive/2008/02/22/181513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>