<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>cxianf</title>
    <description></description>
    <link>http://cxianf.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>linux 下软件的安装</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/140735" style="color:red;">http://cxianf.javaeye.com/blog/140735</a>&nbsp;
          发表时间: 2007年11月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中，我们可以使用软件自带的安装卸载程序或在控制面板中的&ldquo;添加/删除程序&rdquo;来实现。与其相类似，在Linux下有一个功能强大的软件安装卸载工具，名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm，就可获得该命令的帮助信息。<br />
<br />
<br />
　　软件的安装<br />
<br />
<br />
　　Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz；另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的；第二种方式则是直接以二进制形式发送的。<br />
<br />
　　对于第一种，安装方法如下：<br />
<br />
　　1 .首先，将安装文件拷贝至你的目录中。例如，如果你是以root身份登录上的，就将软件拷贝至/root中。<br />
<br />
　　#cp xxx.tar.gz /root<br />
<br />
　　2 .由于该文件是被压缩并打包的,应对其解压缩。命令为：<br />
<br />
　　#tar xvzf filename.tar.gz 如果是filename.tar.bz2格式的，应该是tar jxvf filename.tar.bz2来解压<br />
<br />
　　3. 执行该命令后，安装文件按路径，解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中，有&ldquo;Install&rdquo;的文件。该文件为纯文本文件，详细讲述了该软件包的安装方法。<br />
<br />
　　4.执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库，以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为： #./configure<br />
<br />
如果您想把软件安装到指定目录，应该用#./configure --prefix=/您自己指定的目录，比如我想把一个mlterm安装到/opt/mlterm目录中，应该如下输入<br />
#./configure --prefix=/opt/mlterm<br />
<br />
　　5.检查通过后，将生成用于编译的MakeFile文件。此时，可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同，所耗费的时间也不同。命令为： #make。<br />
<br />
　　6.成功编译后，键入如下的命令开始安装：<br />
<br />
　　#make install<br />
<br />
　　7.安装完毕，应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令：<br />
<br />
　　#make clean<br />
<br />
　　#make distclean<br />
<br />
　　至此，软件的安装结束。<br />
<br />
　　对于第二种，其安装方法要简单得多。<br />
<br />
　　同第一种方式一样，将安装文件拷贝至你的目录中。然后使用rpm来安装该文件。命令如下：<br />
<br />
　　#rpm -i filename.i386.rpm<br />
<br />
　　rpm将自动将安装文件解包，并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。<br />
<br />
<br />
　　软件的卸载<br />
<br />
<br />
　　1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令：<br />
<br />
　　#rpm -q -a<br />
<br />
　　即可查询到当前系统中安装的所有的软件包。<br />
<br />
　　2. 确定了要卸载的软件的名称，就可以开始实际卸载该软件了。键入命令：<br />
<br />
　　#rpm -e [package name]<br />
<br />
　　即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载，rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系，直接开始卸载：<br />
<br />
　　#rpm -e [package name] -nodeps<br />
<br />
　　忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用<br />
<br />
如果想知道rpm包安装到哪里了呢？<br />
应该用 #rpm -ql [package name]<br />
<br />
3.如何卸载用源码包安装的软件？<br />
最好是看README和INSTALL ；一般的情况下都有说，但大多软件没有提供源码包的卸载方法；我们可以找到软件的安装点删除。主要看你把它安装在哪了。<br />
比如：<br />
<br />
如果安装软件时，指定个目录。这个问题也不会难；<br />
<br />
比如用源码包安装gaim 的<br />
<br />
#./configure --prefix=/opt/gaim<br />
#make<br />
#make install<br />
<br />
如果安装mlterm<br />
#./configure --prefix=/opt/mlterm<br />
#make<br />
#make install<br />
<br />
把源码包安装的软件，都指定安装在 /opt目录中，这样不就知道了？？<br />
<br />
如果删除，就删除相应的软件目录；<br />
<br />
有些软件要在解压安装目录中执行 make uninstall ，这样就卸载掉了；
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/140735#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 14 Nov 2007 23:18:28 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/140735</link>
        <guid>http://cxianf.javaeye.com/blog/140735</guid>
      </item>
      <item>
        <title>linux tar命令 </title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/140721" style="color:red;">http://cxianf.javaeye.com/blog/140721</a>&nbsp;
          发表时间: 2007年11月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>tar可以为文件和目录创建档案。利用tar，用户可以为某一特定文件创建档案（备份文件），也可以在档案中改变文件，或者向档案中加入新的文件。tar最初被用来在磁带上创建档案，现在，用户可以在任何设备上创建档案，如软盘。利用tar命令，可以把一大堆的文件和目录全部打包成一个文件，这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。<br />
语法：tar [主选项+辅选项] 文件或者目录<br />
使用该命令时，主选项是必须要有的，它告诉tar要做什么事情，辅选项是辅助使用的，可以选用。<br />
主选项：<br />
c 创建新的档案文件。如果用户想备份一个目录或是一些文件，就要选择这个选项。<br />
r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件，又发现还有一个目录或是一些文件忘记备份了，这时可以使用该选项，将忘记的目录或文件追加到备份文件中。<br />
t 列出档案文件的内容，查看已经备份了哪些文件。<br />
u 更新文件。就是说，用新增的文件取代原备份文件，如果在备份文件中找不到要更新的文件，则把它追加到备份文件的最后。<br />
x 从档案文件中释放文件。<br />
辅助选项：<br />
b 该选项是为磁带机设定的。其后跟一数字，用来说明区块的大小，系统预设值为20（20*512 bytes）。<br />
f 使用档案文件或设备，这个选项通常是必选的。<br />
k 保存已经存在的文件。例如我们把某个文件还原，在还原的过程中，遇到相同的文件，不会进行覆盖。<br />
m 在还原文件时，把所有文件的修改时间设定为现在。<br />
M 创建多卷的档案文件，以便在几个磁盘中存放。<br />
v 详细报告tar处理的文件信息。如无此选项，tar不报告文件信息。<br />
w 每一步都要求确认。<br />
z 用gzip来压缩/解压缩文件，加上该选项后可以将档案文件进行压缩，但还原时也一定要使用该选项进行解压缩。 </p>
<p>&nbsp;</p>
<p>Linux下的压缩文件剖析</p>
<p>对于刚刚接触Linux的人来说，一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说，单单就压缩文件为例，我们知道在Windows下最常见的压缩文件就只有两种，一是,zip，另一个是.rap。可是Linux就不同了，它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名，此外windows下的.zip和.rar也可以在Linux下使用，不过在Linux使用.zip和.rar的人就太少了。本文就来对这些常见的压缩文件进行一番小结，希望你下次遇到这些文件时不至于被搞晕:)</p>
<p>　　在具体总结各类压缩文件之前呢，首先要 弄清两个概念：打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件，压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢？其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩，这样当你想要压缩一大堆文件时，你就得先借助另它的工具将这一大堆文件先打成一个包，然后再就原来的压缩程序进行压缩。<br />
　　Linux下最常用的打包程序就是tar了，使用tar程序打出来的包我们常称为tar包，tar包文件的命令通常都是以.tar结尾的。生成tar包后，就可以用其它的程序来进行压缩了，所以首先就来讲讲tar命令的基本用法：<br />
　　tar命令的选项有很多(用man tar可以查看到)，但常用的就那么几个选项，下面来举例说明一下：<br />
　　# tar -cf all.tar *.jpg<br />
　　这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包，-f指定包的文件名。<br />
　　# tar -rf all.tar *.gif<br />
　　这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。<br />
&nbsp;&nbsp;&nbsp; # tar -uf all.tar logo.gif<br />
　　这条命令是更新原来tar包all.tar中logo.gif文件，-u是表示更新文件的意思。 </p>
<p>　　# tar -tf all.tar<br />
　　这条命令是列出all.tar包中所有文件，-t是列出文件的意思<br />
　　# tar -xf all.tar<br />
　　这条命令是解出all.tar包中所有文件，-t是解开的意思<br />
　　以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件，tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序，比如调用gzip、bzip2等。<br />
　　1) tar调用gzip<br />
　　gzip是GNU组织开发的一个压缩程序，.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下：<br />
　　# tar -czf all.tar.gz *.jpg<br />
　　这条命令是将所有.jpg的文件打成一个tar包，并且将其用gzip压缩，生成一个gzip压缩过的包，包名为all.tar.gz<br />
　　# tar -xzf all.tar.gz<br />
　　这条命令是将上面产生的包解开。<br />
　　2) tar调用bzip2<br />
　　bzip2是一个压缩能力更强的压缩程序，.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下：<br />
　　# tar -cjf all.tar.bz2 *.jpg<br />
　　这条命令是将所有.jpg的文件打成一个tar包，并且将其用bzip2压缩，生成一个bzip2压缩过的包，包名为all.tar.bz2<br />
　　# tar -xjf all.tar.bz2<br />
　　这条命令是将上面产生的包解开。<br />
&nbsp;&nbsp;&nbsp; 3)tar调用compress </p>
<p>　　compress也是一个压缩程序，但是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是bzip2压缩的结果。与compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下：<br />
　　# tar -cZf all.tar.Z *.jpg<br />
　　这条命令是将所有.jpg的文件打成一个tar包，并且将其用compress压缩，生成一个uncompress压缩过的包，包名为all.tar.Z<br />
　　# tar -xZf all.tar.Z<br />
　　这条命令是将上面产生的包解开<br />
　　有了上面的知识，你应该可以解开多种压缩文件了，下面对于tar系列的压缩文件作一个小结：<br />
　　1)对于.tar结尾的文件<br />
　　tar -xf all.tar<br />
　　2)对于.gz结尾的文件<br />
　　gzip -d all.gz<br />
　　gunzip all.gz<br />
　　3)对于.tgz或.tar.gz结尾的文件<br />
　　tar -xzf all.tar.gz<br />
　　tar -xzf all.tgz<br />
　　4)对于.bz2结尾的文件<br />
　　bzip2 -d all.bz2<br />
　　bunzip2 all.bz2<br />
　　5)对于tar.bz2结尾的文件<br />
　　tar -xjf all.tar.bz2<br />
　　6)对于.Z结尾的文件<br />
　　uncompress all.Z<br />
　　7)对于.tar.Z结尾的文件<br />
　　tar -xZf all.tar.z<br />
　　另外对于Window下的常见压缩文件.zip和.rar，Linux也有相应的方法来解压它们：<br />
　　1)对于.zip<br />
　　linux下提供了zip和unzip程序，zip是压缩程序，unzip是解压程序。它们的参数选项很多，这里只做简单介绍，依旧举例说明一下其用法：<br />
　　# zip all.zip *.jpg<br />
　　这条命令是将所有.jpg的文件压缩成一个zip包</p>
<p>&nbsp;&nbsp;&nbsp; # unzip all.zip<br />
　　这条命令是将all.zip中的所有文件解压出来 </p>
<p>　　2)对于.rar<br />
　　要在linux下处理.rar文件，需要安装RAR for Linux，可以从网上下载，但要记住，RAR for Linux<br />
不是免费的；然后安装：<br />
　　# tar -xzpvf rarlinux-3.2.0.tar.gz<br />
　　# cd rar<br />
　　# make<br />
　　这样就安装好了，安装后就有了rar和unrar这两个程序，rar是压缩程序，unrar是解压程序。它们的参数选项很多，这里只做简单介绍，依旧举例说明一下其用法：<br />
　　# rar a all *.jpg<br />
　　这条命令是将所有.jpg的文件压缩成一个rar包，名为all.rar，该程序会将.rar 扩展名将自动附加到包名后。<br />
　　# unrar e all.rar<br />
　　这条命令是将all.rar中的所有文件解压出来<br />
　　到此为至，我们已经介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、zip、unzip、rar、unrar等程式，你应该已经能够使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行解压了，以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦恼了。而且以上方法对于Unix也基本有效。<br />
　　本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、zip、unzip、rar、unrar等程式，以及如何使用它们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行操作</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/140721#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 14 Nov 2007 21:52:12 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/140721</link>
        <guid>http://cxianf.javaeye.com/blog/140721</guid>
      </item>
      <item>
        <title>性能分析命令输出说明</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/136951" style="color:red;">http://cxianf.javaeye.com/blog/136951</a>&nbsp;
          发表时间: 2007年10月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="storytext">
