﻿<?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</title><link>http://www.blogjava.net/DLevin/category/49483.html</link><description>In general the OO style is to use a lot of little objects with a lot of little methods that give us a lot of plug points for overriding and variation.
To do is to be -Nietzsche, To bei is to do -Kant, Do be do be do -Sinatra</description><language>zh-cn</language><lastBuildDate>Thu, 01 Jan 2015 02:03:23 GMT</lastBuildDate><pubDate>Thu, 01 Jan 2015 02:03:23 GMT</pubDate><ttl>60</ttl><item><title>Linux TOP命令详解</title><link>http://www.blogjava.net/DLevin/archive/2014/12/31/421982.html</link><dc:creator>DLevin</dc:creator><author>DLevin</author><pubDate>Wed, 31 Dec 2014 02:48:00 GMT</pubDate><guid>http://www.blogjava.net/DLevin/archive/2014/12/31/421982.html</guid><wfw:comment>http://www.blogjava.net/DLevin/comments/421982.html</wfw:comment><comments>http://www.blogjava.net/DLevin/archive/2014/12/31/421982.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DLevin/comments/commentRss/421982.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DLevin/services/trackbacks/421982.html</trackback:ping><description><![CDATA[<div>转自：http://www.linuxidc.com/Linux/2011-03/33582.htm</div><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">1：在命令行提示符执行top命令</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">2：输入大写P，则结果按CPU占用降序排序。输入大写M，结果按内存占用降序排序。（注：大写P可以在capslock状态输入p，或者按Shift+p）</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">另外：</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">认识top的显示结果</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">top命令的显示结果如下所示：</p><span style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 <br />Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie <br />Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si <br />Mem: 191272k total, 173656k used, 17616k free, 22052k buffers <br />Swap: 192772k total, 0k used, 192772k free, 123988k cached <br /><br />PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND <br />1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd <br />14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top <br />1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init <br />2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 <br />3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0<br /><br /><strong>统计信息区</strong></span><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">前五行是系统整体的统计信息。第一行是任务队列信息，同 uptime 命令的执行结果。其内容如下：</p><div style="word-wrap: break-word; font-family: tahoma, 宋体; line-height: 22.3999996185303px; color: #333333; text-align: justify; background-color: #fafafc;"><table cellspacing="1" border="0" style="border-style: solid; border-color: #90a080; margin: 10px; background-color: #90a080;"><tbody><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">01:06:48</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">当前时间</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">up 1:22</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">系统运行时间，格式为时:分</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">1 user</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">当前登录用户数</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">load average: 0.06, 0.60, 0.48</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">系统负载，即任务队列的平均长度。<br />三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。</td></tr></tbody></table></div><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">第二、三行为进程和CPU的信息。当有多个CPU时，这些内容可能会超过两行。内容如下：</p><div style="word-wrap: break-word; font-family: tahoma, 宋体; line-height: 22.3999996185303px; color: #333333; text-align: justify; background-color: #fafafc;"><table cellspacing="1" border="0" style="border-style: solid; border-color: #90a080; margin: 10px; background-color: #90a080;"><tbody><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">Tasks: 29 total</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程总数</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">1 running</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">正在运行的进程数</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">28 sleeping</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">睡眠的进程数</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">0 stopped</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">停止的进程数</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">0 zombie</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">僵尸进程数</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">Cpu(s): 0.3% us</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">用户空间占用CPU百分比</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">1.0% sy</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">内核空间占用CPU百分比</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">0.0% ni</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">用户进程空间内改变过优先级的进程占用CPU百分比</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">98.7% id</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">空闲CPU百分比</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">0.0% wa</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">等待输入输出的CPU时间百分比</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">0.0% hi</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;"></td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">0.0% si</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;"></td></tr></tbody></table></div><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">最后两行为内存信息。内容如下：</p><div style="word-wrap: break-word; font-family: tahoma, 宋体; line-height: 22.3999996185303px; color: #333333; text-align: justify; background-color: #fafafc;"><table cellspacing="1" border="0" style="border-style: solid; border-color: #90a080; margin: 10px; background-color: #90a080;"><tbody><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">Mem: 191272k total</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">物理内存总量</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">173656k used</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">使用的物理内存总量</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">17616k free</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">空闲内存总量</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">22052k buffers</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">用作内核缓存的内存量</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">Swap: 192772k total</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">交换区总量</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">0k used</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">使用的交换区总量</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">192772k free</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">空闲交换区总量</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">123988k cached</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">缓冲的交换区总量。<br />内存中的内容被换出到交换区，而后又被换入到内存，但使用过的交换区尚未被覆盖，<br />该数值即为这些<strong>内容已存在于内存中</strong>的交换区的大小。<br />相应的内存再次被换出时可不必再对交换区写入。</td></tr></tbody></table></div><span style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><strong>进程信息区</strong></span><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。</p><div style="word-wrap: break-word; font-family: tahoma, 宋体; line-height: 22.3999996185303px; color: #333333; text-align: justify; background-color: #fafafc;"><table cellspacing="1" border="0" style="border-style: solid; border-color: #90a080; margin: 10px; background-color: #90a080;"><thead><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">序号</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">列名</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">含义</td></tr></thead><tbody><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">a</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">PID</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程id</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">b</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">PPID</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">父进程id</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">c</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">RUSER</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">Real user name</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">d</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">UID</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程所有者的用户id</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">e</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">USER</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程所有者的用户名</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">f</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">GROUP</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程所有者的组名</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">g</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">TTY</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">启动进程的终端名。不是从终端启动的进程则显示为 ?</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">h</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">PR</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">优先级</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">i</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">NI</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">nice值。负值表示高优先级，正值表示低优先级</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">j</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">P</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">最后使用的CPU，仅在多CPU环境下有意义</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">k</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">%CPU</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">上次更新到现在的CPU时间占用百分比</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">l</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">TIME</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程使用的CPU时间总计，单位秒</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">m</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">TIME+</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程使用的CPU时间总计，单位1/100秒</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">n</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">%MEM</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程使用的<strong>物理内存</strong>百分比</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">o</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">VIRT</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程使用的虚拟内存总量，单位kb。VIRT=SWAP+RES</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">p</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">SWAP</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程使用的虚拟内存中，被换出的大小，单位kb。</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">q</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">RES</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程使用的、未被换出的物理内存大小，单位kb。RES=CODE+DATA</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">r</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">CODE</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">可执行代码占用的<strong>物理</strong>内存大小，单位kb</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">s</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">DATA</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">可执行代码以外的部分(数据段+栈)占用的<strong>物理</strong>内存大小，单位kb</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">t</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">SHR</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">共享内存大小，单位kb</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">u</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">nFLT</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">页面错误次数</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">v</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">nDRT</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">最后一次写入到现在，被修改过的页面数。</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">w</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">S</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">进程状态。<br /><strong>D</strong>=不可中断的睡眠状态<br /><strong>R</strong>=运行<br /><strong>S</strong>=睡眠<br /><strong>T</strong>=跟踪/停止<br /><strong>Z</strong>=僵尸进程</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">x</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">COMMAND</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">命令名/命令行</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">y</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">WCHAN</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">若该进程在睡眠，则显示睡眠中的系统函数名</td></tr><tr><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">z</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">Flags</td><td style="font-size: 14px; word-wrap: break-word; line-height: 1.6; padding: 2px 5px; margin: 0px; background-color: #ffffff;">任务标志，参考 sched.h</td></tr></tbody></table></div><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。</p><span style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><strong>更改显示内容</strong></span><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><strong>通过&nbsp;f&nbsp;键可以选择显示的内容。</strong>按 f 键之后会显示列的列表，按 a-z 即可显示或隐藏对应的列，最后按回车键确定。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><strong>按&nbsp;o&nbsp;键可以改变列的显示顺序。</strong>按小写的 a-z 可以将相应的列向右移动，而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">按大写的&nbsp;<strong>F</strong>&nbsp;或&nbsp;<strong>O</strong>&nbsp;键，然后按 a-z 可以将进程按照相应的列进行排序。而大写的&nbsp;<strong>R</strong>&nbsp;键可以将当前的排序倒转。<br /><br /><strong>添加：</strong><br />top还可以用来显示一个进程中各个线程CPU的占用率：<br />top -p &lt;pid&gt; -H<br /><br />按CPU排序，找到对应的PID即是CPU占用最多的线程，在Java中可以使用jstack将该线程的堆栈打印出来，使用这个线程ID查找对应的线程堆栈（要先将线程ID转换成16进制）。</p><img src ="http://www.blogjava.net/DLevin/aggbug/421982.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DLevin/" target="_blank">DLevin</a> 2014-12-31 10:48 <a href="http://www.blogjava.net/DLevin/archive/2014/12/31/421982.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下解压命令大全(转)</title><link>http://www.blogjava.net/DLevin/archive/2014/06/09/414521.html</link><dc:creator>DLevin</dc:creator><author>DLevin</author><pubDate>Sun, 08 Jun 2014 16:33:00 GMT</pubDate><guid>http://www.blogjava.net/DLevin/archive/2014/06/09/414521.html</guid><wfw:comment>http://www.blogjava.net/DLevin/comments/414521.html</wfw:comment><comments>http://www.blogjava.net/DLevin/archive/2014/06/09/414521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DLevin/comments/commentRss/414521.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DLevin/services/trackbacks/414521.html</trackback:ping><description><![CDATA[源：http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->.tar&nbsp;<br />解包：tar&nbsp;xvf&nbsp;FileName.tar<br />打包：tar&nbsp;cvf&nbsp;FileName.tar&nbsp;DirName<br />（注：tar是打包，不是压缩！）<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.gz<br />解压1：gunzip&nbsp;FileName.gz<br />解压2：gzip&nbsp;-d&nbsp;FileName.gz<br />压缩：gzip&nbsp;FileName<br /><br />.tar.gz&nbsp;和&nbsp;.tgz<br />解压：tar&nbsp;zxvf&nbsp;FileName.tar.gz<br />压缩：tar&nbsp;zcvf&nbsp;FileName.tar.gz&nbsp;DirName<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.bz2<br />解压1：bzip2&nbsp;-d&nbsp;FileName.bz2<br />解压2：bunzip2&nbsp;FileName.bz2<br />压缩：&nbsp;bzip2&nbsp;-z&nbsp;FileName<br /><br />.tar.bz2<br />解压：tar&nbsp;jxvf&nbsp;FileName.tar.bz2<br />压缩：tar&nbsp;jcvf&nbsp;FileName.tar.bz2&nbsp;DirName<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.bz<br />解压1：bzip2&nbsp;-d&nbsp;FileName.bz<br />解压2：bunzip2&nbsp;FileName.bz<br />压缩：未知<br /><br />.tar.bz<br />解压：tar&nbsp;jxvf&nbsp;FileName.tar.bz<br />压缩：未知<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.Z<br />解压：uncompress&nbsp;FileName.Z<br />压缩：compress&nbsp;FileName<br />.tar.Z<br /><br />解压：tar&nbsp;Zxvf&nbsp;FileName.tar.Z<br />压缩：tar&nbsp;Zcvf&nbsp;FileName.tar.Z&nbsp;DirName<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.zip<br />解压：unzip&nbsp;FileName.zip<br />压缩：zip&nbsp;FileName.zip&nbsp;DirName<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.rar<br />解压：rar&nbsp;x&nbsp;FileName.rar<br />压缩：rar&nbsp;a&nbsp;FileName.rar&nbsp;DirName<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.lha<br />解压：lha&nbsp;-e&nbsp;FileName.lha<br />压缩：lha&nbsp;-a&nbsp;FileName.lha&nbsp;FileName<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.rpm<br />解包：rpm2cpio&nbsp;FileName.rpm&nbsp;|&nbsp;cpio&nbsp;-div<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.deb<br />解包：ar&nbsp;p&nbsp;FileName.deb&nbsp;data.tar.gz&nbsp;|&nbsp;tar&nbsp;zxf&nbsp;-<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />.tar&nbsp;.tgz&nbsp;.tar.gz&nbsp;.tar.Z&nbsp;.tar.bz&nbsp;.tar.bz2&nbsp;.zip&nbsp;.cpio&nbsp;.rpm&nbsp;.deb&nbsp;.slp&nbsp;.arj&nbsp;.rar&nbsp;.ace&nbsp;.lha&nbsp;.lzh&nbsp;.lzx&nbsp;.lzs&nbsp;.arc&nbsp;.sda&nbsp;.sfx&nbsp;.lnx&nbsp;.zoo&nbsp;.cab&nbsp;.kar&nbsp;.cpt&nbsp;.pit&nbsp;.sit&nbsp;.sea<br />解压：sEx&nbsp;x&nbsp;FileName.*<br />压缩：sEx&nbsp;a&nbsp;FileName.*&nbsp;FileName<br /><br />sEx只是调用相关程序，本身并无压缩、解压功能，请注意！<br /><br />gzip&nbsp;命令&nbsp;<br />减少文件大小有两个明显的好处，一是可以减少存储空间，二是通过网络传输文件时，可以减少传输的时间。gzip&nbsp;是在&nbsp;Linux&nbsp;系统中经常使用的一个对文件进行压缩和解压缩的命令，既方便又好用。<br /><br />语法：gzip&nbsp;[选项]&nbsp;压缩（解压缩）的文件名该命令的各选项含义如下：<br /><br />-c&nbsp;将输出写到标准输出上，并保留原有文件。-d&nbsp;将压缩文件解压。-l&nbsp;对每个压缩文件，显示下列字段：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;压缩文件的大小；未压缩文件的大小；压缩比；未压缩文件的名字-r&nbsp;递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t&nbsp;测试，检查压缩文件是否完整。-v&nbsp;对每一个压缩和解压的文件，显示文件名和压缩比。-num&nbsp;用指定的数字&nbsp;num&nbsp;调整压缩的速度，-1&nbsp;或&nbsp;--fast&nbsp;表示最快压缩方法（低压缩比），-9&nbsp;或--best表示最慢压缩方法（高压缩比）。系统缺省值为&nbsp;6。指令实例：<br /><br />gzip&nbsp;*%&nbsp;把当前目录下的每个文件压缩成&nbsp;.gz&nbsp;文件。gzip&nbsp;-dv&nbsp;*%&nbsp;把当前目录下每个压缩的文件解压，并列出详细的信息。gzip&nbsp;-l&nbsp;*%&nbsp;详细显示例1中每个压缩的文件的信息，并不解压。gzip&nbsp;usr.tar%&nbsp;压缩&nbsp;tar&nbsp;备份文件&nbsp;usr.tar，此时压缩文件的扩展名为.tar.gz。</div><img src ="http://www.blogjava.net/DLevin/aggbug/414521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DLevin/" target="_blank">DLevin</a> 2014-06-09 00:33 <a href="http://www.blogjava.net/DLevin/archive/2014/06/09/414521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实用Shell代码工具记录</title><link>http://www.blogjava.net/DLevin/archive/2011/12/13/366300.html</link><dc:creator>DLevin</dc:creator><author>DLevin</author><pubDate>Tue, 13 Dec 2011 15:12:00 GMT</pubDate><guid>http://www.blogjava.net/DLevin/archive/2011/12/13/366300.html</guid><wfw:comment>http://www.blogjava.net/DLevin/comments/366300.html</wfw:comment><comments>http://www.blogjava.net/DLevin/archive/2011/12/13/366300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DLevin/comments/commentRss/366300.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DLevin/services/trackbacks/366300.html</trackback:ping><description><![CDATA[1. 清空文件<br />cat /dev/null &gt; file.name<br /><br />2. 实现输入不提示代码<br /><div><div><p>#! /bin/sh</p>  <p>printf &#8220;Enter your password:&#8221;</p>  <p>stty &#8211;echo</p>  <p>read password &lt; /dev/tty</p>  <p>printf &#8220;\nEnter again:&#8221;</p>  <p>read password2 &lt; /dev/tty</p>  <p>stty echo</p>  <p>printf &#8220;\n&#8221;</p>  <p>echo &#8220;password 1 is : $password&#8221;</p>  <p>echo &#8220;password 2 is : $password2&#8221;</p></div></div><img src ="http://www.blogjava.net/DLevin/aggbug/366300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DLevin/" target="_blank">DLevin</a> 2011-12-13 23:12 <a href="http://www.blogjava.net/DLevin/archive/2011/12/13/366300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库命令收集</title><link>http://www.blogjava.net/DLevin/archive/2011/11/04/357719.html</link><dc:creator>DLevin</dc:creator><author>DLevin</author><pubDate>Fri, 04 Nov 2011 06:20:00 GMT</pubDate><guid>http://www.blogjava.net/DLevin/archive/2011/11/04/357719.html</guid><wfw:comment>http://www.blogjava.net/DLevin/comments/357719.html</wfw:comment><comments>http://www.blogjava.net/DLevin/archive/2011/11/04/357719.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DLevin/comments/commentRss/357719.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DLevin/services/trackbacks/357719.html</trackback:ping><description><![CDATA[<strong>表数据备份到另一张表：</strong><br />select * into destTbl from srcTbl <br />条件：destTbl表不存在<br />insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl <br />条件：destTbl表存在<br /><br /><strong>修改数据库列数据类型：<br /></strong>alter table&nbsp;[table name]&nbsp;modify&nbsp;[column name]&nbsp;varchar(32) null<br /><br /><strong>增加列：</strong><br />alter table&nbsp;[table name]&nbsp;add&nbsp;[column name]&nbsp;varchar(10) null <br /><br /><strong>删除列：<br /></strong>alter table [table name] drop [column name]<br /><br /><strong>同时修改多列：<br /></strong>update [table name] set [column1]=[value1], [column2]=[value2] where ......&nbsp;<br /><br /><strong>DerbyDB创建自增字段：<br /></strong><pre>CREATE TABLE MAPS
(
MAP_ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
MAP_NAME VARCHAR(24) NOT NULL,
REGION VARCHAR(26),
AREA DECIMAL(8,4) NOT NULL,
PHOTO_FORMAT VARCHAR(26) NOT NULL,
PICTURE BLOB(102400),
UNIQUE (MAP_ID, MAP_NAME)
)<br /></pre><pre><strong>BCP命令：<br /></strong>bcp {db_name}.dbo.{tablename} out {filename}.bcp -I{interface_name} -S{db_name_in_interface} -U{user_name} -P{password} -c -t"|" -Y<br />bcp {db_name}.dbo.{tablename} in {filename}.bcp -I{interface_name} -S{db_name_in_interface} -U{user_name} -P{password} -c -t"|" -Y<br />Interface definition:<br />{db_name_in_interface}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; master tcp ether {db_server_name} {port}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; query tcp ether {db_server_name} {port}</pre><img src ="http://www.blogjava.net/DLevin/aggbug/357719.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DLevin/" target="_blank">DLevin</a> 2011-11-04 14:20 <a href="http://www.blogjava.net/DLevin/archive/2011/11/04/357719.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux常用命令记录</title><link>http://www.blogjava.net/DLevin/archive/2011/08/30/357536.html</link><dc:creator>DLevin</dc:creator><author>DLevin</author><pubDate>Mon, 29 Aug 2011 16:39:00 GMT</pubDate><guid>http://www.blogjava.net/DLevin/archive/2011/08/30/357536.html</guid><wfw:comment>http://www.blogjava.net/DLevin/comments/357536.html</wfw:comment><comments>http://www.blogjava.net/DLevin/archive/2011/08/30/357536.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/DLevin/comments/commentRss/357536.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/DLevin/services/trackbacks/357536.html</trackback:ping><description><![CDATA[<strong>Bash命令行编辑模式</strong><br />1. 两种模式：<span style="color: #800080; ">emacs</span>和<span style="color: #800080; ">vi</span>，默认是<span style="color: #800080; ">emacs.</span><br />2. 可以通过<span style="color: #800080; ">set -o vi/emacs</span>切换模式<br />3. 可以通过<span style="color: #800080; ">set -o</span>查看当前是什么模式，即是vi on还是emacs on。<br />4. <span><strong>set</strong></span>命令可以通过<strong>help set</strong>来查看具体用法；通过<span style="color: #800080; ">set -o [option]</span>打开某个属性，通过<span style="color: #800080; ">set +o [option]</span>关闭某个属性值。<br /><br /><strong>emacs命令行编辑模式<br /></strong><span style="color: #ff6600; "><strong>对字符</strong>（</span><span style="color: #800080; ">ctrl</span>）：<br />&nbsp; &nbsp; 前移一个字符：<span style="color: #800080; ">ctrl+f</span><br />&nbsp; &nbsp; 后移一个字符：<span style="color: #800080; ">ctrl+b</span><br />&nbsp; &nbsp; 删除前一字符：<span style="color: #800080; ">ctrl+h/del/backspace</span><br />&nbsp; &nbsp; 删除后一字符：<span style="color: #800080; ">ctrl+d</span><br /><br /><span style="color: #ff6600; "><strong>对单词</strong>（</span><span style="color: #800080; ">esc</span>）：<br />&nbsp; &nbsp; 前移一个单词：<span style="color: #800080; ">esc+f</span><br />&nbsp; &nbsp; 后移一个单词：<span style="color: #800080; ">esc+b</span><br />&nbsp; &nbsp; 删除前一单词：<span style="color: #800080; ">esc+ctrl+h</span>，或<span style="color: #800080; ">ctrl+w/esc+del/esc+backspace</span><br />&nbsp; &nbsp; 删除后一单词：<span style="color: #800080; ">esc+d</span><br />&nbsp; &nbsp; 恢复最后删除的项：<span style="color: #800080; ">ctrl+y</span>（目前知道的：对使用ctrl+h、ctrl+d、backspace、delete等删除的字符无效，对使用ctrl+w、esc+ctrl+h、esc+d等键删除的字符有用）<br /><br /><span style="color: #ff6600; "><strong>对于行</strong>（</span><span style="color: #800080; ">ctrl</span>）：<br />&nbsp; &nbsp; 移动到行首：<span style="color: #800080; ">ctrl+a</span><br />&nbsp; &nbsp; 移动到行尾：<span style="color: #800080; ">ctrl+e</span><br />&nbsp; &nbsp; 从光标所在删除直到行首：<span style="color: #800080; ">ctrl+u</span><br />&nbsp; &nbsp; 从光标所在删除直到行尾：<span style="color: #800080; ">ctrl+k</span><br /><br /><strong><span style="color: #ff6600; ">对历史命令</span>： &nbsp;</strong> &nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;移动到前一历史命令：<span style="color: #800080; ">ctrl+p</span><br />&nbsp; &nbsp; 移动到后一历史命令：<span style="color: #800080; ">ctrl+n</span><br />&nbsp; &nbsp; 移动到第一个历史命令：<span style="color: #800080; ">esc+&lt;</span><br />&nbsp; &nbsp; 移动到最后一个历史命令：<span style="color: #800080; ">esc+&gt;</span><br />&nbsp; &nbsp; 在历史命令中反向搜索：<span style="color: #800080; ">ctrl+r(若找到的一个不符合，可以继续按ctrl+r，会一直以查找的字符串向上找)</span><br /><br /><span style="color: #ff6600; "><strong>命令行补齐：</strong></span><br />&nbsp; &nbsp; <span style="color: #99cc00; "><strong>通用热键</strong>：</span><br />&nbsp; &nbsp; &nbsp; &nbsp; 补齐命令行：<span style="color: #800080; ">tab</span><br />&nbsp; &nbsp; &nbsp; &nbsp; 列出所有可能的备选项：<span style="color: #800080; ">esc+?</span><br />&nbsp; &nbsp; <span style="color: #99cc00; "><strong>补齐文件名：</strong></span><br />&nbsp; &nbsp; &nbsp; &nbsp; 补齐文件名：<span style="color: #800080; ">esc+/</span><br />&nbsp; &nbsp; &nbsp; &nbsp; 列出所有备选文件名：<span style="color: #800080; ">ctrl+x+/</span><br />&nbsp; &nbsp;<span style="color: #99cc00; "> <strong>补齐用户名：</strong></span><br />&nbsp; &nbsp; &nbsp; &nbsp; 补齐用户名：<span style="color: #800080; ">esc+～</span><br />&nbsp; &nbsp; &nbsp; &nbsp; 列出所有备用用户名：<span style="color: #800080; ">ctrl+x+～</span><br />&nbsp; &nbsp; <span style="color: #99cc00; "><strong>补齐主机名：</strong></span><br />&nbsp; &nbsp; &nbsp; &nbsp; 补齐主机名：<span style="color: #800080; ">esc+@</span><br />&nbsp; &nbsp; &nbsp; &nbsp; 列出所有备选主机名：<span style="color: #800080; ">ctrl+x+@</span><br />&nbsp; &nbsp; <span style="color: #99cc00; "><strong>补齐内置变量：</strong></span><br />&nbsp; &nbsp; &nbsp; &nbsp; 补齐变量名：<span style="color: #800080; ">esc+$</span><br />&nbsp; &nbsp; &nbsp; &nbsp; 列出所有备选变量名：<span style="color: #800080; ">ctrl+x+$</span><br />&nbsp; &nbsp; <span style="color: #99cc00; "><strong>补齐命令名</strong></span><br />&nbsp; &nbsp; &nbsp; &nbsp; 补齐命令名：<span style="color: #800080; ">esc+!</span><br />&nbsp; &nbsp; &nbsp; &nbsp; 列出所有备选命令名：<span style="color: #800080; ">ctrl+x+!</span><br />&nbsp; &nbsp;<strong> </strong><span style="color: #99cc00; "><strong>补齐历史列表中的命令名</strong>：</span><span style="color: #800080; ">esc+tab</span><br /><br /><span style="color: #ff6600; "><strong>杂项命令：</strong></span><br />&nbsp; &nbsp; 清屏：<span style="color: #800080; ">ctrl+l</span><br />&nbsp; &nbsp; 反转光标所在字符及其前面的字符：<span style="color: #800080; ">ctrl+t</span><span>（并且光标向前移动，若一直按，可以将光标前的一个字符向前移动到某个需要的位置）</span><br />&nbsp; &nbsp; 从光标开始的整个单词大写：<span style="color: #800080; ">esc+u</span><br />&nbsp; &nbsp; 从光标开始的整个单词小写：<span style="color: #800080; ">esc+l</span><br />&nbsp; &nbsp; 将光标处的单词首字母大写：<span style="color: #800080; ">esc+c</span><br /><br /><strong>Vi模式下的编辑命令</strong><br /><span style="color: #ff6600; "><strong>常用命令：</strong></span><br />&nbsp; &nbsp; 删除前面的字符：<span style="color: #800080; ">Del/Backspace/ctrl+h</span><br />&nbsp; &nbsp; 删除前面的单词，即删除至空格：<span style="color: #800080; ">ctrl+w</span><br />&nbsp; &nbsp; 输入结束：<span style="color: #800080; ">ctrl+d</span><span style="color: #800080; ">/回车</span><br />&nbsp; &nbsp; 进入控制模式：<span style="color: #800080; ">esc</span><br /><br /><span style="color: #ff6600; "><strong>控制模式下的命令：</strong></span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 向左移动一个字符<span style="color: #800080; ">：h</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 向右移动一个字符<span style="color: #800080; ">：l</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 向左移动一个单词<span style="color: #800080; ">：b</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 向右移动一个单词<span style="color: #800080; ">：w</span><br /><span style="color: #800080; ">&nbsp;</span><span style="color: #800080; "> </span>&nbsp; 移到上一个非空字符的开始<span style="color: #800080; ">：B</span><br /><span style="color: #800080; ">&nbsp;</span><span style="color: #800080; "> </span>&nbsp; 移到下一个非空字符的开始<span style="color: #800080; ">：W</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 移到当前单词的结尾<span style="color: #800080; ">：e</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 移到当前非空单词的结尾<span style="color: #800080; ">：E</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 移到行首<span style="color: #800080; ">：0</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 移到行内第一个字符<span style="color: #800080; ">：^</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 移到行尾<span style="color: #800080; ">：$</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #ff6600; "><strong>输入控制</strong></span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 在当前字符前插入文本<span style="color: #800080; ">：i</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 在当前字符后插入文本<span style="color: #800080; ">：a</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 在行首插入文本<span style="color: #800080; ">：I</span><br />&nbsp; &nbsp; 在行尾插入文本<span style="color: #800080; ">：A</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 用文本覆盖已存在的文本<span style="color: #800080; ">：R</span><br /><br /><span style="color: #ff6600; "><strong>删除命令(所有将d换成c，即删除后进入输入模式)</strong></span><br />&nbsp; &nbsp; 向后删除一个字符：<span style="color: #800080; ">dh/x</span><br />&nbsp; &nbsp; 向前删除一个字符：<span style="color: #800080; ">dl/X</span><br />&nbsp; &nbsp; 向后删除一个单词：<span style="color: #800080; ">db</span><br />&nbsp; &nbsp; 向前删除一个单词：<span style="color: #800080; ">dw</span><br />&nbsp; &nbsp; 向后删除一个非空单词：<span style="color: #800080; ">dB</span><br />&nbsp; &nbsp; 向前删除一个非空单词：<span style="color: #800080; ">dW</span><br />&nbsp; &nbsp; 删除到行尾：<span style="color: #800080; ">d$/D</span><br />&nbsp; &nbsp; 删除到行首：<span style="color: #800080; ">d0</span><br />&nbsp; &nbsp; 删除整行：<span style="color: #800080; ">0d$/dd</span><br />&nbsp; &nbsp; 删除到行尾，并进入输入模式：<span style="color: #800080; ">c$/C</span><br />&nbsp; &nbsp; 删除整行，并进入输入模式：<span style="color: #800080; ">0c$/cc</span><br />&nbsp; &nbsp;&nbsp;<br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 恢复删除：u<br /><br /><strong style="color: #ff6600; ">历史了命令搜索</strong><br />&nbsp; &nbsp; 向后移动一条记录：<span style="color: #800080; ">k/-</span><br />&nbsp; &nbsp; 向前移动一条记录：<span style="color: #800080; ">j/+</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 移动到重复计数指定的行<span style="color: #800080; ">：G</span><br />&nbsp; &nbsp; 向后搜索字符串：<span style="color: #800080; ">/字符串</span><br />&nbsp; &nbsp; 向前搜索字符串：<span style="color: #800080; ">?字符串</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 在前一条搜索命令同一方向的下一条记录<span style="color: #800080; ">：n</span><br /><span style="color: #800080; ">&nbsp;</span> &nbsp; 在前一条搜索命令相反反向的上一条记录<span style="color: #800080; ">：N</span><br /><br /><strong style="color: #ff6600; ">字符查找</strong><br />&nbsp; &nbsp; 向右移到字符x下一次出现的位置：<span style="color: #800080; ">fx</span><br />&nbsp; &nbsp; 向左移到字符x前一次出现的位置：<span style="color: #800080; ">Fx</span><br />&nbsp; &nbsp; 向右移到字符x下一次出现的位置，并后退一格：<span style="color: #800080; ">tx</span><br />&nbsp; &nbsp; 向左移到字符x前一次出现的位置，并前进一格：<span style="color: #800080; ">Tx</span><br />&nbsp; &nbsp; 重复上一次查询命令<span style="color: #800080; ">：;</span><br />&nbsp; &nbsp; 以相反方向重复上一次查询命令<span style="color: #800080; ">：,</span><br /><br /><strong style="color: #ff6600; ">杂项命令</strong><br />&nbsp; &nbsp; 转换当前字符大小写<span style="color: #800080; ">：_</span><br />&nbsp; &nbsp; 清屏：<span style="color: #800080; ">ctrl+l</span><br />&nbsp; &nbsp; 给当前行前加#字符<span style="color: #800080; ">：#</span><br /><br /><strong style="color: #ff6600;">ubuntu添加组、新用户、密码、删除、修改登陆属性<br /></strong>sudo groupadd hadoop&nbsp;<br />sudo useradd -s /bin/bash -d /home/hadoop -g hadoop -G sudo hadoop<br />sudo passwd hadoop<br /><br />sudo userdel hadoop<br />sudo groupdel hadoop<br /><br />sudo usermod &lt;option&gt; &lt;username&gt;<br /><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;">常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等<br /></span><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;">-c comment 指定一段注释性描述。</span><br style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;" /><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;">-d 目录 指定用户主目录，如果此目录不存在，则同时使用-m选项，可以创建主目录。</span><br style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;" /><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;">-g 用户组 指定用户所属的用户组。</span><br style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;" /><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;">-G 用户组，用户组 指定用户所属的附加组。</span><br style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;" /><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;">-s Shell文件 指定用户的登录Shell。</span><br style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;" /><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19.200000762939453px; background-color: #ffffff;">-u 用户号 指定用户的用户号，如果同时有-o选项，则可以重复使用其他用户的标识号。</span><br /><br /><strong style="color: #ff6600;">ubuntu切换用户、添加用户到sudoers</strong><br />su &lt;username&gt;<br />sudo adduser &lt;username&gt; sudo<br />sudo usermod -a -G sudo &lt;username&gt;<br /><br />历史命令记录文件：<strong>$HISTFILE</strong>，一般为用户目录下的.bash_history文件，可以通过设置<strong>$HISTFILE</strong>变量修改。 <br /><br /><strong>只查看zip文件中的内容：<br /></strong>unzip -l filename.zip<br />zipinfo filename.zip&nbsp;<br /><br /><strong>复制路径：<br /></strong>cp -r sourceDir destDir<br /><br /><strong>查看文件、目录大小：<br /></strong>du －sh file/directory&nbsp;<br /><br />vi命令：<br /><p style="color: #333333;">整页翻页 ctrl-f ctrl-b<br />f就是forword b就是backward</p><p style="color: #333333;">翻半页<br />ctrl-d ctlr-u<br />d=down u=up</p><p style="color: #333333;">滚一行<br />ctrl-e ctrl-y</p><p style="color: #333333;">zz 让光标所杂的行居屏幕中央<br />zt 让光标所杂的行居屏幕最上一行 t=top<br />zb 让光标所杂的行居屏幕最下一行 b=bottom<br /><br /></p><pre><strong>vi/vim 中可以使用 :s 命令来替换字符串。<br /></strong><p>:s/vivian/sky/ 替换当前行第一个 vivian 为 sky<br /></p><p>:s/vivian/sky/g 替换当前行所有 vivian 为 sky</p><p>:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky</p><p>:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky<br /></p><p>n 为数字，若 n 为 .，表示从当前行开始到最后一行</p><p>:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky<br /></p><p>:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky</p><p>可以使用 # 作为分隔符，此时中间出现的 / 不会作为分隔符<br /></p><p>:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/</p><p>:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / )： /oradata/apras/替换成/user01/apras1</p></pre><pre><font face="verdana, courier new"><span style="white-space: normal;">
</span></font><strong>
awk去其中某几列数据：<br /></strong>awk -F '|' '{OFS="|"; print $34, $44, $20, $21, $24, $25, $39, $3}' fileName &gt; newFile<br />-F为原始文件列分隔符，OFS指定新文件列分隔符</pre><pre><strong>awk去重复列：<br /></strong>awk -F '|' '{print $9}' fileName | sort | awk '!a[$0]++'</pre><pre><strong>awk找到一列中值等于match的行：</strong><br />awk -F '|' '{if ($9 == "match") print $0;}' fileName &gt; newFile</pre><img src ="http://www.blogjava.net/DLevin/aggbug/357536.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/DLevin/" target="_blank">DLevin</a> 2011-08-30 00:39 <a href="http://www.blogjava.net/DLevin/archive/2011/08/30/357536.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>