<?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>稀饭的国度 &#187; tools</title>
	<atom:link href="http://blog.thematice.com/html/ytag/tools/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.thematice.com</link>
	<description>发现自己的脑袋不好使了，用blog来记录真的很好用。</description>
	<lastBuildDate>Sun, 18 Jul 2010 15:56:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>使用 cURL 度量 Web 站点的响应时间</title>
		<link>http://blog.thematice.com/html/y2010/04/21/1077/use-curl-check-web-connect-time.html</link>
		<comments>http://blog.thematice.com/html/y2010/04/21/1077/use-curl-check-web-connect-time.html#comments</comments>
		<pubDate>Wed, 21 Apr 2010 09:56:28 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux  web]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[liinux]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1077</guid>
		<description><![CDATA[[root@web-little-opt-146 NginxSoftware]# time curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} http://image.kaluli.net/index/images/index/20100416/127141246304.gif
1.259:1.281:1.392
real    0m1.394s
user    0m0.002s
sys     0m0.003s
　　清单 1 给出对一个流行的新闻站点执行 curl 命令的情况。输出通常是 HTML 代码，通过 -o 参数发送到 /dev/null。-s 参数去掉所有状态信息。-w 参数让 curl 写出表 1 列出的计时器的状态信息：

表 1. curl 使用的计时器



计时器
描述


time_connect
建立到服务器的 TCP 连接所用的时间


time_starttransfer
在发出请求之后，Web 服务器返回数据的第一个字节所用的时间


time_total
完成请求所用的时间



　　这些计时器都相对于事务的起始时间，甚至要先于 Domain Name Service（DNS）查询。因此，在发出请求之后，
        Web 服务器处理请求并开始发回数据所用的时间是 1.281- 1.259= 0.022 秒。
        客户机从服务器下载数据所用的时间是 1.392 - 1.281 = 0.111 秒。
　　通过观察 curl 数据及其随时间变化的趋势，可以很好地了解站点对用户的响应性。
　　当然，Web 站点不仅仅由页面组成。它还有图像、JavaScript 代码、CSS 和 cookie 要处理。curl [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/04/21/1077/use-curl-check-web-connect-time.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sed1line_zh-CN</title>
		<link>http://blog.thematice.com/html/y2010/02/23/1035/sed1line_zh-cn.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/23/1035/sed1line_zh-cn.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 02:13:11 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[sed&swk&shell]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1035</guid>
		<description><![CDATA[ 
?Download shell.sh1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
-------------------------------------------------------------------------
SED单行脚本快速参考（Unix 流编辑器）                       2005年12月29日
&#160;
英文标题：USEFUL ONE-LINE SCRIPTS FOR SED (Unix stream editor)
原标题：HANDY ONE-LINERS FOR SED (Unix stream editor)
&#160;
整理：Eric Pement  - 电邮：pemente[at]northpark[dot]edu         版本5.5
译者：Joe Hong  [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/23/1035/sed1line_zh-cn.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>端口扫描程序nmap使用手册</title>
		<link>http://blog.thematice.com/html/y2010/02/23/1030/%e7%ab%af%e5%8f%a3%e6%89%ab%e6%8f%8f%e7%a8%8b%e5%ba%8fnmap%e4%bd%bf%e7%94%a8%e6%89%8b%e5%86%8c.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/23/1030/%e7%ab%af%e5%8f%a3%e6%89%ab%e6%8f%8f%e7%a8%8b%e5%ba%8fnmap%e4%bd%bf%e7%94%a8%e6%89%8b%e5%86%8c.html#comments</comments>
		<pubDate>Tue, 23 Feb 2010 02:03:37 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[linx]]></category>
		<category><![CDATA[nmap]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1030</guid>
		<description><![CDATA[其实还是建议看英文的man，对以后学习其他东西很有帮助的：）
摘要
　　nmap是一个网络探测和安全扫描程序，系统管理者和个人可以使用这个软件扫描大型的网络，获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术，例如：UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征，例如：通过TCP/IP协议栈特征探测操作系统类型，秘密扫描，动态延时和重传计算，并行扫描，通过并行ping扫描探测关闭的主机，诱饵扫描，避开端口过滤检测，直接RPC扫描(无须端口影射)，碎片扫描，以及灵活的目标和端口设定.

&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
1.名称
nmap-网络探测和安全扫描工具
2.语法
nmap [Scan Type(s)] [Options]
3.描述
　　nmap是一个网络探测和安全扫描程序，系统管理者和个人可以使用这个软件扫描大型的网络，获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术，例如：UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征，例如：通过TCP/IP协议栈特征探测操作系统类型，秘密扫描，动态延时和重传计算，并行扫描，通过并行ping扫描探测关闭的主机，诱饵扫描，避开端口过滤检测，直接RPC扫描(无须端口影射)，碎片扫描，以及灵活的目标和端口设定。
　　为了提高nmap在non-root状态下的性能，软件的设计者付出了很大的努力。很不幸，一些内核界面(例如raw socket)需要在root状态下使用。所以应该尽可能在root使用nmap。
　　nmap运行通常会得到被扫描主机端口的列表。nmap总会给出well known端口的服务名(如果可能)、端口号、状态和协议等信息。每个端口的状态有：open、filtered、unfiltered。open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接。filtered状态表示：防火墙、包过滤和其它的网络安全软件掩盖了这个端口，禁止 nmap探测其是否打开。unfiltered表示：这个端口关闭，并且没有防火墙/包过滤软件来隔离nmap的探测企图。通常情况下，端口的状态基本都是unfiltered状态，只有在大多数被扫描的端口处于filtered状态下，才会显示处于unfiltered状态的端口。
　　根据使用的功能选项，nmap也可以报告远程主机的下列特征：使用的操作系统、TCP序列、运行绑定到每个端口上的应用程序的用户名、DNS名、主机地址是否是欺骗地址、以及其它一些东西。
4.功能选项
　　功能选项可以组合使用。一些功能选项只能够在某种扫描模式下使用。nmap会自动识别无效或者不支持的功能选项组合，并向用户发出警告信息。
　　如果你是有经验的用户，可以略过结尾的示例一节。可以使用nmap -h快速列出功能选项的列表。
4.1 扫描类型
　　-sT
　　TCP connect()扫描：这是最基本的TCP扫描方式。connect()是一种系统调用，由操作系统提供，用来打开一个连接。如果目标端口有程序监听， connect()就会成功返回，否则这个端口是不可达的。这项技术最大的优点是，你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这种扫描很容易被检测到，在目标主机的日志中会记录大批的连接请求以及错误信息。
　　-sS
　　TCP同步扫描(TCP SYN)：因为不必全部打开一个TCP连接，所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN)，然后等待回应。如果对方返回SYN&#124;ACK(响应)包就表示目标端口正在监听；如果返回RST数据包，就表示目标端口没有监听程序；如果收到一个SYN&#124;ACK包，源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接，这实际上有我们的操作系统内核自动完成的。这项技术最大的好处是，很少有系统能够把这记入系统日志。不过，你需要root权限来定制SYN数据包。
　　-sF -sF -sN
　　秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式：即使SYN扫描都无法确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视，而且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描方式可以逃过这些干扰。这些扫描方式的理论依据是：关闭的端口需要对你的探测包回应RST包，而打开的端口必需忽略有问题的包(参考RFC 793第64页)。FIN扫描使用暴露的FIN数据包来探测，而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是，微软决定完全忽略这个标准，另起炉灶。所以这种扫描方式对Windows95/NT无效。不过，从另外的角度讲，可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可以发现打开的端口，你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的，而使用SYN扫描显示有打开的端口，你可以确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处，因为nmap有内嵌的操作系统检测功能。还有其它几个系统使用和windows同样的处理方式，包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时，以上这些系统都会从打开的端口发出复位数据包。
　　-sP
　　ping扫描：有时你只是想知道此时网络上哪些主机正在运行。通过向你指定的网络内的每个IP地址发送ICMP echo请求数据包，nmap就可以完成这项任务。如果主机正在运行就会作出响应。不幸的是，一些站点例如：microsoft.com阻塞ICMP echo请求数据包。然而，在默认的情况下nmap也能够向80端口发送TCP ack包，如果你收到一个RST包，就表示主机正在运行。nmap使用的第三种技术是：发送一个SYN包，然后等待一个RST或者SYN/ACK包。对于非root用户，nmap使用connect()方法。
　　在默认的情况下(root用户)，nmap并行使用ICMP和ACK技术。
　　注意，nmap在任何情况下都会进行ping扫描，只有目标主机处于运行状态，才会进行后续的扫描。如果你只是想知道目标主机是否运行，而不想进行其它扫描，才会用到这个选项。
　　-sU
　　UDP扫描：如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务，可以使用这种扫描方法。nmap首先向目标主机的每个端口发出一个0字节的UDP包，如果我们收到端口不可达的ICMP消息，端口就是关闭的，否则我们就假设它是打开的。
　　有些人可能会想UDP扫描是没有什么意思的。但是，我经常会想到最近出现的solaris rpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上，这个端口号大于32770。所以即使端口111(portmap的众所周知端口号) 被防火墙阻塞有关系。但是你能发现大于30000的哪个端口上有程序正在监听吗?使用UDP扫描就能！cDc Back Orifice的后门程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷，一些服务例如:snmp、tftp、NFS 使用UDP协议。不幸的是，UDP扫描有时非常缓慢，因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如，在Linux内核中 (在net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标不可达的ICMP消息，如果超过这个比例，就会给1/4秒钟的处罚。 solaris的限制更加严格，每秒钟只允许出现大约2条ICMP不可达消息，这样，使扫描更加缓慢。nmap会检测这个限制的比例，减缓发送速度，而不是发送大量的将被目标主机丢弃的无用数据包。
　　不过Micro$oft忽略了RFC1812的这个建议，不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。
　　-sA
　　ACK扫描：这项高级的扫描方法通常用来穿过防火墙的规则集。通常情况下，这有助于确定一个防火墙是功能比较完善的或者是一个简单的包过滤程序，只是阻塞进入的SYN包。
　　这种扫描是向特定的端口发送ACK包(使用随机的应答/序列号)。如果返回一个RST包，这个端口就标记为unfiltered状态。如果什么都没有返回，或者返回一个不可达ICMP消息，这个端口就归入filtered类。注意，nmap通常不输出unfiltered的端口，所以在输出中通常不显示所有被探测的端口。显然，这种扫描方式不能找出处于打开状态的端口。
　　-sW
　　对滑动窗口的扫描：这项高级扫描技术非常类似于ACK扫描，除了它有时可以检测到处于打开状态的端口，因为滑动窗口的大小是不规则的，有些操作系统可以报告其大小。这些系统至少包括：某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64 UNIX、DG/UX、OpenVMS、Digital UNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS 4.x、Ultrix、VAX、VXWORKS。从nmap-hackers邮件3列表的文档中可以得到完整的列表。
　　-sR
　　RPC扫描。这种方法和nmap的其它不同的端口扫描方法结合使用。选择所有处于打开状态的端口向它们发出SunRPC程序的NULL命令，以确定它们是否是RPC端口，如果是，就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不能和RPC扫描结合使用。
　　-b
　　FTP反弹攻击(bounce attack):FTP协议(RFC 959)有一个很有意思的特征，它支持代理FTP连接。也就是说，我能够从evil.com连接到FTP服务器target.com，并且可以要求这台 FTP服务器为自己发送Internet上任何地方的文件！1985年，RFC959完成时，这个特征就能很好地工作了。然而，在今天的Internet 中，我们不能让人们劫持FTP服务器，让它向Internet上的任意节点发送数据。如同Hobbit在1995年写的文章中所说的，这个协议&#8221;能够用来做投递虚拟的不可达邮件和新闻，进入各种站点的服务器,填满硬盘，跳过防火墙，以及其它的骚扰活动，而且很难进行追踪&#8221;。我们可以使用这个特征，在一台代理FTP服务器扫描TCP端口。因此，你需要连接到防火墙后面的一台FTP服务器，接着进行端口扫描。如果在这台FTP服务器中有可读写的目录，你还可以向目标端口任意发送数据(不过nmap不能为你做这些)。
　　传递给-b功能选项的参数是你要作为代理的FTP服务器。语法格式为：
　　-b username:password@server:port。
　　除了server以外，其余都是可选的。如果你想知道什么服务器有这种缺陷，可以参考我在Phrack 51发表的文章。还可以在nmap的站点得到这篇文章的最新版本。
4.2 通用选项
　　这些内容不是必需的，但是很有用。
　　-P0
　　在扫描之前，不必ping主机。有些网络的防火墙不允许ICMP echo请求穿过，使用这个选项可以对这些网络进行扫描。microsoft.com就是一个例子，因此在扫描这个站点时，你应该一直使用-P0或者-PT 80选项。
　　-PT
　　扫描之前，使用TCP ping确定哪些主机正在运行。nmap不是通过发送ICMP echo请求包然后等待响应来实现这种功能，而是向目标网络(或者单一主机)发出TCP ACK包然后等待回应。如果主机正在运行就会返回RST包。只有在目标网络/主机阻塞了ping包，而仍旧允许你对其进行扫描时，这个选项才有效。对于非 root用户，我们使用connect()系统调用来实现这项功能。使用-PT 来设定目标端口。默认的端口号是80，因为这个端口通常不会被过滤。
　　-PS
　　对于root用户，这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。
　　-PI
　　设置这个选项，让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。使用这个选项让nmap发现正在运行的主机的同时，nmap也会对你的直接子网广播地址进行观察。直接子网广播地址一些外部可达的IP地址，把外部的包转换为一个内向的IP广播包，向一个计算机子网发送。这些IP广播包应该删除，因为会造成拒绝服务攻击(例如 smurf)。
　　-PB
　　这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包，使用这种方法，你就能够穿过防火墙。
　　-O
　　这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描，获得远程主机的标志。换句话说，nmap使用一些技术检测目标主机操作系统网络协议栈的特征。nmap使用这些信息建立远程主机的指纹特征，把它和已知的操作系统指纹特征数据库做比较，就可以知道目标主机操作系统的类型。
　　-I
　　这个选项打开nmap的反向标志扫描功能。Dave Goldsmith 1996年向bugtap发出的邮件注意到这个协议，ident协议(rfc 1413)允许使用TCP连接给出任何进程拥有者的用户名，即使这个进程并没有初始化连接。例如，你可以连接到HTTP端口，接着使用identd确定这个服务器是否由root用户运行。这种扫描只能在同目标端口建立完全的TCP连接时(例如：-sT扫描选项)才能成功。使用-I选项是，远程主机的 identd精灵进程就会查询在每个打开的端口上监听的进程的拥有者。显然，如果远程主机没有运行identd程序，这种扫描方法无效。
　　-f
　　这个选项使nmap使用碎片IP数据包发送SYN、FIN、XMAS、NULL。使用碎片数据包增加包过滤、入侵检测系统的难度，使其无法知道你的企图。不过，要慎重使用这个选项！有些程序在处理这些碎片包时会有麻烦，我最喜欢的嗅探器在接受到碎片包的头36个字节时，就会发生 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/23/1030/%e7%ab%af%e5%8f%a3%e6%89%ab%e6%8f%8f%e7%a8%8b%e5%ba%8fnmap%e4%bd%bf%e7%94%a8%e6%89%8b%e5%86%8c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows netstat 查看端口 进程占用</title>
		<link>http://blog.thematice.com/html/y2010/02/08/1004/windows-netstat-%e6%9f%a5%e7%9c%8b%e7%ab%af%e5%8f%a3-%e8%bf%9b%e7%a8%8b%e5%8d%a0%e7%94%a8.html</link>
		<comments>http://blog.thematice.com/html/y2010/02/08/1004/windows-netstat-%e6%9f%a5%e7%9c%8b%e7%ab%af%e5%8f%a3-%e8%bf%9b%e7%a8%8b%e5%8d%a0%e7%94%a8.html#comments</comments>
		<pubDate>Mon, 08 Feb 2010 07:30:20 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[win]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=1004</guid>
		<description><![CDATA[目标：在Windows环境下，用netstat命令查看某个端口号是否占用，为哪个进程所占用.
操作：操作分为两步：（1）查看该端口被那个PID所占用;方法一：有针对性的查看端口，使用命令
Netstat –ano&#124;findstr “&#60;端口号&#62;”,如图，最后一列为PID。图中的端口号为1068，所对应的PID为3840。

                     (a)图
方法二：查看所有的，然后找到对应的端口和PID。

(b)图
第一幅图中的5列就是上面(a)图对应的5列
（2）查看该PID对应的进程名称。
方法一：一直用命令查找，tasklist&#124;findstr “&#60;PID号&#62;”

 (c)图
从 (c)图 可以看出，PID为3840所对应的进程名字为msnmsgr.exe。
方法二：用任务管理器查看。
调出任务管理器，选择列，如d图。
    
             (d)图
       查看PID对应的进程名称。如(e)图中的msnmsgr.exe
 

   [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/02/08/1004/windows-netstat-%e6%9f%a5%e7%9c%8b%e7%ab%af%e5%8f%a3-%e8%bf%9b%e7%a8%8b%e5%8d%a0%e7%94%a8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>easyLife, Fedora 下的 Ubuntu Tweak</title>
		<link>http://blog.thematice.com/html/y2010/01/12/942/easylife-fedora-%e4%b8%8b%e7%9a%84-ubuntu-tweak.html</link>
		<comments>http://blog.thematice.com/html/y2010/01/12/942/easylife-fedora-%e4%b8%8b%e7%9a%84-ubuntu-tweak.html#comments</comments>
		<pubDate>Tue, 12 Jan 2010 14:13:10 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[easyLife]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[tweak]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[优化]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=942</guid>
		<description><![CDATA[
easyLife 是一款专为 Fedora 开发的快速配置工具，相当于 TualatriX 为 Ubuntu 开发的 Ubuntu Tweak ，它可以帮助 Fedora 新手顺利搞定新装系统配置，帮助老手节约时间，不过，鉴于 Ubuntu Tweak 的强大功能，将 easyLife 跟 Lazybuntu 对比更贴切与准确一点。
 
Fedora 12 将在 2 天后发布，作为全球最受欢迎的第三大 Linux 桌面发行版，届时肯定会掀起另一波下载、安装、测评、体验狂潮，这样的快速配置工具对新手还是非常有用的，有了它，新手不会对复杂的配置望而生畏，如果有兴趣，请帮助该项目完成汉化工作。
easyLife 的主要功能，是帮助 Fedora 新手在全新安装的 Fedora 系统上，顺利、快速、简单的安装和配置软件，将复杂的事情简单化，通过鼠标点击就能轻松完成一大堆复杂的任务。
easyLife 主要特性有：

Sets &#8220;sudo&#8221; command up for your regular user;
对普通用户启用 &#8220;sudo&#8221; 命令；
Configures RPMFusion repository for extra and non-free software;
为 Fedora 不提供的额外及非自由软件启用 RPMFusion 软件仓库；
Installs Flash Player [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2010/01/12/942/easylife-fedora-%e4%b8%8b%e7%9a%84-ubuntu-tweak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>理解 Linux 的处理器负载均值（翻译）</title>
		<link>http://blog.thematice.com/html/y2009/12/18/923/understanding-of-the-processor-load-linux-average.html</link>
		<comments>http://blog.thematice.com/html/y2009/12/18/923/understanding-of-the-processor-load-linux-average.html#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:30:17 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[load Average]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=923</guid>
		<description><![CDATA[原文链接： http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
你可能对于 Linux 的负载均值（load averages）已有了充分的了解。负载均值在 uptime  或者 top 命令中可以看到，它们可能会显示成这个样子：


?Download shell.sh1
 load average: 0.09, 0.05, 0.01

很多人会这样理解负载均值：三个数分别代表不同时间段的系统平均负载（一分钟、五 分钟、以及十五分钟），它们的数字当然是越小越好。数字越高，说明服务器的负载越 大，这也可能是服务器出现某种问题的信号。
而事实不完全如此，是什么因素构成了负载均值的大小，以及如何区分它们目前的状况是 “好”还是“糟糕”？什么时候应该注意哪些不正常的数值？
回答这些问题之前，首先需要了解下这些数值背后的些知识。我们先用最简单的例子说明， 一台只配备一块单核处理器的服务器。
行车过桥
一只单核的处理器可以形象得比喻成一条单车道。设想下，你现在需要收取这条道路的过桥 费 &#8212; 忙于处理那些将要过桥的车辆。你首先当然需要了解些信息，例如车辆的载重、以及 还有多少车辆正在等待过桥。如果前面没有车辆在等待，那么你可以告诉后面的司机通过。 如果车辆众多，那么需要告知他们可能需要稍等一会。
因此，需要些特定的代号表示目前的车流情况，例如：

0.00 表示目前桥面上没有任何的车流。 实际上这种情况与 0.00 和 1.00 之间是相同的，总而言之很通畅，过往的车辆可以丝毫不用等待的通过。
1.00 表示刚好是在这座桥的承受范围内。 这种情况不算糟糕，只是车流会有些堵，不过这种情况可能会造成交通越来越慢。
超过 1.00，那么说明这座桥已经超出负荷，交通严重的拥堵。 那么情况有多糟糕？ 例如 2.00 的情况说明车流已经超出了桥所能承受的一倍，那么将有多余过桥一倍的车辆正在焦急的等待。3.00 的话情况就更不妙了，说明这座桥基本上已经快承受不了，还有超出桥负载两倍多的车辆正在等待。


上面的情况和处理器的负载情况非常相似。一辆汽车的过桥时间就好比是处理器处理某线程 的实际时间。Unix 系统定义的进程运行时长为所有处理器内核的处理时间加上线程 在队列中等待的时间。
和收过桥费的管理员一样，你当然希望你的汽车（操作）不会被焦急的等待。所以，理想状态 下，都希望负载平均值小于 1.00 。当然不排除部分峰值会超过 1.00，但长此以往保持这 个状态，就说明会有问题，这时候你应该会很焦急。
“所以你说的理想负荷为 1.00 ？”
嗯，这种情况其实并不完全正确。负荷 1.00 说明系统已经没有剩余的资源了。在实际情况中 ，有经验的系统管理员都会将这条线划在 0.70：

 “需要进行调查法则”： 如果长期你的系统负载在 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/18/923/understanding-of-the-processor-load-linux-average.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>理解Load Average做好压力测试</title>
		<link>http://blog.thematice.com/html/y2009/12/18/919/load-average-good-understanding-of-stress-testing.html</link>
		<comments>http://blog.thematice.com/html/y2009/12/18/919/load-average-good-understanding-of-stress-testing.html#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:27:08 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[load Average]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=919</guid>
		<description><![CDATA[最近刚接手的产品问题很多，主要是集中在产品设计和性能上，另外代码的可维护性也很差，这两周处理故障和问题的时间比较多，博客更新的也少了，下面的这篇文章是解释开发小组成员介绍并发编程的一些基本原理而收集到的一篇比较好的文章，作者以浅显易懂的方式介绍了比较复杂的概念。我觉得如果我们能够把一个复杂、抽象的概念如果能够通过生活中常见的场景来加以说明和描述出来，那么我们就真正理解了这个概念。

SIP的第四期结束了，因为控制策略的丰富，早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况，因此需要重新作压力测试。跟在测试人员后面做了快一周的压力测试，压力测试的报告也正式出炉，本来也就算是告一段落，但第二天测试人员说要修改报告，由于这次作压力测试的同学是第一次作，有一个指标没有注意，因此需要修改几个测试结果。那个没有注意的指标就是load average，他和我一样开始只是注意了CPU，内存的使用状况，而没有太注意这个指标，这个指标与他们通常的限制（10左右）有差别。重新测试的结果由于这个指标被要求压低，最后的报告显然不如原来的好看。自己也没有深入过压力测试，但是觉得不搞明白对将来机器配置和扩容都会有影响，因此去问了DBA和SA，得到的结果相差很大，看来不得不自己去找找问题的根本所在了。
通过下面的几个部分的了解，可以一步一步的找出Load Average在压力测试中真正的作用。
CPU时间片
为了提高程序执行效率，大家在很多应用中都采用了多线程模式，这样可以将原来的序列化执行变为并行执行，任务的分解以及并行执行能够极大地提高程序的运行效率。但这都是代码级别的表现，而硬件是如何支持的呢？那就要靠CPU的时间片模式来说明这一切。程序的任何指令的执行往往都会要竞争CPU这个最宝贵的资源，不论你的程序分成了多少个线程去执行不同的任务，他们都必须排队等待获取这个资源来计算和处理命令。先看看单CPU的情况。下面两图描述了时间片模式和非时间片模式下的线程执行的情况：

图 1 非时间片线程执行情况

图 2 非时间片线程执行情况
在图一中可以看到，任何线程如果都排队等待CPU资源的获取，那么所谓的多线程就没有任何实际意义。图二中的CPU Manager只是我虚拟的一个角色，由它来分配和管理CPU的使用状况，此时多线程将会在运行过程中都有机会得到CPU资源，也真正实现了在单CPU的情况下实现多线程并行处理。
多CPU的情况只是单CPU的扩展，当所有的CPU都满负荷运作的时候，就会对每一个CPU采用时间片的方式来提高效率。
在Linux的内核处理过程中，每一个进程默认会有一个固定的时间片来执行命令（默认为1/100秒），这段时间内进程被分配到CPU，然后独占使用。如果使用完，同时未到时间片的规定时间，那么就主动放弃CPU的占用，如果到时间片尚未完成工作，那么CPU的使用权也会被收回，进程将会被中断挂起等待下一个时间片。
CPU利用率和Load Average的区别
压力测试不仅需要对业务场景的并发用户等压力参数作模拟，同时也需要在压力测试过程中随时关注机器的性能情况，来确保压力测试的有效性。当服务器长期处于一种超负荷的情况下运行，所能接收的压力并不是我们所认为的可接受的压力。就好比项目经理在给一个人估工作量的时候，每天都让这个人工作12个小时，那么所制定的项目计划就不是一个合理的计划，那个人迟早会垮掉，而影响整体的项目进度。
CPU利用率在过去常常被我们这些外行认为是判断机器是否已经到了满负荷的一个标准，看到50%-60%的使用率就认为机器就已经压到了临界了。CPU利用率，顾名思义就是对于CPU的使用状况，这是对一个时间段内CPU使用状况的统计，通过这个指标可以看出在某一个时间段内CPU被占用的情况，如果被占用时间很高，那么就需要考虑CPU是否已经处于超负荷运作，长期超负荷运作对于机器本身来说是一种损害，因此必须将CPU的利用率控制在一定的比例下，以保证机器的正常运作。
Load Average是CPU的Load，它所包含的信息不是CPU的使用率状况，而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息，也就是CPU使用队列的长度的统计信息。为什么要统计这个信息，这个信息的对于压力测试的影响究竟是怎么样的，那就通过一个类比来解释CPU利用率和Load Average的区别以及对于压力测试的指导意义。
我们将CPU就类比为电话亭，每一个进程都是一个需要打电话的人。现在一共有4个电话亭（就好比我们的机器有4核），有10个人需要打电话。现在使用电话的规则是管理员会按照顺序给每一个人轮流分配1分钟的使用电话时间，如果使用者在1分钟内使用完毕，那么可以立刻将电话使用权返还给管理员，如果到了1分钟电话使用者还没有使用完毕，那么需要重新排队，等待再次分配使用。

图 3 电话使用场景
上图中对于使用电话的用户又作了一次分类，1min的代表这些使用者占用电话时间小于等于1min，2min表示使用者占用电话时间小于等于2min，以此类推。根据电话使用规则，1min的用户只需要得到一次分配即可完成通话，而其他两类用户需要排队两次到三次。
电话的利用率 = sum (active use cpu time)/period
每一个分配到电话的使用者使用电话时间的总和去除以统计的时间段。这里需要注意的是是使用电话的时间总和(sum(active use cpu time))，这与占用时间的总和(sum(occupy cpu time))是有区别的。（例如一个用户得到了一分钟的使用权，在10秒钟内打了电话，然后去查询号码本花了20秒钟，再用剩下的30秒打了另一个电话，那么占用了电话1分钟，实际只是使用了40秒）
电话的Average Load体现的是在某一统计时间段内，所有使用电话的人加上等待电话分配的人一个平均统计。
电话利用率的统计能够反映的是电话被使用的情况，当电话长期处于被使用而没有的到足够的时间休息间歇，那么对于电话硬件来说是一种超负荷的运作，需要调整使用频度。而电话Average Load却从另一个角度来展现对于电话使用状态的描述，Average Load越高说明对于电话资源的竞争越激烈，电话资源比较短缺。对于资源的申请和维护其实也是需要很大的成本，所以在这种高Average Load的情况下电话资源的长期“热竞争”也是对于硬件的一种损害。
低利用率的情况下是否会有高Load Average的情况产生呢？理解占有时间和使用时间就可以知道，当分配时间片以后，是否使用完全取决于使用者，因此完全可能出现低利用率高Load Average的情况。由此来看，仅仅从CPU的使用率来判断CPU是否处于一种超负荷的工作状态还是不够的，必须结合Load Average来全局的看CPU的使用情况和申请情况。
所以回过头来再看测试部对于Load Average的要求，在我们机器为8个CPU的情况下，控制在10 Load左右，也就是每一个CPU正在处理一个请求，同时还有2个在等待处理。看了看网上很多人的介绍一般来说Load简单的计算就是2* CPU个数减去1-2左右（这个只是网上看来的，未必是一个标准）。
补充几点：
1．对于CPU利用率和CPU Load Average的结果来判断性能问题。首先低CPU利用率不表明CPU不是瓶颈，竞争CPU的队列长期保持较长也是CPU超负荷的一种表现。对于应用来说可能会去花时间在I/O,Socket等方面，那么可以考虑是否后这些硬件的速度影响了整体的效率。
这里最好的样板范例就是我在测试中发现的一个现象：SIP当前在处理过程中，为了提高处理效率，将控制策略以及计数信息都放置在Memcached Cache里面，当我将Memcached Cache配置扩容一倍以后，CPU的利用率以及Load都有所下降，其实也就是在处理任务的过程中，等待Socket的返回对于CPU的竞争也产生了影响。
2．未来多CPU编程的重要性。现在服务器的CPU都是多CPU了，我们的服务器处理能力已经不再按照摩尔定律来发展。就我上面提到的电话亭场景来看，对于三种不同时间需求的用户来说，采用不同的分配顺序，我们可看到的Load Average就会有不同。假设我们统计Load的时间段为2分钟，如果将电话分配的顺序按照：1min的用户，2min的用户，3min的用户来分配，那么我们的Load Average将会最低，采用其他顺序将会有不同的结果。所以未来的多CPU编程可以更好的提高CPU的利用率，让程序跑的更快。
以上所提到的内容未必都是很准确或者正确，如果有任何的偏差也请大家指出，可以纠正一些不清楚的概念。

]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/18/919/load-average-good-understanding-of-stress-testing.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>speedometer出网络图`很小很强大~</title>
		<link>http://blog.thematice.com/html/y2009/12/18/909/speedometer%e5%87%ba%e7%bd%91%e7%bb%9c%e5%9b%be%e5%be%88%e5%b0%8f%e5%be%88%e5%bc%ba%e5%a4%a7.html</link>
		<comments>http://blog.thematice.com/html/y2009/12/18/909/speedometer%e5%87%ba%e7%bd%91%e7%bb%9c%e5%9b%be%e5%be%88%e5%b0%8f%e5%be%88%e5%bc%ba%e5%a4%a7.html#comments</comments>
		<pubDate>Fri, 18 Dec 2009 03:26:15 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[speedometer]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[监控]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=909</guid>
		<description><![CDATA[
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 今天在强大的网络上发先一个很小很强大的软件，出图效果很不错~~所以介绍给大家。`安装很方便&#8220;只要你的系统支持 python&#160; 但是如果你没有安装 python-urwid 不会出图，只会有数字显示~~好了下面讲安装~~
&#160;
PS :需要 python 2.6 以上支持~
&#160;

shell $&#62; wget http://excess.org/speedometer/speedometer.py
shell $&#62; apt-get install python-urwid
shell $&#62; cp speedometer.py /usr/local/bin/speedometer
shell $&#62; chown root: /usr/local/bin/speedometer
shell $&#62; chmod 755 /usr/local/bin/speedometer
shell $&#62; speedometer.py/usr/local/bin/speedometer.py:21: DeprecationWarning: The popen2 module is deprecated.&#160; Use the subprocess module.&#160; import popen2Usage: speedometer [options] tap [[-c] tap]&#8230;Monitor network traffic or speed/progress of a file [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/18/909/speedometer%e5%87%ba%e7%bd%91%e7%bb%9c%e5%9b%be%e5%be%88%e5%b0%8f%e5%be%88%e5%bc%ba%e5%a4%a7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>touch &#8211;help</title>
		<link>http://blog.thematice.com/html/y2009/12/15/908/touch-help.html</link>
		<comments>http://blog.thematice.com/html/y2009/12/15/908/touch-help.html#comments</comments>
		<pubDate>Tue, 15 Dec 2009 04:18:24 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[touch]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2009/12/15/908_touch-help.html</guid>
		<description><![CDATA[
?Download shell.sh1
2
3
4
5
touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
&#160;
Mandatory arguments to long options are mandatory for short options too.



?Download shell.sh1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  -a                     change only the access [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/15/908/touch-help.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux sort 命令详解</title>
		<link>http://blog.thematice.com/html/y2009/12/12/907/linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html</link>
		<comments>http://blog.thematice.com/html/y2009/12/12/907/linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html#comments</comments>
		<pubDate>Fri, 11 Dec 2009 16:06:31 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/html/y2009/12/12/907_linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html</guid>
		<description><![CDATA[ &#160; &#160;sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项，这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上，sort命令可以被认为是一个非常强大的数据管理工具，用来管理内容类似数据库记录的文件。 　　Sort命令将逐行对文件中的内容进行排序，如果两行的首字符相同，该命令将继续比较这两行的下一字符，如果还相同，将继续进行比较。 　　语法： 　　sort ［选项］ 文件 　　说明：sort命令对指定文件中所有的行进行排序，并将结果显示在标准输出上。如不指定输入文件或使用&#8221;- &#8220;，则表示排序内容来自标准输入。  &#160;　　sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按ASCII字符顺序进行排序。  &#160;　　改变缺省设置的选项主要有：  &#160;　　- m 若给定文件已排好序，合并文件。  &#160;　　- c 检查给定文件是否已排好序，如果它们没有都排好序，则打印一个出错信息，并以状态值1退出。  &#160;　　- u 对排序后认为相同的行只留其中一行。  &#160;　　- o 输出文件 将排序输出写到输出文件中而不是标准输出，如果输出文件是输入文件之一，sort先将该文件的内容写入一个临时文件，然后再排序和写输出结果。  &#160;　　改变缺省排序规则的选项主要有：  &#160;　　- d 按字典顺序排序，比较时仅字母、数字、空格和制表符有意义。  &#160;　　- f 将小写字母与大写字母同等对待。  &#160;　　- I 忽略非打印字符。  &#160;　　- M 作为月份比较：&#8221;JAN&#8221;]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/12/12/907/linux-sort-%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wget下载整个网站</title>
		<link>http://blog.thematice.com/html/y2009/11/06/861/wget-down-all-web-site.html</link>
		<comments>http://blog.thematice.com/html/y2009/11/06/861/wget-down-all-web-site.html#comments</comments>
		<pubDate>Fri, 06 Nov 2009 04:14:32 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux net]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=861</guid>
		<description><![CDATA[可以使用下面的命令 wget -r -p -k -np http://blog.thematice.com , -r 表示递归下载,会下载所有的链接,不过要注意的是,不要单独使用这个参数,因为如果你要下载的网站也有别的网站的链接,wget也会把别的网站的东西下载 下来,由于互联网的特性,很有可能你会把整个互联网给下载下来 &#8211;,所以要加上 -np这个参数,表示不下载别的站点的链接. -k表示将下载的网页里的链接修改为本地链接.-p获得所以显示网页所需的元素,比如图片什么的.
另外还有其他的一些参数可以使用:

-c表示断点续传
-t 100表示重试100次,-t 0表示无穷次重试
另外可以将要下载的url写到一个文件中,每个url一行,使用这样的命令 wget -i download.txt.
&#8211;reject=avi,rmvb 表示不下载avi,rmvb的文件,&#8211;accept=jpg,jpeg,表示只下载jpg,jpeg的文件.
可以在用户目录下建立一个.wgetrc的文件(windows里面好像不能直接建立这样的文件,windows会认为没有文件名&#8211;),里面写上 http-proxy = 123.456.78.9:80,然后在加上参数 &#8211;proxy=on,如果需要密码,再加上下面的参数 &#8211;proxy-user=username, &#8211;proxy-passwd=password 

]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/11/06/861/wget-down-all-web-site.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINUX的du命令详解</title>
		<link>http://blog.thematice.com/html/y2009/11/01/786/linux%e7%9a%84du%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html</link>
		<comments>http://blog.thematice.com/html/y2009/11/01/786/linux%e7%9a%84du%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html#comments</comments>
		<pubDate>Sun, 01 Nov 2009 08:44:08 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[du]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=786</guid>
		<description><![CDATA[命令用途
   du(disk usage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时，它会测量当前工作目录与其所有子目录，分别显示各个目录所占的快数，最后才显示工作目录所占总快数。
命令格式


?Download shell1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
      du [OPTION]... [FILE]...     
       -a, --all
              包括了所有的文件，而不只是目录
       --apparent-size
        [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/11/01/786/linux%e7%9a%84du%e5%91%bd%e4%bb%a4%e8%af%a6%e8%a7%a3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转] memcache分析调试 &#8211; [php]</title>
		<link>http://blog.thematice.com/html/y2009/09/29/709/%e8%bd%ac-memcache%e5%88%86%e6%9e%90%e8%b0%83%e8%af%95-php.html</link>
		<comments>http://blog.thematice.com/html/y2009/09/29/709/%e8%bd%ac-memcache%e5%88%86%e6%9e%90%e8%b0%83%e8%af%95-php.html#comments</comments>
		<pubDate>Mon, 28 Sep 2009 17:08:55 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[DBM]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=709</guid>
		<description><![CDATA[1.关于本文档
       本文档所有的分析都是在1.2版本之上,偶尔会提到比较1.1版本.其他版本没有阅读.
        一个星期时间的工作,不可能对memcache有很深刻的分析.文档本身的目的在于为以后的研究准备一个总结资料.刚接触memcache时,对其设计分布式的思路感到十分欣喜,因为在中间层以极小的代价实现简单分布式无疑成为一些要求不是很高的分布式应用的一个很好的设计思路,这个特性决定memcache本身在分布式应用中,单个结点之间是Server相互独立,不会存在同级之间的通信.一个结点拒绝访问,如果没有相应的冗余策略,将导致该结点的数据丢失.同时,memcache的Server结点对数据的存储操作都是在内存中完成,而memcache对内存分配和回收采用了曾在SunOS实现的分页机制,预分配一个大内存(默认是 slabs_clsid;
           assert((it->it_flags &#038; ITEM_LINKED) == 0);
           assert(it != heads[it->slabs_clsid]);
           [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/09/29/709/%e8%bd%ac-memcache%e5%88%86%e6%9e%90%e8%b0%83%e8%af%95-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unix/Linux shell程序设计--case语句</title>
		<link>http://blog.thematice.com/html/y2009/09/26/736/unixlinux-shell%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1-case%e8%af%ad%e5%8f%a5.html</link>
		<comments>http://blog.thematice.com/html/y2009/09/26/736/unixlinux-shell%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1-case%e8%af%ad%e5%8f%a5.html#comments</comments>
		<pubDate>Sat, 26 Sep 2009 15:14:35 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[sed&swk&shell]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=736</guid>
		<description><![CDATA[case语句 ：它能够把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
  使用格式：
  case 匹配母板 in
    模板1 [ &#124; 模板2 ] … )  语句组 ;;
    模板3 [ &#124; 模板4 ] … )  语句组 ;;
  esac

  case语句的匹配是从上往下地匹配顺序。因此，case语句编写的原则是从上往下，模板从特殊到普通。在C语言里，case语句中有default模板，而在shell程序设计中，可能将模板写成*，就可以完成相同的功能。
case语句的模板支持匹配
  匹配以n开头的所有情况： n*
  匹配yes的所有字母大小不同的情况： [yY][eE][sS]
  但不支持{}匹配，因为模板可以使用 &#124; 就可以达到目的。
例程:

?Download shell.sh1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
&#160;
echo &#34;Please input \&#34;yes\&#34; or \&#34;no\&#34;&#34;
&#160;
read var
&#160;
case [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/09/26/736/unixlinux-shell%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1-case%e8%af%ad%e5%8f%a5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下替换文件名中的空格用 tr :</title>
		<link>http://blog.thematice.com/html/y2009/09/24/732/linux%e4%b8%8b%e6%9b%bf%e6%8d%a2%e6%96%87%e4%bb%b6%e5%90%8d%e4%b8%ad%e7%9a%84%e7%a9%ba%e6%a0%bc%e7%94%a8-tr.html</link>
		<comments>http://blog.thematice.com/html/y2009/09/24/732/linux%e4%b8%8b%e6%9b%bf%e6%8d%a2%e6%96%87%e4%bb%b6%e5%90%8d%e4%b8%ad%e7%9a%84%e7%a9%ba%e6%a0%bc%e7%94%a8-tr.html#comments</comments>
		<pubDate>Thu, 24 Sep 2009 07:24:59 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux net]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=732</guid>
		<description><![CDATA[Linux下替换文件名中的空格用 tr :

?Download shell.sh1
2
3
4
5
6
7
find . -type f -name &#34;* *&#34; -print &#124;
while read name; do
na=$(echo $name &#124; tr ' ' '_')
if [[ $name != $na ]]; then
mv &#34;$name&#34; $na
fi
done

记录在这里，希望对大家有用。 

]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/09/24/732/linux%e4%b8%8b%e6%9b%bf%e6%8d%a2%e6%96%87%e4%bb%b6%e5%90%8d%e4%b8%ad%e7%9a%84%e7%a9%ba%e6%a0%bc%e7%94%a8-tr.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rsync简单学习</title>
		<link>http://blog.thematice.com/html/y2009/09/23/719/rsync%e7%ae%80%e5%8d%95%e5%ad%a6%e4%b9%a0.html</link>
		<comments>http://blog.thematice.com/html/y2009/09/23/719/rsync%e7%ae%80%e5%8d%95%e5%ad%a6%e4%b9%a0.html#comments</comments>
		<pubDate>Wed, 23 Sep 2009 04:04:46 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux net]]></category>
		<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=719</guid>
		<description><![CDATA[rsync &#8211; faster, flexible replacement for rcp
rsync是一个快速的，使用rcp协议来监视远程目录文件改动的同步工具，说实话，对于rsync的一些概念我至今都是模糊不清，它有太多的参数，还有超多的工作模式，以至于我实在是懒得去理会它。在我的心目中，它就是一个在服务器之间同步文件夹的工具。
下面，让我们来近距离接触它，我所知道的，Rhel和Sles在默认的情况就会安装rsync，想必其他系统也一样，所以我们不需要做任务动作，就可以直接使用它了。

另外我们可以发现有rsyncd服务端的存在，不过它是默认关闭的，我不知道它是用来做什么的，貌似要走873端口的一个协议，我不知道为什么放着ssh的22端口不用，又去另外开一个端口，开一个服务呢，所以我是坚决不用的，简单第一嘛。
现在我就要在服务器B上同步服务器A上的文件夹test，一旦服务器A上的test文件夹上有变动，服务器B上的test文件夹也有跟上，就是所谓的夫唱妇随，记住，A是夫，B是妇。
服务器A：

?Download shell.sh1
2
3
4
5
6
7
maxcv:~ # cd 
maxcv:~ # mkdir test 
maxcv:~ # cd test/ 
maxcv:~/test # touch a b c d e f g 
maxcv:~/test # chmod 777 * 
maxcv:~ # service sshd status
Checking for service sshd               [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/09/23/719/rsync%e7%ae%80%e5%8d%95%e5%ad%a6%e4%b9%a0.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ultraedit中的shell语法高亮</title>
		<link>http://blog.thematice.com/html/y2009/09/22/717/ultraedit%e4%b8%ad%e7%9a%84shell%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae.html</link>
		<comments>http://blog.thematice.com/html/y2009/09/22/717/ultraedit%e4%b8%ad%e7%9a%84shell%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae.html#comments</comments>
		<pubDate>Mon, 21 Sep 2009 16:27:44 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[ide]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=717</guid>
		<description><![CDATA[准备阶段：
1. UltraEdit v14.10.0.1023 绿色版下载地址：http://www.greendown.cn/soft/737.html
2. 从ue官方网站下载wordfile扩展文件包：ALL WORDFILES IN ONE PACKAGE，

设置阶段：
1. 启动UltraEdit：下载后直接双击文件夹下的Uedit32.exe即可启动UltraEdit。
点击菜单“高级”-“配置”，打开配置对话框。在导航一栏，点击“编辑器显示”&#8212;-“语法着色”，在右侧“字词列表完整路径”处点击“打开”按钮。此时打开了“C:\Users\smilelife\AppData\Roaming\IDMComp\UltraEdit\WORDFILE.UEW”。即这个目录下的*.urtaledit wordfile。 这里的路径依自己的电脑而有别。这里只管点击打开按钮即可。
2.将wordfile扩展文件包中unixshell.txt内容附加到上面打开的文件中，然后保存；再以urtaledit 打开shell文件，此时可以看到shell文件中的一些关键字已经以其他颜色显示了。
这是就设置成功了。
补充说明：其他一些语言的关键字在这个编辑器中凸亮显示的设置方法也如此。

]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/09/22/717/ultraedit%e4%b8%ad%e7%9a%84shell%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>shell中的数组使用方法</title>
		<link>http://blog.thematice.com/html/y2009/09/16/681/shell%e4%b8%ad%e7%9a%84%e6%95%b0%e7%bb%84%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95.html</link>
		<comments>http://blog.thematice.com/html/y2009/09/16/681/shell%e4%b8%ad%e7%9a%84%e6%95%b0%e7%bb%84%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95.html#comments</comments>
		<pubDate>Wed, 16 Sep 2009 12:11:12 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[linux shell]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=681</guid>
		<description><![CDATA[

NAME
rsync &#8211; faster, flexible replacement for rcp
rsync是一个快速的，使用rcp协议来监视远程目录文件改动的同步工具，说实话，对于rsync的一些概念我至今都是模糊不清，它有太多的参数，还有超多的工作模式，以至于我实在是懒得去理会它。在我的心目中，它就是一个在服务器之间同步文件夹的工具。
下面，让我们来近距离接触它，我所知道的，Rhel和Sles在默认的情况就会安装rsync，想必其他系统也一样，所以我们不需要做任务动作，就可以直接使用它了。
另外我们可以发现有rsyncd服务端的存在，不过它是默认关闭的，我不知道它是用来做什么的，貌似要走873端口的一个协议，我不知道为什么放着ssh的22端口不用，又去另外开一个端口，开一个服务呢，所以我是坚决不用的，简单第一嘛。
现在我就要在服务器B上同步服务器A上的文件夹test，一旦服务器A上的test文件夹上有变动，服务器B上的test文件夹也有跟上，就是所谓的夫唱妇随，记住，A是夫，B是妇。
服务器A：

?Download shell.sh1
2
3
4
5
6
7
8
9
&#60;ol class=&#34;dp-c&#34;&#62;
	&#60;li class=&#34;alt&#34;&#62;&#60;span&#62;&#60;span&#62;maxcv:~ # &#60;span style=&#34;color: #993300;&#34;&#62;cd &#60;/span&#62;&#60;/span&#62;&#60;/span&#62;&#60;/li&#62;
	&#60;li&#62;&#60;span&#62;maxcv:~ # &#60;span style=&#34;color: #993300;&#34;&#62;mkdir test &#60;/span&#62;&#60;/span&#62;&#60;/li&#62;
	&#60;li class=&#34;alt&#34;&#62;&#60;span&#62;maxcv:~ # &#60;span style=&#34;color: #993300;&#34;&#62;cd test/ &#60;/span&#62;&#60;/span&#62;&#60;/li&#62;
	&#60;li&#62;&#60;span&#62;maxcv:~/test # &#60;span style=&#34;color: #993300;&#34;&#62;touch a b c d e f g &#60;/span&#62;&#60;/span&#62;&#60;/li&#62;
	&#60;li class=&#34;alt&#34;&#62;&#60;span&#62;maxcv:~/test # &#60;span style=&#34;color: #993300;&#34;&#62;chmod 777 * &#60;/span&#62;&#60;/span&#62;&#60;/li&#62;
	&#60;li class=&#34;alt&#34;&#62;&#60;span&#62;maxcv:~ # &#60;span style=&#34;color: #993300;&#34;&#62;service sshd status&#60;/span&#62;&#60;/span&#62;&#60;/li&#62;
	&#60;li [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/09/16/681/shell%e4%b8%ad%e7%9a%84%e6%95%b0%e7%bb%84%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>四种 种web性能压力测试工具http_load webbench ab siege小结</title>
		<link>http://blog.thematice.com/html/y2009/06/05/472/http_load-webbench-ab-siege%e5%b0%8f%e7%bb%93.html</link>
		<comments>http://blog.thematice.com/html/y2009/06/05/472/http_load-webbench-ab-siege%e5%b0%8f%e7%bb%93.html#comments</comments>
		<pubDate>Fri, 05 Jun 2009 07:01:15 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web压力测试]]></category>

		<guid isPermaLink="false">http://blog.thematice.com/?p=472</guid>
		<description><![CDATA[http_load
下载地址：http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
程序非常小，解压后也不到100K 居家旅行 携带方便 呵呵
http_load以并行复用的方式运行，用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具，它可以以一个单一的进程运行，一般不会把客户机搞死。可以可以测试HTTPS类的网站请求。

命令格式：http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件
例如：
引用
http_load -p 30 -s 60  urllist.txt
准备URL文件：tst.list，文件格式是每行一个URL，URL最好超过50－100个测试效果比较好，另外，测试结果中主要的指标是 fetches/sec 这个选项，即服务器每秒能够响应的查询次数，用这个指标来衡量性能。似乎比 apache的ab准确率要高一些，也更有说服力一些。
官方的例子：
引用
% ./http_load -rate 10 -seconds 60 urllist.txt
49 fetches, 4 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
4.89274 fetches/sec 这个值得就是说服务器每秒能够响应的查询次数为4.8左右
这个值得是根据 [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2009/06/05/472/http_load-webbench-ab-siege%e5%b0%8f%e7%bb%93.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Linux常用命令介绍</title>
		<link>http://blog.thematice.com/html/y2008/02/22/61/linux-command-used-to-introduce.html</link>
		<comments>http://blog.thematice.com/html/y2008/02/22/61/linux-command-used-to-introduce.html#comments</comments>
		<pubDate>Fri, 22 Feb 2008 11:23:26 +0000</pubDate>
		<dc:creator>稀饭</dc:creator>
				<category><![CDATA[Linux tools]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[rm]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.gruelstate.cn/?p=61</guid>
		<description><![CDATA[谈到Linux命令很多人都望而生畏，因为Linux的命令太多了，而且每个命令都有很多选项，但是Linux命令又是Linux系统里最重要的工具，学习Linux命令是学习Linux必不可少的一个环节，也是Linux入门基础。所以在介绍Linux的其它方面之前，我们先介绍一下Linux的常用命令，希望我的这点简单介绍对你了解Linux命令有所帮助。
在介绍所有的命令之前，先介绍一下Linux的在线帮助man。在Linux下，当你要查找一个命令的用法的，你可以通过 man 命令名 来源得命令的详细说明。因为每个Linux都有一份man文档，所以介绍命令的时候我们只是简直介绍一下命令的学用选项。如果想查看命令的详细说明，请自己看man。下面是man各小节的内容：
   1    用户命令。
   2    系统调用。
   3    库函数。
   4    特殊文件(设备和网络接口)。
   5    文件格式。
   6    游戏和演示。
   7    系统环境、表格和宏。
   8    系统管理和相关命令。

apropos    依据所给关键字查找相关的命令和系统调用
格式：apropos keyword
例：查找与ftp相关的命令和系统调用
$apropos ftp
注：类似的命令有man -k。man -k 其实就是执行apropos
at    在某一特定时间执行指定的命令
格式：at [-V][-q 队列][-f 文件][-m] time
选项说明：
-V     显示标准的错误输出。
-f     可将作业存在一个文件中，用这个选项指定文件。例如一个shell文件。
-q     指定队列名称，默认为c。
-m     执行后给用户发邮件。time 指定开始执行的时间。时间格式为: HH：MM，日期格式：MM/DD/YY或MM.DD.YY或MMDDYY。 下面的例子演示了在2004年3月11日21点34分执行一个at命令。
$at 21:34 03/11/04
执行这条命令后会得到一条warning：
commands will be executed using (in order) a)$SHELL b) login shell c)/bin/sh。然后就出现“at&#62;”的提示符。这时你就可以输入你要执行的命令了,结束后按Ctrl+d。你就可以去喝茶了，到时间后系统会自动执行它。
相关配置文件：
/etc/at.allow 如果这个文件存在，仅允许这个文件里列出的用户使用at。
/etc/at.deny 如果这个文件存在，该文件列出的用户都不能使用at服务。当 这个文件为空时，任何用户都可以使用at，这是默认配置。
当运行at命令时，先检查/etc/at.allow文件是否存在，如果不存在，再检查 /etc/at.deny文件是否存在。不管这两个文件是不是存在，root用户都可以执行at命令。
相关命令：
atq：列出用户待执行的任务，除了root用户的外，每个用户的任务都将被列出。
atrm：通过任务号删除at任务。
batch：当系统负载允许的时候执行命令。比如当负载低于0.8或者一个指定的值时，指行atrun。
cat    查看文件内容，从键盘读取数据，合并文件等
格式：cat [-b][-A][-E][-T][-n][-s][-v] 文件名
选项说明：
-b     [...]]]></description>
		<wfw:commentRss>http://blog.thematice.com/html/y2008/02/22/61/linux-command-used-to-introduce.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