<p>1,CPU使用情况分析</p>
<p>vmstat 命令获得汇总信息.<br />
有两个参数:1,每行输出需监视系统的秒数.2,提供的报告数.如果没有提供指定报告的行数,vmstat会一直运行.直到按下&lt;control+c&gt;时为止.<br />
vmstat返回的第一行数据提供了自系统引导起来以后的平均值.随后的个行是再上一个采样期内的平均值.默认的采用时间为5秒.</p>
<br />
<p><br />
$ vmstat 5 5<br />
procs memory swap io system cpu<br />
r b swpd free buff cache si so bi bo in cs us sy id wa<br />
1 1 4 172944 248936 5954084 0 0 53 33 86 206 7 5 85 3<br />
0 1 4 172932 248936 5954140 0 0 1561 50 1135 5024 4 6 45 45<br />
2 1 4 172844 248936 5954296 0 0 2132 144 1465 6612 26 8 33 33<br />
1 1 4 172716 248936 5954704 0 0 3140 194 1845 9565 26 8 36 30<br />
1 1 4 172364 248936 5955512 0 0 1963 1062 1329 6709 24 8 29 39 <br />
<br />
r<br />
b</p>
<p>swpd<br />
free 空闲内存<br />
buff （缓冲器，）<br />
cache 缓存使用内存</p>
<p>si<br />
so</p>
<p>io<br />
bo<br />
<br />
cs 每个时间段上下文切换的次数，也就是由内核切换当前运行进程的次数<br />
in 每隔时间间隔内的中断数。cs或in的数值极高一般标识应将设备或运行有错误</p>
<p>us 用户时间 数值较大表示计算机处于运算状态<br />
sy 系统时间 数值较大表示进程正在做大量系统调用或执行I/O操作<br />
id 空闲时间 一种粗劣规则是系统中50%的非空闲时间将用于用户空间,而另外50%用于系统时间;同时总统的空闲时间百分<br />
比不应该为0.</p>
<p>&nbsp;</p>
<p>Mpstat用于调试SMP(sysmetric multiprocessing.对称多处理器).-P参数可以指定一个要给出报告的特定处理器.<br />
[tapeback@xlback bin]$ mpstat 1 5<br />
Linux 2.6.9-22.ELsmp (xlback.rrl.com) 09/20/2006</p>
<p>05:45:16 PM CPU %user %nice %system %iowait %irq %soft %idle intr/s<br />
05:45:17 PM all 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1029.00<br />
05:45:18 PM all 0.50 0.00 0.00 0.00 0.00 0.00 99.50 1032.00<br />
05:45:19 PM all 4.02 0.00 0.00 0.00 0.00 0.00 95.98 1009.80<br />
05:45:20 PM all 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1017.00<br />
05:45:21 PM all 0.00 0.00 0.00 0.00 0.00 0.00 100.00 1019.00<br />
Average: all 0.90 0.00 0.00 0.00 0.00 0.00 99.10 1021.31</p>
<p>&nbsp;</p>
<p><br />
uptime命令获得负载的平均值.平均负载包括等待磁盘核网络I/O的进程,它并不是CPU使用情况的纯粹指标.<br />
% uptime<br />
14:05:05 up 112 days, 22:37, 5 users, load average: 1.84, 1.81, 1.33<br />
给出的3个数值分别对应系统在5分钟,10分钟和15分钟的平均负载,<br />
Linux系统在平均负载达到3的时候就处于繁忙状态.而且不能很好地处理平均负载超过6的情况.</p>
<p><br />
[tapeback@xlback bin]$ ps -aux<br />
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ<br />
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND<br />
root 1 0.0 0.0 4748 548 ? S Aug22 0:00 init [2] <br />
root 2 0.0 0.0 0 0 ? S Aug22 0:00 [migration/0]<br />
root 3 0.0 0.0 0 0 ? SN Aug22 0:00 [ksoftirqd/0]<br />
root 4 0.0 0.0 0 0 ? S Aug22 0:00 [migration/1]<br />
root 5 0.0 0.0 0 0 ? SN Aug22 0:00 [ksoftirqd/1]<br />
root 6 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [events/0]<br />
root 7 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [events/1]<br />
root 8 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [khelper]<br />
root 9 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [kacpid]<br />
root 42 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [kblockd/0]<br />
root 43 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [kblockd/1]<br />
root 59 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [aio/0]<br />
root 60 0.0 0.0 0 0 ? S&lt; Aug22 0:00 [aio/1]<br />
root 44 0.0 0.0 0 0 ? S Aug22 0:00 [khubd]<br />
root 58 0.0 0.0 0 0 ? S Aug22 0:03 [kswapd0]<br />
root 133 0.0 0.0 0 0 ? S Aug22 0:00 [kseriod]<br />
root 204 0.0 0.0 0 0 ? S Aug22 0:00 [scsi_eh_0]<br />
root 217 0.0 0.0 0 0 ? S Aug22 0:00 [scsi_eh_1]<br />
root 218 0.0 0.0 0 0 ? S Aug22 0:00 [ahc_dv_0]<br />
root 242 0.0 0.0 0 0 ? S Aug22 0:00 [scsi_eh_2]<br />
root 243 0.0 0.0 0 0 ? S Aug22 0:00 [ahc_dv_1]<br />
root 250 0.0 0.0 0 0 ? S Aug22 0:06 [kjournald]</p>
<p>USER 进程属主的用户名<br />
PID 进程ID <br />
%CPU 该进程正在使用的CPU时间百分数<br />
%MEM 该进程正在使用的实际内存的百分数<br />
VSZ 进程的虚拟大小<br />
RSS 驻留集的大小（内存中页的数量）<br />
TTY 控制终端的ID<br />
STAT 当前进程的状态：<br />
R＝可运行 D＝在等待磁盘（或者短期等待）<br />
S＝在睡眠（&lt;20秒） T＝被跟踪或者被停止<br />
Z＝僵进程<br />
附加标志：<br />
W＝进程被交换出去<br />
&lt;=进程拥有比普通优先级更高的优先级<br />
N=进程拥有比普通优先级更低的优先级<br />
L=有些页面被缩在内存中<br />
START 启动进程的时间<br />
TIME 进程已经消耗掉的CPU时间<br />
COMMAND 命令的名称和参数</p>
<p><br />
[tapeback@xlback bin]$ top<br />
top - 17:47:49 up 29 days, 17:27, 1 user, load average: 0.17, 0.43, 0.36<br />
Tasks: 92 total, 1 running, 85 sleeping, 0 stopped, 6 zombie<br />
Cpu(s): 0.0% us, 0.2% sy, 0.0% ni, 99.8% id, 0.0% wa, 0.0% hi, 0.0% si<br />
Mem: 2056208k total, 1977416k used, 78792k free, 60544k buffers<br />
Swap: 2097144k total, 668544k used, 1428600k free, 1597712k cached</p>
<p>PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND <br />
19807 tapeback 16 0 6144 1000 768 R 0.3 0.0 0:00.07 top <br />
1 root 16 0 4748 548 456 S 0.0 0.0 0:00.53 init <br />
2 root RT 0 0 0 0 S 0.0 0.0 0:00.31 migration/0 <br />
3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 <br />
4 root RT 0 0 0 0 S 0.0 0.0 0:00.50 migration/1 <br />
5 root 34 19 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/1 <br />
6 root 5 -10 0 0 0 S 0.0 0.0 0:00.03 events/0 <br />
7 root 5 -10 0 0 0 S 0.0 0.0 0:00.04 events/1 <br />
8 root 8 -10 0 0 0 S 0.0 0.0 0:00.00 khelper <br />
<br />
<br />
第一行的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。 </p>
<p>第二行为进程情况，依次为进程总数、运行进程数、休眠进程数、僵死进程数、终止进程数。 </p>
<p>第三行为CPU状态，依次为用户占用、系统占用、优先任务占用、闲置任务占用。 </p>
<p>第四行为内存状态，依次为平均可用内存、已用内存、空闲内存、缓存使用内存。 </p>
<p>第五行为交换状态，依次为平均可用交换容量、已用容量、闲置容量、交换高速缓存容量。 </p>
<p>PID 进程ID<br />
USER 进程属主的用户名<br />
PR <br />
NI <br />
VIRT <br />
RES <br />
SHR <br />
S <br />
%CPU 该进程正在使用的CPU时间百分数<br />
%MEM 该进程正在使用的实际内存的百分数<br />
TIME 进程已经消耗掉的CPU时间<br />
COMMAND 命令的名称和参数</p>
<p>sar的语法如下： <br />
sar [-options] [interval [count]] <br />
其中，internal是两次采样的间隔时间；count是指采样的次数；与CPU相关的options有： </p>
<p>参数的含义如下： <br />
<br />
-c 表示输出采用的时间 <br />
-e hh:mm:ss 表示只显示CPU的信息 <br />
-i {irq |SUM|ALL|XALL} 相邻的两次采样的间隔时间 <br />
-P {cpu|ALL} <br />
-q 显示在采样的时刻，可运行队列的任务的个数，以及系统平均负载 <br />
-u CPU 使用的情况，报告了cpu的用户态，系统态，等待I/O和空闲时间上的百分比。 <br />
-w： 每秒上下文交换率 <br />
-o： filename 将结果放在文件里 <br />
-f： filename 表示从file文件中取出数据，如果没有指定-f file，则从标准数据文件 </p>
<p>sar -c 2 -q 2 -u -w<br />
Linux 2.6.9-22.ELsmp (xlback.rrl.com) 09/20/2006</p>
<p>07:23:48 PM proc/s<br />
07:23:50 PM 0.00</p>
<p>07:23:48 PM cswch/s<br />
07:23:50 PM 325.87</p>
<p>07:23:48 PM CPU %user %nice %system %iowait %idle<br />
07:23:50 PM all 0.00 0.25 0.00 0.00 99.75</p>
<p>07:23:48 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15<br />
07:23:50 PM 0 113 0.05 0.20 0.14</p>
<p>与CPU有关的输出的含义 </p>
<p>参数 解释 从/proc/stat获得数据 <br />
proc/s 在internal时间段里，每秒上下文切换率 processes/total*100 <br />
cswch 在internal时间段里，每秒上下文切换率 ctxt/total*100 <br />
intr/s 在internal时间段里，每秒CPU接收的中断的次数 idle/total*100 </p>
<p>从/proc/loadavg获得数据 <br />
runq-sz 采样时，运行队列中任务的个数，不包括vmstat 进程。 procs_running-1 <br />
plist-sz 采样时，系统中活跃的任务的个数 nr_threads <br />
ldavg-1 采样的前一秒钟系统的负载(%) lavg_1 <br />
ldavg-5 采样的5秒钟系统的负载(%) lavg_5 <br />
ldavg-15 采样的前15秒钟系统的负载(%) lavg_15 </p>
<p>sar 1 10<br />
Linux 2.6.9-22.ELsmp (xxx) 09/20/2006</p>
<p>06:54:52 PM CPU %user %nice %system %iowait %idle<br />
06:54:53 PM all 0.50 0.00 0.00 0.00 99.50<br />
06:54:54 PM all 1.00 0.00 0.50 0.00 98.50<br />
06:54:55 PM all 0.00 0.00 0.50 0.00 99.50<br />
06:54:56 PM all 0.00 0.00 0.00 0.00 100.00<br />
06:54:57 PM all 5.97 0.00 0.50 0.50 93.03<br />
06:54:58 PM all 0.00 0.00 0.50 0.00 99.50</p>
<p>06:54:58 PM CPU %user %nice %system %iowait %idle<br />
06:54:59 PM all 0.50 0.00 0.00 0.00 99.50<br />
06:55:00 PM all 1.00 0.00 0.00 0.00 99.00<br />
06:55:01 PM all 0.00 0.00 0.00 0.00 100.00<br />
06:55:02 PM all 0.00 0.00 0.00 0.00 100.00<br />
Average: all 0.90 0.00 0.20 0.05 98.85</p>
<p>user 在internal时间段里，用户态的CPU时间（%） ，不包含 nice值为负进程 usr/total*100 <br />
nice 在internal时间段里，nice值为负进程的CPU时间（%） nice/total*100 <br />
sys 在internal时间段里，核心时间（%） (system+irq+softirq)/total*100 <br />
iowait 在internal时间段里，硬盘IO等待时间（%） iowait/total*100 <br />
idle 在internal时间段里，CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间 （%） idle/total*100 </p>
<p>&nbsp;</p>
<p>2,linux的内存管理.<br />
和unix一样,linux也是按照页的单元来管理内存的.目前在pc硬件上,页的大小为4kb.linux内核在进程需要内存的时候,分配给他们虚拟页,每<br />
个虚拟页都被眏射到实际存储器上.既RAM或者磁盘上的交换空间.LINUX使用一个&quot;页表&quot;(pagetable)&quot;来跟踪这些虚拟页同实际页之间的眏射<br />
关系.Linux用交换空间(swapspace)来增加实际RAM的大小,有效地向进程提供它们所需要的内存.既然进程都以为他们的虚拟页眏射到了<br />
实际的内存上,所以Linux总是忙于在RAM和交换区之间来回换页,这种活动称为调页(paging).</p>
<p>内存使用情况分析.<br />
内存活动基本上可以用3个数字来量化:活动虚拟内存总量,交换(swapping)率和调页(paging)率.其中第一个数字表明内存的总需求量,后两个<br />
数字表示那些内存中有多少比例正处在使用之中.目标是减少内存活动或增加内存量,直到调页率保持在一个可以接受的水平上为止.<br />
使用free命令来判断当前投入使用的内存和交换的数量.带-t标志执行这条命令会自动计算出虚拟内存的总量.<br />
free -t<br />
total used free shared buffers cached<br />
Mem: 2056208 1977736 78472 0 60552 1598180<br />
-/+ buffers/cache: 319004 1737204<br />
Swap: 2097144 668544 1428600<br />
Total: 4153352 2646280 1507072</p>
<p><br />
Swapon命令来准确地判断出正在那些文件和分区作为交换空间.</p>
<p>Procinfo命令是把/proc下的文件已较好的格式显示出来.<br />
Procinfo -n5 能以5秒钟为间隔连续的属性输出结果.<br />
Procinfo输出的信息有一些和free , uptime 和 vmstat<br />
输出的信息重复了.此外,procinfo提供了有关内核版本,内存调页,磁盘访问以及IRQ分配的信息.可以使用procinfo -a<br />
看到/proc文件系统里的更多信息,其中包括内核的引导参数,内核的可以加载模块,字符设备和文件系统</p>
<p>磁盘I/O分析<br />
使用iostat 命令监视磁盘的性能.<br />
$ iostat <br />
Linux 2.6.9-22.ELsmp (xxx) 09/20/2006</p>
<p>avg-cpu: %user %nice %sys %iowait %idle<br />
1.79 0.05 0.29 2.96 94.91</p>
<p>Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn<br />
sda 0.61 1.12 15.81 2886882 40672114<br />
sdb 60.69 643.80 267.79 1656348001 688974012<br />
sdc 0.00 0.00 0.00 8527 0</p>
<p>user 在internal时间段里，用户态的CPU时间（%） ，不包含 nice值为负进程 usr/total*100 <br />
nice 在internal时间段里，nice值为负进程的CPU时间（%） nice/total*100 <br />
sys 在internal时间段里，核心时间（%） (system+irq+softirq)/total*100 <br />
iowait 在internal时间段里，硬盘IO等待时间（%） iowait/total*100 <br />
idle 在internal时间段里，CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间 （%） idle/total*100 </p>
<p>tps 每秒的I/O传输次数<br />
Blk_read/s 每秒读取的块数<br />
Blk_wrtn/s 每秒写入的块数<br />
Blk_read 读取的总块数<br />
Blk_wrtn 写入的总块数</p>
<p>&nbsp;</p>
<p>总之:<br />
Cpu的检查工具有:vmstat mpstat -p uptime ps -aux<br />
Memory free -t swapon -s procinfo top<br />
磁盘 iostat</p>
<p>另: sar 工具.</p>
</div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/136951#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 31 Oct 2007 11:27:05 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/136951</link>
        <guid>http://cxianf.javaeye.com/blog/136951</guid>
      </item>
      <item>
        <title>常用eclipse 快捷</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/134651" style="color:red;">http://cxianf.javaeye.com/blog/134651</a>&nbsp;
          发表时间: 2007年10月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>转载：<font face="Arial"><a href="http://godlikeme.javaeye.com/blog/101025">http://godlikeme.javaeye.com/blog/101025</a></font></p>
