我见过有人使用命令:
ps-ef | grep [h]ttpd
输出是:
阿帕奇 25125 31006 0 21:54 ? 00:00:00 /usr/sbin/httpd 阿帕奇 26869 31006 0 22:04 ? 00:00:00 /usr/sbin/httpd 阿帕奇 27349 31006 0 22:07 ? 00:00:00 /usr/sbin/httpd 阿帕奇 27696 31006 0 22:09 ? 00:00:00 /usr/sbin/httpd 阿帕奇 28534 31006 0 22:14 ? 00:00:00 /usr/sbin/httpd 根 31006 1 0 16:16 ? 00:00:00 /usr/sbin/httpd 阿帕奇 31011 31006 0 16:16 ? 00:00:00 /usr/sbin/httpd
2 括号里的字母“h”在哪里grep
做什么?
答案1
grep
这是防止命令本身出现在输出中的技巧ps
。
[...]
是一个字符类规范,即[ab2]
完全匹配必须是a
,b
或 的一个字符2
。[h]
仅完全匹配h
。
诀窍在于[h]ttp
匹配http
,但它不匹配本身。