<p>写得挺有意思的，转载，备忘</p>
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p>请大家不要忽略编码效率对生产效率的提高影响，有点心得，跟大家分享下。 <br />
            细节决定成败-6sigma。 <br />
            btw:请大家不要跟我讨论编码效率的重要性，我同意有很多事情更重要。 <br />
            麻烦投入门贴的朋友给点建议，谢谢。</p>
            <p>写程序是一个创造过程，如同写文章，如果把思路理清楚，剩下的事情就是coding了。</p>
            <p>纯coding的过程是很枯燥的，如何想办法把这个过程变得爽一点呢。 <br />
            几个方面： <br />
            1.提高打字速度。听说还有用二指禅的，无语。50w/m以下不要出来见人，具体怎么练就不说了。 <br />
            2.不用鼠标，用快捷键。用电脑的，不管是用word还是photoshop，&ldquo;高手&rdquo;都是这样子。eclipse中的快捷键不一一列举自己去看，ctrl+shift+L，连按两次是快捷键编辑窗口。 <br />
            简单说几个，其他大家自己研究吧： <br />
            ctrl+shift+o,ctrl+shift+m，刚开始使用eclipse发现得最好用得功能。 <br />
            ctrl+d,ctrl+alt+down,alt+down or up，删除，复制，移动几行代码可以不用鼠标的。 <br />
            ctrl+shift+r,看到还有人还在左边列表里翻来翻去，不晕么，找个文件得半分钟。 <br />
            ctrl+shift+t,一用便知。 <br />
            ctrl+o,ctrl+t,看源码时不用这些就慢慢晕吧。 <br />
            ctrl+m,ctrl+w 最大化，还原窗口，关闭窗口，让别人看的晕，自己很爽。 <br />
            alt+left,alt+right,ctrl+q,前一个，后一个，最近一个编辑文件，改多个类代码的时候是不是感觉不晕了。 <br />
            ctrl+shift+/,ctrl+shift+\，注释代码。 <br />
            ctrl+shift+f,统一的编码风格很重要，如果用cvs，会发现，确实很重要。</p>
            <p>3.自动补全。alt+/ 能少打好几个字符呢，最好再调一下自动补全方法参数，更省一些事。 <br />
            4.模版功能。alt+. ，几个字符一个方法体就出来了。自定义code template，常用的个人习惯方式，项目要求的一些编码规范，都可以。例如： hashCode, equals, toString... <br />
            5.代码生成。alt+shift+s 系统自带的一些基本的，自己再写一些utils，一天几千行代码就是这么出来的，简单一点就ultraedit吧。 <br />
            6.Refactoring，search(ctrl+h)，reference(ctrl+shift+G)。写了代码要修改的，如何快的修改，就看你对这些方式的熟练程度了。</p>
            </td>
        </tr>
    </tbody>
</table>
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/134651#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 23 Oct 2007 09:48:50 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/134651</link>
        <guid>http://cxianf.javaeye.com/blog/134651</guid>
      </item>
      <item>
        <title>常用正则表达式(转)</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/106044" style="color:red;">http://cxianf.javaeye.com/blog/106044</a>&nbsp;
          发表时间: 2007年07月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          正则表达式用于字符串处理、表单验证等场合，实用高效。现将一些常用的表达式收集于此，以备不时之需。<br />
<p>匹配中文字符的正则表达式： [\u4e00-\u9fa5]<br />
评注：匹配中文还真是个头疼的事，有了这个表达式就好办了</p>
<p>匹配双字节字符(包括汉字在内)：[^\x00-\xff]<br />
评注：可以用来计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）</p>
<p>匹配空白行的正则表达式：\n\s*\r<br />
评注：可以用来删除空白行</p>
<p>匹配HTML标记的正则表达式：&lt;(\S*?)[^&gt;]*&gt;.*?&lt;/\1&gt;|&lt;.*? /&gt;<br />
评注：网上流传的版本太糟糕，上面这个也仅仅能匹配部分，对于复杂的嵌套标记依旧无能为力</p>
<p>匹配首尾空白字符的正则表达式：^\s*|\s*$<br />
评注：可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式</p>
<p>匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*<br />
评注：表单验证时很实用</p>
<p>匹配网址URL的正则表达式：[a-zA-z]+://[^\s]*<br />
评注：网上流传的版本功能很有限，上面这个基本可以满足需求</p>
<p>匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$<br />
评注：表单验证时很实用</p>
<p>匹配国内电话号码：\d{3}-\d{8}|\d{4}-\d{7}<br />
评注：匹配形式如 0511-4405222 或 021-87888822</p>
<p>匹配腾讯QQ号：[1-9][0-9]{4,}<br />
评注：腾讯QQ号从10000开始</p>
<p>匹配中国邮政编码：[1-9]\d{5}(?!\d)<br />
评注：中国邮政编码为6位数字</p>
<p>匹配身份证：\d{15}|\d{18}<br />
评注：中国的身份证为15位或18位</p>
<p>匹配ip地址：\d+\.\d+\.\d+\.\d+<br />
评注：提取ip地址时有用</p>
<p>匹配特定数字：<br />
^[1-9]\d*$　 　 //匹配正整数<br />
^-[1-9]\d*$ 　 //匹配负整数<br />
^-?[1-9]\d*$　　 //匹配整数<br />
^[1-9]\d*|0$　 //匹配非负整数（正整数 + 0）<br />
^-[1-9]\d*|0$　　 //匹配非正整数（负整数 + 0）<br />
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$　　 //匹配正浮点数<br />
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$　 //匹配负浮点数<br />
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$　 //匹配浮点数<br />
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$　　 //匹配非负浮点数（正浮点数 + 0）<br />
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$　　//匹配非正浮点数（负浮点数 + 0）<br />
评注：处理大量数据时有用，具体应用时注意修正</p>
<p>匹配特定字符串：<br />
^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串<br />
^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串<br />
^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串<br />
^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串<br />
^\w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串<br />
评注：最基本也是最常用的一些表达式</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/106044#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 27 Jul 2007 10:21:32 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/106044</link>
        <guid>http://cxianf.javaeye.com/blog/106044</guid>
      </item>
      <item>
        <title>加大TOMCAT可利用内存</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/102131" style="color:red;">http://cxianf.javaeye.com/blog/102131</a>&nbsp;
          发表时间: 2007年07月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在TOMCAT的目录下，也就是在TOMCAT41/bin/catalina.bat文件最前面加入<br />
　　set JAVA_OPTS=-Xms800m -Xmx800m<br />
　　表现效果是当你启动TOMCAT时，系统内存会增加近800M使用<br />
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/102131#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 17 Jul 2007 21:21:45 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/102131</link>
        <guid>http://cxianf.javaeye.com/blog/102131</guid>
      </item>
      <item>
        <title>ubuntu 下java开发环境安装</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/101676" style="color:red;">http://cxianf.javaeye.com/blog/101676</a>&nbsp;
          发表时间: 2007年07月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          先更新源,<br />
sudo gedit /etc/apt/sources.list<br />
<br />
&nbsp;加上cn99的源或者其他源<br />
deb http://ubuntu.cn99.com/ubuntu/ feisty main restricted universe multiverse<br />
deb http://ubuntu.cn99.com/ubuntu/ feisty-security main restricted universe multiverse<br />
deb http://ubuntu.cn99.com/ubuntu/ feisty-updates main restricted universe multiverse<br />
deb http://ubuntu.cn99.com/ubuntu/ feisty-proposed main restricted universe multiverse<br />
deb http://ubuntu.cn99.com/ubuntu/ feisty-backports main restricted universe multiverse<br />
deb-src http://ubuntu.cn99.com/ubuntu/ feisty main restricted universe multiverse<br />
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-security main restricted universe multiverse<br />
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-updates main restricted universe multiverse<br />
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-proposed main restricted universe multiverse<br />
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-backports main restricted universe multiverse <br />
<br />
福州电信源:<br />
deb http://ubuntu.cnsite.org/ubuntu/ feisty main restricted universe multiverse<br />
deb-src http://ubuntu.cnsite.org/ubuntu/ feisty main restricted universe multiverse<br />
deb http://ubuntu.cnsite.org/ubuntu/ feisty-updates main restricted universe multiverse<br />
deb-src http://ubuntu.cnsite.org/ubuntu/ feisty-updates main restricted universe multiverse<br />
deb http://ubuntu.cnsite.org/ubuntu/ feisty-backports main restricted universe multiverse<br />
deb-src http://ubuntu.cnsite.org/ubuntu/ feisty-backports main restricted universe multiverse<br />
deb http://ubuntu.cnsite.org/ubuntu/ feisty-security main restricted universe multiverse<br />
deb-src http://ubuntu.cnsite.org/ubuntu/ feisty-security main restricted universe multiverse<br />
deb http://ubuntu.cnsite.org/ubuntu/ feisty-proposed main multiverse restricted universe<br />
deb-src http://ubuntu.cnsite.org/ubuntu/ feisty-proposed main restricted universe multiverse<br />
deb http://ubuntu.cnsite.org/ubuntu-cn/ feisty main multiverse restricted universe<br />
<br />
保存，关闭。<br />
<br />
安装JDK<br />
<br />
打开终端 ，执行下面命令：<br />
<br />
sudo apt-get install sun-java6-jdk<br />
设置当前默认的java解释器<br />
sudo update-alternatives --config java<br />
<br />
设置环境变量：<br />
sudo gedit /etc/environment<br />
在其中添加如下两行：<br />
CLASSPATH=/usr/lib/jvm/java-6-sun/lib<br />
JAVA_HOME=/usr/lib/jvm/java-6-sun<br />
<br />
安装eclipse<br />
<br />
下载eclipse3.2 for linux版本<br />
可以从 http://www.eclipse.org/downloads/ 这里下载，也可以直接下载此安装包<br />
下载后将解压此包文件，会得到一个eclipse目录。可以将此目录放到 /opt/ 下面。<br />
进入到eclipse 目录<br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">&nbsp;cd&nbsp;/opt/eclipse</span></div>
</div>
设置文件eclipse执行权：<code><br />
</code>
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">chown&nbsp;</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">R&nbsp;root:你的用户名&nbsp;eclipse</span></div>
</div>
&nbsp;<code>创建桌面连接&nbsp;</code>
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">sudo&nbsp;gedit&nbsp;</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">usr</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">share</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">applications</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">eclipse.desktop</span></div>
</div>
加入下面内容&nbsp; &nbsp;<br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(128, 0, 0); font-weight: bold;">[</span><span style="color: rgb(128, 0, 0);">Desktop&nbsp;Entry</span><span style="color: rgb(128, 0, 0); font-weight: bold;">]</span><span style="color: rgb(0, 0, 0);"><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Encoding</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">UTF-</span><span style="color: rgb(0, 0, 0);">8</span><span style="color: rgb(0, 0, 0);"><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Name</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">Eclipse<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Comment</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">Eclipse&nbsp;SDK<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Exec</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/opt/eclipse/eclipse<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Icon</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/opt/eclipse/icon.xpm<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Terminal</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">false<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Type</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">Application<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Categories</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">Application</span><span style="color: rgb(0, 128, 0);">;</span><span style="color: rgb(0, 128, 0);">Development;</span></div>
</div>
保存后就完成了eclipse的安装!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
&nbsp;
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/101676#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jul 2007 23:41:52 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/101676</link>
        <guid>http://cxianf.javaeye.com/blog/101676</guid>
      </item>
      <item>
        <title>oracle imp/emp </title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/97414" style="color:red;">http://cxianf.javaeye.com/blog/97414</a>&nbsp;
          发表时间: 2007年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>1.导出<br />
&nbsp;&nbsp;&nbsp;&nbsp; Exp&nbsp; &lt; username &gt;[/&lt; password &gt;][@&lt; connect_string &gt;] Owner=&lt; user_name &gt; File=&lt; filename.dmp &gt;<filename.dmp></filename.dmp></p>
<p>数据导出：<br />
&nbsp;1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中<br />
&nbsp;&nbsp; exp system/manager@TEST file=d:\daochu.dmp full=y<br />
&nbsp;2 将数据库中system用户与sys用户的表导出<br />
&nbsp;&nbsp; exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)<br />
&nbsp;3 将数据库中的表table1 、table2导出<br />
&nbsp;&nbsp; exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)&nbsp;<br />
&nbsp;4 将数据库中的表table1中的字段filed1以&quot;00&quot;打头的数据导出<br />
&nbsp;&nbsp; exp system/manager@TEST file=d:\daochu.dmp tables=(table1)&nbsp;query=\&quot; where filed1 like @#00%@#\&quot;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 上面是常用的导出，对于压缩我不太在意，用winzip把dmp文件可以很好的压缩。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不过在上面命令后面 加上 compress=y&nbsp; 就可以了<br />
2.导入<br />
&nbsp;&nbsp;&nbsp; Exp&nbsp; &lt; username &gt;[/&lt; password &gt;][@&lt; connect_string &gt;]&nbsp;&nbsp;&nbsp; FromUser=&lt; user_name &gt;&nbsp;&nbsp;&nbsp;&nbsp; ToUser=&lt; user_name &gt;&nbsp;&nbsp;&nbsp;&nbsp; File=&lt; fileName.dmp &gt;<filename.dmp></filename.dmp><filename.dmp></filename.dmp></p>
<p>数据的导入<br />
&nbsp;1 将D:\daochu.dmp 中的数据导入 TEST数据库中。<br />
&nbsp;&nbsp; imp system/manager@TEST&nbsp; file=d:\daochu.dmp<br />
&nbsp;&nbsp; 上面可能有点问题，因为有的表已经存在，然后它就报错，对该表就不进行导入。<br />
&nbsp;&nbsp; 在后面加上 ignore=y 就可以了。<br />
&nbsp;2 将d:\daochu.dmp中的表table1 导入<br />
&nbsp;imp system/manager@TEST&nbsp; file=d:\daochu.dmp&nbsp; tables=(table1)&nbsp;<br />
</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/97414#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jul 2007 22:03:47 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/97414</link>
        <guid>http://cxianf.javaeye.com/blog/97414</guid>
      </item>
      <item>
        <title>ubuntu 常用命令备忘</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/96522" style="color:red;">http://cxianf.javaeye.com/blog/96522</a>&nbsp;
          发表时间: 2007年07月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本文摘自：<a href="http://www.acnis.com/modules.php?name=ArticlE&amp;file=article&amp;sid=214&amp;mode=thread&amp;order=0&amp;thold=0">http://www.acnis.com/modules.php?name=ArticlE&amp;file=article&amp;sid=214&amp;mode=thread&amp;order=0&amp;thold=0</a><br />
自己用来做个记录&hellip;&hellip;<br />
<br />
此文描述了自ubuntu 5.10版本之后的系统所代命令参数，dapper,edgy以及7.04版本中可能会有一些变动，于此文不同，如有疑问可以发邮件给isher或访问wiki.ubuntu.com.cn<br />
<br />
下面内容及向心内文的内容均为ubuntu（cn）的wiki中摘录，为方便广大是用ubuntu的使用者查找和使用，特摘录安装  查看软件xxx安装内容
<ul>
    <li>dpkg -L xxx </li>
</ul>
查找软件
<ul>
    <li>apt-cache search 正则表达式 </li>
</ul>
查找文件属于哪个包
<ul>
    <li>dpkg -S filename<br />
    apt-file search filename </li>
</ul>
查询软件xxx依赖哪些包
<ul>
    <li>apt-cache depends xxx </li>
</ul>
<br />
<br />
查询软件xxx被哪些包依赖
<ul>
    <li>apt-cache rdepends xxx </li>
</ul>
增加一个光盘源
<ul>
    <li>sudo apt-cdrom add </li>
</ul>
系统升级
<ul>
    <li>sudo apt-get update<br />
    sudo apt-get upgrade<br />
    sudo apt-get dist-upgrade </li>
</ul>
清除所以删除包的残余配置文件
<ul>
    <li>dpkg -l |grep ^rc|awk '{print $2}' |tr [&quot;n&quot;] [&quot; &quot;]|sudo xargs dpkg -P - </li>
</ul>
编译时缺少h文件的自动处理
<ul>
    <li>sudo auto-apt run ./configure </li>
</ul>
查看安装软件时下载包的临时存放目录
<ul>
    <li>ls /var/cache/apt/archives </li>
</ul>
备份当前系统安装的所有包的列表
<ul>
    <li>dpkg --get-selections | grep -v deinstall &gt; ~/somefile<br />
    </li>
</ul>
从上面备份的安装包的列表文件恢复所有包
<ul>
    <li>dpkg --set-selections &lt; ~/somefile<br />
    sudo dselect<br />
    </li>
</ul>
清理旧版本的软件缓存
<ul>
    <li>sudo apt-get autoclean </li>
</ul>
清理所有软件缓存
<ul>
    <li>sudo apt-get clean </li>
</ul>
删除系统不再使用的孤立软件
<ul>
    <li>sudo apt-get autoremove </li>
</ul>
查看包在服务器上面的地址
<ul>
    <li>apt-get -qq --print-uris install ssh | cut -d' -f2 </li>
</ul>
系统  查看内核
<ul>
    <li>uname -a </li>
</ul>
查看Ubuntu版本
<ul>
    <li>cat /etc/issue </li>
</ul>
查看内核加载的模块
<ul>
    <li>lsmod </li>
</ul>
查看PCI设备
<ul>
    <li>lspci </li>
</ul>
查看USB设备
<ul>
    <li>lsusb </li>
</ul>
查看网卡状态
<ul>
    <li>sudo ethtool eth0 </li>
</ul>
查看CPU信息
<ul>
    <li>cat /proc/cpuinfo </li>
</ul>
显示当前硬件信息
<ul>
    <li>lshw </li>
</ul>
硬盘  查看硬盘的分区
<ul>
    <li>sudo fdisk -l </li>
</ul>
查看IDE硬盘信息
<ul>
    <li>sudo hdparm -i /dev/hda </li>
</ul>
查看STAT硬盘信息
<ul>
    <li>sudo hdparm -I /dev/sda<br />
    或<br />
    sudo apt-get install blktool<br />
    sudo blktool /dev/sda id </li>
</ul>
查看硬盘剩余空间
<ul>
    <li>df -h<br />
    df -H </li>
</ul>
查看目录占用空间
<ul>
    <li>du -hs 目录名 </li>
</ul>
优盘没法卸载
<ul>
    <li>sync<br />
    fuser -km /media/usbdisk </li>
</ul>
内存  查看当前的内存使用情况
<ul>
    <li>free -m </li>
</ul>
进程  查看当前有哪些进程
<ul>
    <li>ps -A </li>
</ul>
中止一个进程
<ul>
    <li>kill 进程号(就是ps -A中的第一列的数字)<br />
    或者 killall 进程名 </li>
</ul>
强制中止一个进程(在上面进程中止不成功的时候使用)
<ul>
    <li>kill -9 进程号<br />
    或者 killall -9 进程名 </li>
</ul>
图形方式中止一个程序
<ul>
    <li>xkill 出现骷髅标志的鼠标，点击需要中止的程序即可 </li>
</ul>
查看当前进程的实时状况
<ul>
    <li>top </li>
</ul>
查看进程打开的文件
<ul>
    <li>lsof -p </li>
</ul>
ADSL  配置 ADSL
<ul>
    <li>sudo pppoeconf </li>
</ul>
ADSL手工拨号
<ul>
    <li>sudo pon dsl-provider </li>
</ul>
激活 ADSL
<ul>
    <li>sudo /etc/ppp/pppoe_on_boot </li>
</ul>
断开 ADSL
<ul>
    <li>sudo poff </li>
</ul>
查看拨号日志
<ul>
    <li>sudo plog </li>
</ul>
如何设置动态域名
<ul>
    <li>#首先去 http://www.3322.org 申请一个动态域名<br />
    #然后修改 /etc/ppp/ip-up 增加拨号时更新域名指令<br />
    sudo vim /etc/ppp/ip-up<br />
    #在最后增加如下行<br />
    w3m -no-cookie -dump 'http://username:password@members.3322.org/dyndns/update?system=dyndns&amp;hostname=yourdns.3322.org'<br />
    </li>
</ul>
网络  根据IP查网卡地址
<ul>
    <li>arping IP地址 </li>
</ul>
查看当前IP地址
<ul>
    <li>ifconfig eth0 |awk '/inet/ {split($2,x,&quot;:&quot;);print x[2]}' </li>
</ul>
查看当前外网的IP地址
<ul>
    <li>w3m -no-cookie -dump www.ip138.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'<br />
    w3m -no-cookie -dump www.123cha.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'<br />
    w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' </li>
</ul>
查看当前监听80端口的程序
<ul>
    <li>lsof -i :80 </li>
</ul>
查看当前网卡的物理地址
<ul>
    <li>arp -a | awk '{print $4}'<br />
    ifconfig eth0 | head -1 | awk '{print $5}' </li>
</ul>
立即让网络支持nat
<ul>
    <li>echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward<br />
    sudo iptables -t nat -I POSTROUTING -j MASQUERADE </li>
</ul>
查看路由信息
<ul>
    <li>netstat -rn<br />
    sudo route -n<br />
    </li>
</ul>
手工增加删除一条路由
<ul>
    <li>sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1<br />
    sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 </li>
</ul>
修改网卡MAC地址的方法
<ul>
    <li>sudo ifconfig eth0 down #关闭网卡<br />
    sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址<br />
    sudo ifconfig eth0 up #然后启动网卡 </li>
</ul>
统计当前IP连接的个数
<ul>
    <li>netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n<br />
    netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r -n </li>
</ul>
统计当前20000个IP包中大于100个IP包的IP地址
<ul>
    <li>tcpdump -tnn -c 20000 -i eth0 | awk -F &quot;.&quot; '{print $1&quot;.&quot;$2&quot;.&quot;$3&quot;.&quot;$4}' | sort | uniq -c | sort -nr | awk ' $1 &gt; 100 ' </li>
</ul>
屏蔽IPV6
<ul>
    <li>echo &quot;blacklist ipv6&quot; | sudo tee /etc/modprobe.d/blacklist-ipv6 </li>
</ul>
服务  添加一个服务
<ul>
    <li>sudo update-rc.d 服务名 defaults 99 </li>
</ul>
删除一个服务
<ul>
    <li>sudo update-rc.d 服务名 remove </li>
</ul>
临时重启一个服务
<ul>
    <li>/etc/init.d/服务名 restart </li>
</ul>
临时关闭一个服务
<ul>
    <li>/etc/init.d/服务名 stop </li>
</ul>
临时启动一个服务
<ul>
    <li>/etc/init.d/服务名 start </li>
</ul>
设置  配置默认Java使用哪个
<ul>
    <li>sudo update-alternatives --config java </li>
</ul>
修改用户资料
<ul>
    <li>sudo chfn userid </li>
</ul>
给apt设置代理
<ul>
    <li>export http_proxy=http://xx.xx.xx.xx:xxx </li>
</ul>
修改系统登录信息
<ul>
    <li>sudo vim /etc/motd </li>
</ul>
中文  转换文件名由GBK为UTF8
<ul>
    <li>sudo apt-get install convmv<br />
    convmv -r -f cp936 -t utf8 --notest --nosmart * </li>
</ul>
批量转换src目录下的所有文件内容由GBK到UTF8
<ul>
    <li>find src -type d -exec mkdir -p utf8/{} ;<br />
    find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} ;<br />
    mv utf8/* src<br />
    rm -fr utf8 </li>
</ul>
转换文件内容由GBK到UTF8
<ul>
    <li>iconv -f gbk -t utf8 $i &gt; newfile </li>
</ul>
转换 mp3 标签编码
<ul>
    <li>sudo apt-get install python-mutagen<br />
    find . -iname &ldquo;*.mp3&rdquo; -execdir mid3iconv -e GBK {} ; </li>
</ul>
控制台下显示中文
<ul>
    <li>sudo apt-get install zhcon<br />
    使用时，输入zhcon即可 </li>
</ul>
文件  快速查找某个文件
<ul>
    <li>whereis filename     </li>
    <li>find 目录 -name 文件名 </li>
</ul>
查看文件类型
<ul>
    <li>file filename </li>
</ul>
显示xxx文件倒数6行的内容
<ul>
    <li>tail -n 6 xxx </li>
</ul>
让tail不停地读地最新的内容
<ul>
    <li>tail -n 10 -f /var/log/apache2/access.log </li>
</ul>
查看文件中间的第五行（含）到第10行（含）的内容
<ul>
    <li>sed -n '5,10p' /var/log/apache2/access.log </li>
</ul>
查找包含xxx字符串的文件
<ul>
    <li>grep -l -r xxx . </li>
</ul>
查找关于xxx的命令
<ul>
    <li>apropos xxx<br />
    man -k xxx </li>
</ul>
通过ssh传输文件
<ul>
    <li>scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上<br />
    scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地 </li>
</ul>
查看某个文件被哪些应用程序读写
<ul>
    <li>lsof 文件名 </li>
</ul>
把所有文件的后辍由rm改为rmvb
<ul>
    <li>rename 's/.rm$/.rmvb/' * </li>
</ul>
把所有文件名中的大写改为小写
<ul>
    <li>rename 'tr/A-Z/a-z/' * </li>
</ul>
删除特殊文件名的文件，如文件名：--help.txt
<ul>
    <li>rm -- --help.txt 或者 rm ./--help.txt </li>
</ul>
查看当前目录的子目录
<ul>
    <li>ls -d */. 或 echo */. </li>
</ul>
将当前目录下最近30天访问过的文件移动到上级back目录
<ul>
    <li>find . -type f -atime -30 -exec mv {} ../back ; </li>
</ul>
将当前目录下最近2小时到8小时之内的文件显示出来
<ul>
    <li>find . -mmin +120 -mmin -480 -exec more {} ; </li>
</ul>
删除修改时间在30天之前的所有文件
<ul>
    <li>find . -type f -mtime +30 -mtime -3600 -exec rm {} ; </li>
</ul>
查找guest用户的以avi或者rm结尾的文件并删除掉
<ul>
    <li>find . -name '*.avi' -o -name '*.rm' -user 'guest' -exec rm {} ; </li>
</ul>
查找的不以java和xml结尾,并7天没有使用的文件删除掉
<ul>
    <li>find . ! -name *.java ! -name &lsquo;*.xml&rsquo; -atime +7 -exec rm {} ; </li>
</ul>
统计当前文件个数
<ul>
    <li>ls /usr/bin|wc -w </li>
</ul>
统计当前目录个数
<ul>
    <li>ls -l /usr/bin|grep ^d|wc -l </li>
</ul>
显示当前目录下2006-01-01的文件名
<ul>
    <li>ls -l |grep 2006-01-01 |awk '{print $8}' </li>
</ul>
压缩  解压缩 xxx.tar.gz
<ul>
    <li>tar -zxvf xxx.tar.gz </li>
</ul>
解压缩 xxx.tar.bz2
<ul>
    <li>tar -jxvf xxx.tar.bz2 </li>
</ul>
压缩aaa bbb目录为xxx.tar.gz
<ul>
    <li>tar -zcvf xxx.tar.gz aaa bbb </li>
</ul>
压缩aaa bbb目录为xxx.tar.bz2
<ul>
    <li>tar -jcvf xxx.tar.bz2 aaa bbb </li>
</ul>
Nautilus  显示隐藏文件
<ul>
    <li>Ctrl+h </li>
</ul>
显示地址栏
<ul>
    <li>Ctrl+l </li>
</ul>
特殊 URI 地址
<ul>
    <li>* computer:/// - 全部挂载的设备和网络<br />
    * network:/// - 浏览可用的网络<br />
    * burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录<br />
    * smb:/// - 可用的 windows/samba 网络资源<br />
    * x-nautilus-desktop:/// - 桌面项目和图标<br />
    * file:/// - 本地文件<br />
    * trash:/// - 本地回收站目录<br />
    * ftp:// - FTP 文件夹<br />
    * ssh:// - SSH 文件夹<br />
    * fonts:/// - 字体文件夹，可将字体文件拖到此处以完成安装<br />
    * themes:/// - 系统主题文件夹<br />
    </li>
</ul>
查看已安装字体
<ul>
    <li>在nautilus的地址栏里输入&rdquo;fonts:///&ldquo;，就可以查看本机所有的fonts </li>
</ul>
程序  详细显示程序的运行信息
<ul>
    <li>strace -f -F -o outfile <cmd> </cmd></li>
</ul>
日期和时间  设置日期
<ul>
    <li>#date -s mm/dd/yy </li>
</ul>
设置时间
<ul>
    <li>#date -s HH:MM </li>
</ul>
将时间写入CMOS
<ul>
    <li>hwclock --systohc </li>
</ul>
读取CMOS时间
<ul>
    <li>hwclock --hctosys </li>
</ul>
从服务器上同步时间
<ul>
    <li>sudo ntpdate time.nist.gov<br />
    sudo ntpdate time.windows.com<br />
    </li>
</ul>
控制台  不同控制台间切换
<ul>
    <li>Ctrl + ALT + &larr;<br />
    Ctrl + ALT + &rarr; </li>
</ul>
指定控制台切换
<ul>
    <li>Ctrl + ALT + Fn(n:1~7) </li>
</ul>
控制台下滚屏
<ul>
    <li>SHIFT + pageUp/pageDown </li>
</ul>
控制台抓图
<ul>
    <li>setterm -dump n(n:1~7) </li>
</ul>
数据库  mysql的数据库存放在地方
<ul>
    <li>/var/lib/mysql </li>
</ul>
从mysql中导出和导入数据
<ul>
    <li>mysqldump 数据库名 &gt; 文件名 #导出数据库<br />
    mysqladmin create 数据库名 #建立数据库<br />
    mysql 数据库名 &lt; 文件名 #导入数据库 </li>
</ul>
忘了mysql的root口令怎么办
<ul>
    <li>sudo /etc/init.d/mysql stop<br />
    sudo mysqld_safe --skip-grant-tables &amp;<br />
    sudo mysqladmin -u user password 'newpassword''<br />
    sudo mysqladmin flush-privileges </li>
</ul>
修改mysql的root口令
<ul>
    <li>sudo mysqladmin -uroot -p password '你的新密码' </li>
</ul>
其它  下载网站文档
<ul>
    <li>wget -r -p -np -k http://www.21cn.com<br />
    &middot; -r：在本机建立服务器端目录结构；<br />
    &middot; -p: 下载显示HTML文件的所有图片；<br />
    &middot; -np：只下载目标站点指定目录及其子目录的内容；<br />
    &middot; -k: 转换非相对链接为相对链接。 </li>
</ul>
如何删除Totem电影播放机的播放历史记录
<ul>
    <li>rm ~/.recently-used </li>
</ul>
如何更换gnome程序的快捷键
<ul>
    <li>点击菜单，鼠标停留在某条菜单上，键盘输入任意你所需要的键，可以是组合键，会立即生效；<br />
    如果要清除该快捷键，请使用backspace </li>
</ul>
vim 如何显示彩色字符
<ul>
    <li>sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc<br />
    </li>
</ul>
如何在命令行删除在会话设置的启动程序
<ul>
    <li>cd ~/.config/autostart<br />
    rm 需要删除启动程序<br />
    </li>
</ul>
如何提高wine的反应速度 sudo sed -ie '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE<br />
<br />
<br />
～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～～<br />
<span class="genmed"><strong>代码:</strong></span> 	 	 	  NO&nbsp; &nbsp;分类&nbsp; &nbsp;PS1&nbsp; &nbsp;命令名&nbsp; &nbsp;用法及参数&nbsp; &nbsp;功能注解&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
1&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;ls&nbsp; &nbsp;ls -a&nbsp; &nbsp;列出当前目录下的所有文件，包括以.头的隐含文件&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;ls&nbsp; &nbsp;ls -l或ll&nbsp; &nbsp;列出当前目录下文件的详细信息&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;pwd&nbsp; &nbsp;pwd&nbsp; &nbsp;查看当前所在目录的绝对路经&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;cd&nbsp; &nbsp;cd ..&nbsp; &nbsp;回当前目录的上一级目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;cd&nbsp; &nbsp;cd -&nbsp; &nbsp;回上一次所在的目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;cd&nbsp; &nbsp;cd ~ 或 cd&nbsp; &nbsp;回当前用户的宿主目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;cd&nbsp; &nbsp;cd ~用户名&nbsp; &nbsp;回指定用户的宿主目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
2&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;mkdir&nbsp; &nbsp;mkdir 目录名&nbsp; &nbsp;创建一个目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;mkdir&nbsp; &nbsp;mkdir &ndash;p&nbsp; &nbsp;递归式去创建一些嵌套目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;rmdir&nbsp; &nbsp;Rmdir 空目录名&nbsp; &nbsp;删除一个空目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
3&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;rm&nbsp; &nbsp;rm 文件名 文件名&nbsp; &nbsp;删除一个文件或多个文件&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;rm&nbsp; &nbsp;rm -rf 非空目录名&nbsp; &nbsp;递归删除一个非空目录下的一切，不让提式-f&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
4&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;cat&nbsp; &nbsp;cat文件名&nbsp; &nbsp;一屏查看文件内容&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
5&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;more&nbsp; &nbsp;more文件名&nbsp; &nbsp;分页查看文件内容&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
6&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;less&nbsp; &nbsp;less 文件名&nbsp; &nbsp;可控分页查看文件内容&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
7&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;grep&nbsp; &nbsp;grep字符 文件名&nbsp; &nbsp;根据字符匹配来查看文件部分内容&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
8&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;mv&nbsp; &nbsp;mv 路经/文件&nbsp; /经/文件&nbsp; &nbsp;移动相对路经下的文件到绝对路经下&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;mv&nbsp; &nbsp;mv 文件名 新名称&nbsp; &nbsp;在当前目录下改名&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
9&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;cp&nbsp; &nbsp;cp /路经/文件&nbsp; ./&nbsp; &nbsp;移动绝对路经下的文件到当前目录下&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
10&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;find&nbsp; &nbsp;find 路经 -name &ldquo;字符串&rdquo;&nbsp; &nbsp;查找路经所在范围内满足字符串匹配的文件和目录&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
11&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;ln&nbsp; &nbsp;ln 源文件 链接名&nbsp; &nbsp;创建当前目录源文件的硬链接&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;ln /home/test /usr/test1&nbsp; &nbsp;在/usr下建立/home/test的硬链接&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
12&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;ln&nbsp; &nbsp;Ln -s a b&nbsp; &nbsp;创建当前目录下a的符号链接b&nbsp; &nbsp;&nbsp; &nbsp; <br />
13&nbsp; &nbsp;文件管理&nbsp; &nbsp;#&nbsp; &nbsp;touch&nbsp; &nbsp;touch file1 file2&nbsp; &nbsp;创建两个空文件&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
14&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;df&nbsp; &nbsp;df&nbsp; &nbsp;用于报告文件系统的总容量，使用量，剩余容量。&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
15&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;du&nbsp; &nbsp;du -b /home&nbsp; &nbsp;查看目前/HOME目录的容量(k)及子目录的容量(k)。&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
16&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;fdisk&nbsp; &nbsp;fdisk -l&nbsp; &nbsp;查看系统分区信息&nbsp; &nbsp;&nbsp; &nbsp; <br />
17&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;fdisk&nbsp; &nbsp;fdisk /dev/sdb&nbsp; &nbsp;为一块新的SCSI硬盘进行分区&nbsp; &nbsp;&nbsp; &nbsp; <br />
18&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;mkfs.ext3&nbsp; &nbsp;Mkfs.ext3 /dev/sdb1 <br />
&nbsp; &nbsp;为第一块SCSI硬盘的第一主分区格式化成 <br />
ext3的文件系统&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;mkfs.ext2&nbsp; &nbsp;Mkfs.ext2/dev/sdb2 &nbsp; &nbsp;格式化成ext2文件系统&nbsp; &nbsp;&nbsp; &nbsp; <br />
19&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;mount&nbsp; &nbsp;mount -t 文件系统类型 设备路经&nbsp; 访问路经&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;&nbsp; &nbsp;文件系统类型&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Iso9660&nbsp; &nbsp;光驱文件系统&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;vfat&nbsp; &nbsp;Fat文件系统(windows)&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;挂载光驱&nbsp; &nbsp;#&nbsp; &nbsp;mount &ndash;t iso9660 /dev/cdrom /mnt/cdrom&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;挂载FAT&nbsp; &nbsp;#&nbsp; &nbsp;mount &ndash;t vfat /dev/hda5 /mnt/cdrom &nbsp; &nbsp;挂第一个ide的第五个逻辑分区&nbsp; &nbsp;&nbsp; &nbsp; <br />
17&nbsp; &nbsp;磁盘管理&nbsp; &nbsp;#&nbsp; &nbsp;Umount /mnt/cdrom&nbsp; &nbsp; &nbsp;卸载/mnt/cdrom为空&nbsp; &nbsp;&nbsp; &nbsp; <br />
18&nbsp; &nbsp;文件权限&nbsp; &nbsp;#&nbsp; &nbsp;chmod&nbsp; &nbsp;chmod u+s file&nbsp; &nbsp;为file的属主加上特殊权限&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;chmod g+r file&nbsp; &nbsp;为file的属组加上读权限&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;chmod o+w file&nbsp; &nbsp;为file的其它用户加上写权限&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;chmod a-x file&nbsp; &nbsp;为file的所有用户减去执行权限&nbsp; &nbsp;&nbsp; &nbsp; <br />
&nbsp; &nbsp;chmod 765 file&nbsp; 为file的属主设为完全权限，属组设成读写权，其它用户具有读和执心权限&nbsp; &nbsp;&nbsp; &nbsp; <br />
19&nbsp; &nbsp;文件权限&nbsp; &nbsp;#&nbsp; &nbsp;chown&nbsp; &nbsp;chown root /home&nbsp; &nbsp;把/home的属主改成root用户&nbsp; &nbsp;&nbsp; &nbsp; <br />
20&nbsp; &nbsp;文件权限&nbsp; &nbsp;#&nbsp; &nbsp;chgrp&nbsp; &nbsp;chgrp root /home&nbsp; &nbsp;把/home的属组改成root组&nbsp; &nbsp;&nbsp; &nbsp; <br />
21&nbsp; &nbsp;打印管理&nbsp; &nbsp;#&nbsp; &nbsp;redhat-config-printer-tui&nbsp; &nbsp;进入安装打印机界面&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
22&nbsp; &nbsp;打印管理&nbsp; &nbsp;#&nbsp; &nbsp;lp&nbsp; &nbsp;lp &ndash;d hptr file&nbsp; &nbsp;打印file到hptr的打印机上&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
23&nbsp; &nbsp;打印管理&nbsp; &nbsp;#&nbsp; &nbsp;lpq&nbsp; &nbsp;Lpq &ndash;P 打印机名&nbsp; &nbsp;查看打印机的状态&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
24&nbsp; &nbsp;打印管理&nbsp; &nbsp;#&nbsp; &nbsp;lprm&nbsp; &nbsp;Lprm &ndash;P 打印机名 a&nbsp; &nbsp;删除打印机内的打印作业&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
25&nbsp; &nbsp;打印管理&nbsp; &nbsp; #&nbsp; &nbsp;disable&nbsp; &nbsp;Disable &ndash;r &ldquo;changing paper&rdquo; HPtr &nbsp; &nbsp;禁用打印机并提示原因&nbsp; &nbsp;&nbsp; &nbsp; <br />
26&nbsp; &nbsp;打印管理&nbsp; &nbsp;#&nbsp; &nbsp;enable&nbsp; &nbsp;Enable HPtr&nbsp; &nbsp;重新启用被禁用的&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
27&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;useradd&nbsp; &nbsp;Useradd&nbsp; &nbsp;创建一个新的用户&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
28&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;groupadd&nbsp; &nbsp;Groupadd 组名&nbsp; &nbsp;创建一个新的组&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
29&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;passwd&nbsp; &nbsp;Passwd 用户名&nbsp; &nbsp;为用户创建密码&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
30&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Passwd -d&nbsp; &nbsp;Passwd -d用户名&nbsp; &nbsp;删除用户密码也能登陆&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
31&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Passwd -l&nbsp; &nbsp;Passwd -l用户名&nbsp; &nbsp;锁定账号密码&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
32&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Passwd -u&nbsp; &nbsp;Passwd -u用户名&nbsp; &nbsp;解锁账号密码&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
33&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Passwd -S&nbsp; &nbsp;Passwd -S用户名&nbsp; &nbsp;查询账号密码&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
34&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Usermod -l&nbsp; &nbsp;Usermod -l 新用户名 老用户名&nbsp; &nbsp;为用户改名&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
35&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Usermod -L&nbsp; &nbsp;Usermod -L 要锁定用户名&nbsp; &nbsp;锁定用户登陆&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
36&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Usermod -U&nbsp; &nbsp;Usermod &ndash;U解锁用户名&nbsp; &nbsp;解锁用户登陆&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
37&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Usermod -u&nbsp; &nbsp;Usermod &ndash;u 501用户名&nbsp; &nbsp;改变用户UID&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
38&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Userdel&nbsp; &nbsp;Userdel&ndash;r 用户名&nbsp; &nbsp;删除用户一切&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
39&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Groupmod -n&nbsp; &nbsp;Groupmod &ndash;n新用户名 老用户名&nbsp; &nbsp;为组改名&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
40&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Groupmod -g&nbsp; &nbsp;Groupmod &ndash;g 501 组名&nbsp; &nbsp;改变组GID&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
41&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;groupdel&nbsp; &nbsp;Groupdel组名&nbsp; &nbsp; 先应删它的用户&nbsp; &nbsp;删除组&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
42&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;gpasswd -a&nbsp; &nbsp;gpasswd -a 用户名 组名&nbsp; &nbsp;增加用户到组&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
43&nbsp; &nbsp;用户管理&nbsp; &nbsp;#&nbsp; &nbsp;Id &nbsp; &nbsp;id&nbsp; &nbsp;用户名&nbsp; &nbsp;查用户信息&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
44&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -qa&nbsp; &nbsp;rpm &ndash;qa | less&nbsp; &nbsp;查询已安装RPM&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
45&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;&nbsp; &nbsp;rpm &ndash;qa | grep ftp&nbsp; &nbsp;查询指定RPM&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
46&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -q&nbsp; &nbsp;rpm -q 已安装的RPM包&nbsp; &nbsp;查是否安装&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
47&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;&nbsp; &nbsp;rpm -q telnet-server&nbsp; &nbsp;查看telnet服务器包&nbsp; &nbsp;&nbsp; &nbsp; <br />
48&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -qi&nbsp; &nbsp;rpm &ndash;qi 软件包名称&nbsp; &nbsp;查看软件的描述信息&nbsp; &nbsp;&nbsp; &nbsp; <br />
49&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -ql&nbsp; &nbsp;rpm &ndash;ql软件包名称&nbsp; &nbsp;查询软件包的文件列表&nbsp; &nbsp;&nbsp; &nbsp; <br />
50&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -qf&nbsp; &nbsp;rpm &ndash;qf软件包名称&nbsp; &nbsp;查询某个文件所属的软件包&nbsp; &nbsp;&nbsp; &nbsp; <br />
51&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -qp&nbsp; &nbsp;rpm &ndash;qp软件包全名&nbsp; &nbsp;查询未安装的软件包信息&nbsp; &nbsp;&nbsp; &nbsp; <br />
52&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -e&nbsp; &nbsp;rpm &ndash;e 软件包名称&nbsp; &nbsp;删除具体的软件包&nbsp; &nbsp;&nbsp; &nbsp; <br />
53&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -U&nbsp; &nbsp;rpm &ndash;Uvh软件包全名&nbsp; &nbsp;升级软件包并显示过程&nbsp; &nbsp;&nbsp; &nbsp; <br />
54&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -ivh&nbsp; &nbsp;rpm &ndash;ivh 软件包全名&nbsp; &nbsp;安装软件包并显示过程&nbsp; &nbsp;&nbsp; &nbsp; <br />
55&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;rpm -V&nbsp; &nbsp;rpm &ndash;V软件包名称&nbsp; &nbsp;验证软件包的大小，类型等&nbsp; &nbsp;&nbsp; &nbsp; <br />
56&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar &nbsp; &nbsp;-c 创建包 &ndash;x 释放包&nbsp; -v 显示命令过程 &ndash;z 代表压缩包&nbsp; &nbsp;&nbsp; &nbsp; <br />
57&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar -cf&nbsp; &nbsp;tar &ndash;cvf benet.tar /home/benet&nbsp; &nbsp;把/home/benet目录打包&nbsp; &nbsp;&nbsp; &nbsp; <br />
58&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar -czf&nbsp; &nbsp;tar &ndash;zcvf benet.tar.gz /mnt&nbsp; &nbsp;把目录打包并压缩&nbsp; &nbsp;&nbsp; &nbsp; <br />
59&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar &ndash;tf&nbsp; &nbsp;tar &ndash;tf benet.tar&nbsp; &nbsp;看非压缩包的文件列表&nbsp; &nbsp;&nbsp; &nbsp; <br />
60&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar &ndash;tzf&nbsp; &nbsp;tar &ndash;tf benet.tar.gz&nbsp; &nbsp;看压缩包的文件列表&nbsp; &nbsp;&nbsp; &nbsp; <br />
61&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar &ndash;xf&nbsp; &nbsp;tar &ndash;xf benet.tar&nbsp; &nbsp;非压缩包的文件恢复&nbsp; &nbsp;&nbsp; &nbsp; <br />
62&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar &ndash;zxvf&nbsp; &nbsp;tar &ndash;zxvf benet.tar.gz&nbsp; &nbsp;压缩包的文件解压恢复&nbsp; &nbsp;&nbsp; &nbsp; <br />
63&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;tar -jxvf&nbsp; &nbsp;tar &ndash;jxvf benet.tar.bz2&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
64&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;diff&nbsp; &nbsp;diff file1 file2 &gt; 补丁名.patch&nbsp; &nbsp;为新旧文件生成补丁文件&nbsp; &nbsp;&nbsp; &nbsp; <br />
65&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;diff&nbsp; &nbsp;diff file1 file2&nbsp; &nbsp;比较两个文件的区别&nbsp; &nbsp;&nbsp; &nbsp; <br />
66&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;Patch &nbsp; &nbsp;Patch file补丁名.patch&nbsp; &nbsp;打补丁&nbsp; &nbsp;&nbsp; &nbsp; <br />
67&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;./configure&nbsp; --prefix=/usr/local/&nbsp; &nbsp;编译前配置&nbsp; &nbsp;&nbsp; &nbsp; <br />
68&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;make&nbsp; &nbsp;编译&nbsp; &nbsp;&nbsp; &nbsp; <br />
69&nbsp; &nbsp;软件管理&nbsp; &nbsp;#&nbsp; &nbsp;make install&nbsp; &nbsp;安装编译好的源码包&nbsp; &nbsp;&nbsp; &nbsp; <br />
70&nbsp; &nbsp;启动管理&nbsp; &nbsp;#&nbsp; &nbsp;reboot&nbsp; &nbsp;Init 6&nbsp; &nbsp;重启LINUX系统&nbsp; &nbsp;&nbsp; &nbsp; <br />
71&nbsp; &nbsp;启动管理&nbsp; &nbsp;#&nbsp; &nbsp;Halt&nbsp; &nbsp;Init 0&nbsp; &nbsp;Shutdown &ndash;h now&nbsp; &nbsp;关闭LINUX系统&nbsp; &nbsp;&nbsp; &nbsp; <br />
72&nbsp; &nbsp;启动管理&nbsp; &nbsp;#&nbsp; &nbsp;runlevel&nbsp; &nbsp;&nbsp; &nbsp;显示系统运行级&nbsp; &nbsp;&nbsp; &nbsp; <br />
73&nbsp; &nbsp;启动管理&nbsp; &nbsp;#&nbsp; &nbsp;Init [0123456] &nbsp; &nbsp;&nbsp; &nbsp;改变系统运行级,7种&nbsp; &nbsp;&nbsp; &nbsp; <br />
74&nbsp; &nbsp;启动管理&nbsp; &nbsp;#&nbsp; &nbsp;Chkconfig &ndash;-list [服务名称]&nbsp; &nbsp;查看服务的状态&nbsp; &nbsp;&nbsp; &nbsp; <br />
75&nbsp; &nbsp;启动管理&nbsp; &nbsp;#&nbsp; &nbsp;Chkconfig &ndash;-level &lt;运行级&gt; &lt;服务名&gt; on|off|set &nbsp; &nbsp;设置服务的启动状态&nbsp; &nbsp;&nbsp; &nbsp; <br />
76&nbsp; &nbsp;启动管理&nbsp; &nbsp;#&nbsp; &nbsp;Chkconfig &lt;服务名&gt; on|off|set&nbsp; &nbsp;设置非独立服务启状态&nbsp; &nbsp;&nbsp; &nbsp; <br />
77&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;Top动态&nbsp; &nbsp;Ps-aux静态&nbsp; &nbsp;进程树pstree&nbsp; &nbsp; 查看系统进程&nbsp; &nbsp;&nbsp; &nbsp; <br />
78&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;程序名 &amp;&nbsp; &nbsp;后台运行程序&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
79&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;fg&nbsp; &nbsp;把后台运行的进程调回前台&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
80&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;bg&nbsp; &nbsp;把前台运行进程调到后台&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
81&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;renice&nbsp; &nbsp;Renice +1 180 &nbsp; &nbsp;把180号进程的优先级加1&nbsp; &nbsp;&nbsp; &nbsp; <br />
82&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;kill&nbsp; &nbsp;Kill PID &nbsp; &nbsp;终止某个PID进程&nbsp; &nbsp;&nbsp; &nbsp; <br />
83&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;at&nbsp; &nbsp;at 5pm + 3 days <br />
/bin/ls&nbsp; &nbsp;指定三天后下午5:00执行/bin/ls&nbsp; &nbsp;&nbsp; &nbsp; <br />
84&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;crontab&nbsp; &nbsp;Crontab -e&nbsp; &nbsp;用VI的形式来编辑自动周期性任务&nbsp; &nbsp;&nbsp; &nbsp; <br />
85&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;crontab&nbsp; &nbsp;Crontab -l&nbsp; &nbsp;查看自动周期性任务&nbsp; &nbsp;&nbsp; &nbsp; <br />
86&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;crontab&nbsp; &nbsp;Crontab -r&nbsp; &nbsp;删除自动周期性任务&nbsp; &nbsp;&nbsp; &nbsp; <br />
87&nbsp; &nbsp;进程管理&nbsp; &nbsp;#&nbsp; &nbsp;crond&nbsp; &nbsp;Service crond
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/96522#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 01 Jul 2007 22:08:00 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/96522</link>
        <guid>http://cxianf.javaeye.com/blog/96522</guid>
      </item>
      <item>
        <title>业务架构平台中间件厂商</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/44334" style="color:red;">http://cxianf.javaeye.com/blog/44334</a>&nbsp;
          发表时间: 2007年01月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>炎黄盈动,中创软件,理想科技,泛微软件,浙大挖网新兰德,浪潮,信雅达,世纪金政,东方通,盛松科技,金科成,有生软件,东方思维,东兰科技,普元,凌科,西安协同</p>
<p><font face="Arial">http://middleware.csdn.net/subject/products.htm</font></p>
<p><font size="3" color="#ffffff" face="黑体">动AWS开发平台</font> </p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/44334#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 08 Jan 2007 11:34:34 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/44334</link>
        <guid>http://cxianf.javaeye.com/blog/44334</guid>
      </item>
      <item>
        <title>我对java学习和java程序员找工作的看法(转载)</title>
        <author>cxianf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://cxianf.javaeye.com">cxianf</a>&nbsp;
          链接：<a href="http://cxianf.javaeye.com/blog/44325" style="color:red;">http://cxianf.javaeye.com/blog/44325</a>&nbsp;
          发表时间: 2007年01月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本人做软件开发大概有６年多了，从事ＪＡＶＡ开发大概４年多，一直在上海．<br />
现在我在网上总是看到大家在讨论什么架构比什么架构好，什么技术比什么技术强．<br />
对这个我想谈谈我的几点看法．　<br />
　　第一、我觉得谈架构是需要有资格的。如果你ＴＨＩＮＫ　ＪＡＶＡ或<br />
ＪＡＶＡ核心技术这两本书还有很多你不能理解　那么你最好先把其中的一本看个滚瓜烂熟，再去看其他技术。你ＳＥＲＶＬＥＴＳ用得很熟练了么？如果没有，那么strust你应该先停下来。如果ＪＤＢＣ还不熟，（我的意思是至少你要知道它是总样工作，总样能提高对数据库操作的效率，不是只会调简单的调一ＳＴ对象，写一句简单的ＳＱＬ）就没有必要去讨论Hibernate之类。当然你可能在工作时候正好用到我说的Hibernate，strust。不过你还是不应该把时间放到这个上面，因为工作中用到它们的地方不是很多。还是应该先把基础打好。Hibernate，strust这样的东西能给你工作带来很大的方便，但是你去学习它的应该是他的原理和为什么要这么做，而不是简单的学习怎么用。我以前是ＳＥＲＶＬＥＴＳ程序员，三年前第一次拿到ＳＴＲＵＳＴ我好象马上就会用。那些标签库我估计我也能写出来　只不过可能考虑不到那么全。<br />
　　　如果你是刚开始找工作的，我觉得你只需要简单的会一点ＳＴＲＵＳＴ就可以，把主要精力放到ＪＡＶＡＶ基础，ＪＳＰ，ＳＥＲＶＬＥＴＳ上　然后ＪＤＢＣ看点，没有公司会对一个新人有太高要求，因为它不会给你很高工资的。不同工资的人做不同事情的。如果公司要采用什么架构也不需要你来做的，有更高工资和更多经验的人会来做这个事情的。你要做的事情不会很多，而且只要你态度好，即使有什么不会也有人会教你的。而面试的时候问得多的也是ＪＡＶＡ基础　ＪＳＰ　ＳＥＲＶＬＥＴＳ这些东西，其他的象ＳＰＲＩＮＧ，Hibernate你完全可以直接说你没有用过。不是每个公司全部采用这些的，关键还是基础。基础好学什么也容易。所以为什么说面试最关键的是你现在会什么　而是你要让人知道你以后会什么。<br />
<br />
　　第二、我觉得你应该考虑你是为什么学习软件的。我比较俗气，我是为了更好的待遇才学习软件的。我以前是ＶＢ程序员，为什么要学习ＪＡＶＡ，我就因为当时认为ＪＡＶＡ有钱途（本人绝对没有说ＶＢ没有钱途的意思，只要你厉害是一样的，我的意思是平行对比，一个不怎么厉害的ＪＡＶＡ程序员就可以拿到够高的工资，前几年确实是这样的）本人现在在一家民营企业上班，待遇是１０Ｋ／月实在惭愧的是工作了这么多年外语还是很烂，如果外语很好，我估计工资提高一半应该是没有问题的。<br />
和我同时来上海　同时进同一个公司的的同事现在一般是年薪２００Ｋ，他们的优势在于外语。在上海一般工作３年的ＪＡＶＡ程序员的待遇应该在６Ｋ／月，５年以上应该年薪１００Ｋ是没有问题的，这个待遇不是只外语很好的人，也不是指特别厉害的人我说的只是大众化　正常化的（外语可以是日语和英语不要说学日语是汉奸，这只能说明你浅薄）如果你现在的待遇还达不到我说的，那么你应该把时间放到找工作的技巧上。而不是在这里讨论没有意义的技术，只有工资上去了其他的才会上去，一个程序员是很难接触到系统分析和架构的，而一个系统分析员和系统架构师工资也很低的公司明显不是你要呆的地方。<br />
　　我可以很明确的说，我说的工资待遇不是乱说的，本人找１０Ｋ／月的工作只需要一个星期就能搞定，而３年前找６Ｋ／月的也是如此。我就是在５１ＪＯＢ投的简历。（我记得我找工作是星期五投的简历，到下星期三的时候面试已经排到下下星期五了，一天安排两份面试，所以说找个工作绝对不难）<br />
而且我的水平也不好，现在还在看ＴＨＩＮＫ　ＪＡＶＡ。（说出来有点不好意思）我身边的程序员也基本能拿到我上面说的水平，而且这个水平在上海是中等偏低的。如果你找不到，那么就是你能力和找工作技巧有问题<br />
　　<br />
<br />
　　第三、当你基础也很好，待遇也满意的时候，那么你就要考虑你自己的职业前景了，所以什么技术好，什么技术差对你不重要了。技术只是一部分，还有很多其他的东西也很重要。<br />
<br />
　　我现在研究ＳＯＡ方面的东西，ＪＡＶＡ方面我可能更看重ＥＪＢ一点，我用过ＳＰＲＩＮＧ一年多点，觉得也不错。不过我可能想进大的公司，所以更看重ＥＪＢ一些。一般大公司面试不太会问ＳＰＲＩＮＧ，可是问ＥＪＢ的可能性很大的。特别是事务处理方面的东西。<br />
<br />
　　我强烈建议做为一个程序员，无乱花多大的代价也应该把你的外语搞上去，我指的是可以直接和国外客户进行交流，如果你现在在做日本项目那么就把日语搞上去，如果你现在不是做日本项目，那么我觉得你应该直接把英语搞上去。外语好待遇高是一回事情，同样职业前景也会更好。以后做欧美的项目会越来越多的。我希望所有做ＪＡＶＡ的人都能找到一份好的工作，也希望你们的技术水平越来越高。<br />
<br />
　　本人只是谈谈自己的看法，如果你觉得和你的看法不同，就当作没有看过，不要口吐脏话。我的观点只代表我自己，没有要强加给其他人的意思。我们很多在上海程序员应该是从外地过来的，生活压力很大，我只是希望大家能生活得更好，活得更开心。<br />
          <br/><br/>
          <span style="color:red;">
            <a href="http://cxianf.javaeye.com/blog/44325#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 08 Jan 2007 10:33:59 +0800</pubDate>
        <link>http://cxianf.javaeye.com/blog/44325</link>
        <guid>http://cxianf.javaeye.com/blog/44325</guid>
      </item>
  </channel>
</rss>