亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

(bio)}: t_(d)M(jn)AӑՓgӭcӑՓ@(jing)ѹ-2012-7-6 [ӡ]

: send_linux    r(sh)g: 2012-05-31 16:34
(bio)}: t_(d)M(jn)AӑՓgӭcӑՓ@(jing)ѹ-2012-7-6

@(jing)ѹԔՈhttp://72891.cn/thread-3757480-1-1.html

Ӌ(j)C(j)ƌW(xu)ָһ(g)Áƥһϵзij(g)䷨Ҏ(gu)tַĆ΂(g)ַںܶı݋t_(d)ʽͨÁz/ QЩij(g)ģʽı(ni)SO(sh)Ӌ(j)ZԶ֧t_(d)ʽM(jn)ַPerlо̓(ni)һ(g)܏(qing)t_(d)ʽt _(d)ʽ@(g)UnixеĹܛsedgrepռ_

S“(lin)W(wng)Ѹٰl(f)չ׺йܛͳZԶֵ֧t_(d)ʽҲ׃ԽԽ(qing)ʹt_(d)ʽPerlJava.NETPHPе÷еĕr(sh)ҲвͬSÑt_(d)ʽČW(xu)(x)ʹҲNͬɆ

҂tָDɺChinaUnixՓPerlflwzhlong8ShellwakerShell_HATzooyocӑՓʲô}ҲM܆ɣ

Ԓ}
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)

(dng)r(sh)g
201261-620

Ԓ}Ҫ
1 Ҫ֮ܵ20(g)
2 Ԓ}ҪP(gun)עshellperlPythonP(gun)ZԵt_(d)ʽg(sh)ӑՓ}ܲc(din)

(jing)(xing)O(sh)ã

ѽ(jing)1(jing)(l)ChinaUnixһ(g)
eO(jing)3(jing)(l)tָDһ
c(jing)ЧcÑ(jing)(l)ChinaUnix^(q)e20

(jing)Ʒ飺

ߣ
磺ӹI(y)
ISBN9787121165511
ϼܕr(sh)g2012-5-2
ڣ2012 5
_16_

D飺
tָᘌ_l(f)Č(sh)H}Լ_l(f)ˆTԃĆ}Y(ji)һʹt_(d)ʽ}kͨ^wָ(do)x߲}ȫ֞󲿷֣һҪvt_(d)ʽĻA(ch)֪Rw˳Ҋt_(d)ʽеĸNܺͽY(ji)(gu)ڶҪvP(gun)t_(d)ʽĸ֪RԔ(x)̽ӑ˾a}ƥԭ}˼·֌֮ǰBĸN֪R䌍(sh)6NZ.netjavajavascriptphppythonrubyԔ(x)BZt_(d)ʽ÷c(din)˰汾֮gļ(x)΢ȿ錣TW(xu)(x)Ľ̲ģҲõąփ

x
http://wenku.it168.com/d_000271891.shtml


: dengbao2001    r(sh)g: 2012-05-31 16:46
Ȱl(f)ռһ
: to407    r(sh)g: 2012-05-31 16:50
 @e(cu) ߀ӛ g Mastering Regular Express... ĹPஔ(dng)?sh)ٝ?
: ecjtubaowp    r(sh)g: 2012-05-31 17:17
tԒ߀perl(qing)׺֧(g)tՓ˽tƥٶȻ(yu)tČP(gun)I
: renxiao2003    r(sh)g: 2012-05-31 17:27
cc
: kk5234    r(sh)g: 2012-05-31 18:21
֧һ»(dng)ܲe(cu)
: jerryjzm    r(sh)g: 2012-05-31 19:09
(g)ʹܵt_(d)ʽď(qing)
: |ƞI    r(sh)g: 2012-05-31 19:13
e(cu)soķeOӑՓ
: chenyx    r(sh)g: 2012-05-31 19:22
(qing)֧.
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
ƽr(sh)õtҪ^V־,ϵy(tng)־^VҪϢ

2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)
Ŀǰֻshellõt_(d)ʽă(ni),ȴţ.
: Shell_HAT    r(sh)g: 2012-05-31 21:39
һЩӣ

(jng)ʹõt_(d)ʽe
http://72891.cn/thread-190716-1-1.html

t_(d)ʽ
http://72891.cn/thread-1952749-1-1.html

(jng)ʹõt_(d)ʽe
http://72891.cn/thread-1993321-1-1.html
: hannibal03    r(sh)g: 2012-05-31 21:53
t_(d)ʽZy˼һЩ(sh)r(sh)ģʽƥ䑪(yng)У֙zyΘ(gu)һ(g)ܵt档
: ϷΛρ    r(sh)g: 2012-05-31 21:58
֧һ»(dng)t̫(qing)ˣ߀о
: send_linux    r(sh)g: 2012-05-31 21:59
ϷΛρ l(f) 2012-05-31 21:58
֧һ»(dng)t̫(qing)߀о


xxc\(yn)SҪõ_ɶt_(d)ʽDZزٵİǺ
: zooyo    r(sh)g: 2012-05-31 22:51
ʾ: ֹ߱h (ni)Ԅ(dng)
: zooyo    r(sh)g: 2012-05-31 22:52
ʾ: ֹ߱h (ni)Ԅ(dng)
: xbokx    r(sh)g: 2012-05-31 23:05
xbokx 2012-05-31 23:06 ݋

һ(g)ȡ(jng)
һν|tsedgawk@zߕr(sh)X@_(sh)Џ(qing)֮̎
֪Ҫ㷨ʹ÷񣡹Ӌ(j)(hu)ţ

: send_linux    r(sh)g: 2012-05-31 23:07
zooyo l(f) 2012-05-31 22:52
؏(f) 5# renxiao2003


su(y)º͘su(y)(hu)TͲCl(f)߀ՈҊՏ


: ׇ    r(sh)g: 2012-05-31 23:12
؏(f) 1# send_linux


    ʲôF(xin)@(g)朽ӵW(wng)퓵ʶdˣ_ǂ(g)W(wng)M(jn)ȥ
: xdsnet    r(sh)g: 2012-05-31 23:13
ʹbashh(hun)µgrep/sed M(jn)⻯̎ļ^V/
: crazyhadoop    r(sh)g: 2012-05-31 23:31
fһб_(d)tô tV҂҂ı_(d)Ҏ(gu)ɿѭһģʽͨ^tƥ҂ҵ҂ҪIJã“(lin)W(wng)еһЖ|W(wng)ץȡ(sh)(j)@x_t
: yifangyou    r(sh)g: 2012-06-01 00:40
yifangyou 2012-06-01 00:51 ݋

1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
ճʹt_(d)ʽҪQ
1) ־߲һQperlM(jn)нy(tng)Ӌ(j)apacheij(g)LviQ
2̎ļ, ls a[1-5].log  ,find,egrep ,  sed Q߄hļ(ni)
3) _l(f)W(wng)վr(sh)javascript(yn)Cphpjava(yn)C(sh)ʽǷ_
4)luceneľW(wng)j(lu)֩r(sh)tM(jn)ЌW(wng)urlM(jn)^VȡW(wng)еIJִa
5phpеtM(jn)нhttpf(xi)h
6apachenginxurl،(sh)F(xin)oB(ti)


2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)ߣ

1perlt_(d)ʽperl(qing)(xing)̎ı҂(g)˵һν|tҲǏperlČW(xu)(x)_ʼ
2phpӽperlһTZԣ(yu)c(din)Ǜ]perlZôޝyperl`׃t_(d)ʽo^^ʹ]perlôқ]perlЧʸ
3javascriptʹtr(sh)perl^ӽ(g)˸XphptãҪ(yn)CÑݔݔe(cu)`ṩÑw(yn)]֧perlеtranslate
һЩõt_(d)ʽ
javascript:
  1. function checkIp(tmpstr)
  2. {
  3.                 var patrn=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
  4.                 var r=patrn.exec(tmpstr)
  5.                 if(!r)
  6.                 {
  7.                         return false;
  8.                 }
  9.                 if(r[1]<=255 && r[2]<=255 &&r[3]<=255 && r[4]<=255 )
  10.                         return true;
  11.                 else
  12.                         return false;
  13. }
  14. function is_numeric(tmpstr)
  15. {
  16.                 var patrn=/^\d+$/;
  17.                 var r=patrn.exec(tmpstr)
  18.                 if(!r)
  19.                 {
  20.                         return false;
  21.                 }
  22.                 return true;
  23. }
  24.        
  25. String.prototype.trim = function()
  26. {
  27.         return this.replace(/(^\s*)|(\s*$)/g, "");
  28. }
  29. /*
  30. * ֻݔӢĔ(sh).-„
  31. * @param str inputvalue
  32. * @use <input onkeyup="value=filterchar(value)" onafterpaste="value=filterchar(value)" />
  33. * */
  34. function filterchar(str){
  35.         var p=/[^\w\-\.]/g
  36.         return str.replace(p,'');
  37. }

  38. /*
  39. * ^Vַ
  40. * @param str inputvalue
  41. * @use <input onkeyup="value=filterschar(value)" onafterpaste="value=filterschar(value)" />
  42. * */
  43. function filterschar(str){
  44.                 var p=/[\'\"#,;&%^\$!\+=\|\\\/ ]/g
  45.                 return str.replace(p,'');
  46. }
(f)ƴa
php:
  1. /*
  2.         $matches[0]
  3.         $matches[1]
  4.         $matches[2]
  5.         r(sh) $matches[3]
  6.         $matches[4]
  7.         $matches[5]
  8.        
  9.   Y-m-d H:i:s YmdHis  Y/m/d H:i:sȵ
  10. */
  11. function analytime($adate)
  12. {
  13.         if(preg_match("/^(\d{4})\D{0,3}(\d{2})\D{0,3}(\d{2})\D{0,3}(\d{2})\D{0,3}(\d{2})\D{0,3}(\d{2})$/i",$adate,$matches))
  14.         {
  15.                 array_shift($matches);
  16.                 return $matches;       
  17.         }
  18.         return 0;
  19. }
  20. //Дmd5
  21.         function isMd5str($str)
  22.         {
  23.                 return preg_match("/\w{32}/i",$str);
  24.         }
(f)ƴa
perl:
  1. #ĹܞДһ(g)ַDzip,ipv4߀ipv6
  2. #Á팢 IPv6 ַʾıַNҎ(gu)ʽ
  3. #ð̖ʮM(jn)ʽ
  4. #@xʽ n:n:n:n:n:n:n:nÿ(g) n ʾ˂(g) 16 λַԪ֮һʮM(jn)ֵ磺
  5. #3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.
  6. #sʽ
  7. #ڵַLҪ󣬵ַMɵLַrʮֳҊ˺@ЩַČ룬
  8. #     ʹÉsʽ@һsʽУ(g) 0 KĆ΂(g)Bm(x)pð̖̖ (::) ʾ˷ֻ̖ڵַгF(xin)һ
  9. #
  10. #磬·Vַ FFED:0:0:0:0:BA98:3210:4562 ĉsʽ FFED::BA98:3210:4562
  11. #βַ
  12. #3FFE:FFFF:0:0:8:800:20C4:0 ĉsʽ 3FFE:FFFF::8:800:20C4:0
  13. #h(hun)صַ 0:0:0:0:0:0:0:1 ĉsʽ ::1
  14. #δָĵַ 0:0:0:0:0:0:0:0 ĉsʽ ::

  15. #ʽM IPv4 IPv6 ַڴrַʽ n:n:n:n:n:n:d.d.d.d
  16. #ÿ(g) n ʾ(g) IPv6 λ 16 λַԪ֮һʮM(jn)ֵÿ(g) d ʾ IPv4 ַʮM(jn)ֵ
  17. #@author yifangyou
  18. #@version gslb 2011-03-23

  19. @testIP=("1.1.1.1","255.255.255.255","1.-2.3.4","a.b.c.d","CDCD:910A:2222:5498:8475:1111:3900:2020","::","::g","F:F:F::1:1","F:F:10F::","::F:F:10F","F:E:E:A:B:C:10.0.0.1","F:E:E:A:B:C:10.0.a.1","F::10.0.0.1","F:::10.0.0.1","::10.0.0.1");
  20. for my $ip (@testIP) {
  21.         my $result=isIP($ip);
  22.         if($result){
  23.                 print "[$ip] is ipv$result\n";
  24.         }else{
  25.                 print "[$ip] is not ip\n";
  26.         }
  27. }

  28. #Ӌ(j)CDCD::2222Ă(g)(sh)
  29. #@author yifangyou
  30. #@version gslb 2011-03-23
  31. #@return 0:ʾ]ҵ,>0ʾQ˶ق(g)
  32. sub cLength{
  33.         my $s= shift;
  34.   return  $s=~ s/([0-9a-f]{1,4}:)|(:[0-9a-f]{1,4})/ /gi;
  35. }

  36. #Дipv4ʽ
  37. #@author yifangyou
  38. #@version gslb 2011-03-23
  39. #@return 0:ʾip,4:ʾipv4,6:ʾipv6
  40. sub isIP{
  41.         my $tmpstr=shift;
  42.         if(isIPv4($tmpstr)){
  43.                 return 4;
  44.         }
  45.         if(isIPv6($tmpstr)){
  46.                 return 6;       
  47.         }
  48.         return 0;
  49. }

  50. #Дipv4ʽ
  51. #@author yifangyou
  52. #@version gslb 2011-03-23
  53. #@return 0:ʾipv4,1:ʾipv4
  54. sub isIPv4
  55. {
  56.         my $tmpstr=shift;
  57.         if(@matches=$tmpstr=~/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i)
  58.   {
  59.             if($matches[0]<=255 && $matches[1]<=255 &&$matches[2]<=255 && $matches[3]<=255){
  60.                                 return 1;
  61.                         }
  62.   }
  63.   return 0;
  64. }

  65. #Дipv6ʽ
  66. #@author yifangyou
  67. #@version gslb 2011-03-23        
  68. #@return 0:ʾipv6,1:ʾipv6
  69. sub isIPv6
  70. {
  71.           my $tmpstr=shift;
  72.           
  73. #                ДCDCD:910A:2222:5498:8475:1111:3900:2020
  74.     if($tmpstr=~/^([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}$/i){
  75.             return 1;
  76.     }
  77. #                Д::
  78.     if($tmpstr=~/^::$/i){
  79.                     return 1;
  80.     }
  81. #                F:F:F::1:1  F:F:F:F:F::1  F::F:F:F:F:1ʽ   
  82.     if($tmpstr=~/^(([0-9a-f]{1,4}:){1,6})((:[0-9a-f]{1,4}){1,6})$/i){
  83.             my $c=cLength($tmpstr);
  84.             if($c>0 && $c<=7){
  85.                     return 1;
  86.             }
  87.     }
  88.                                                
  89. #                F:F:10F::
  90.     if($tmpstr=~/^([0-9a-f]{1,4}:){1,7}:$/i){
  91.             return 1;
  92.     }
  93.    
  94. #                ::F:F:10F
  95.     if($tmpstr=~/^:(:[0-9a-f]{1,4}){1,7}$/i){
  96.             return 1;
  97.     }
  98.                
  99. #                F:E:E:A:B:C:10.0.0.1ʽ
  100.                 if(@matches=$tmpstr=~/^([0-9a-f]{1,4}:){6}(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i){
  101.             if(isIPv4($matches[1])){
  102.                                 return 1;
  103.                         }
  104.     }

  105. #   F::10.0.0.1ʽ
  106.                 if(@matches=$tmpstr=~/^([0-9a-f]{1,4}:){1,5}:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i){
  107.             if(isIPv4($matches[1])){
  108.                                 return 1;
  109.                         }
  110.     }               
  111. #                ::10.0.0.1ʽ
  112.                 if(@matches=$tmpstr=~/^::(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i){
  113.             if(isIPv4($matches[0])){
  114.                                 return 1;
  115.                         }
  116.     }
  117.                 return 0;
  118. }
(f)ƴa

: Shell_HAT    r(sh)g: 2012-06-01 06:58
؏(f) 14# zooyo


ţһB
Ԓf(dng)ҵĮI(y)O(sh)Ӌ(j)Ҳһ(g)IDS䌍(sh)ǏľW(wng)҂(g)CԴaȻԼC(j){(dio)ͨٺ
: wsxedcer    r(sh)g: 2012-06-01 08:10
؏(f) 1# send_linux


1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
Ҫ̎־@KģȡҪĔ(sh)(j)M(jn)кm(x)̎

2t_(d)ʽ÷ڸ(g)Zԡ_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)ߣ
Ŀǰֻ(hu)shellperlW(xu)(x)УҲ]ʲôɱ^grepsedawk tҲвͬЕr(sh)(hu)@(g)c(din)mY(ji)P(gun)I߀Ҫڹж\(yn)ãֻǛ]õ\(yn)õԒӛ
: 嫺    r(sh)g: 2012-06-01 09:33
؏(f) 1# send_linux


t_(d)ʽă(yu)ֱӰһ(g)_ZԵĺÉ

   
: sncchen    r(sh)g: 2012-06-01 09:43

Sbash sed awk  vimʹõϤ
linux ď(qing) DIYȤ һ ڌW(xu)(x)ʹ
Ұһ(g)~ıʽԼҪĘʽ
@(xing)˺þ
ɕr(sh) зNel(f)Ŀ
t_(d)ʽ Ʒ~
: lkk_super    r(sh)g: 2012-06-01 10:19
؏(f) 16# xbokx


    㷨߀ ͨZԌ(sh)F(xin)  C python RĶ sed awk ̫M(fi) қ]бҪ
: yybmsrs    r(sh)g: 2012-06-01 11:32
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}

̎N(sh)(j)ʽ}

2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)

perltϤawkgrepȱ^eŤҲͬshҎ(gu)tҲһӡQǏ(f)sıMperl팍(sh)F(xin)Ҳܷ
: kenvifire    r(sh)g: 2012-06-01 12:24
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
^V־ȡW(wng)ϵĔ(sh)(j)(sh)(j)У(yn)
2t_(d)ʽ÷ڸ(g)Zԡ_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)
ͬZԌtČ(sh)F(xin)һӣ@(g)^mY(ji)ҲZtjava܆}ڴı̎hҪʹ
: yinyuemi    r(sh)g: 2012-06-01 14:11
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}

ҪawksedperlM(jn)Д(sh)(j)ȡıʽ{(dio)ʹҲ^Σٕ(hu)̫(f)stҪ]Чʆ}߀Ҫ]aSo(h)Ϳx

2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)

ֻ|^shellawksedperlteZԲ˽(g)˱^Ƴperltfoܡ˿ԽQ(sh)H}呟һNt˼S
(g)XawksedĽMϻϿԽQճĹҪhW(xu)߿˽@ɷNZԵtTW(xu)(x)

: renxiao2003    r(sh)g: 2012-06-01 14:18
؏(f) 15# zooyo


    ֪ʽɰİ]ʲô˼̎ӑð
: lkk_super    r(sh)g: 2012-06-01 18:05
tڹж־ļķȡQһЩı̎IJ߀һKǰjs У(yn)ÑϢ֧tкܶ õgrep awk sed perl pyеЩСĵطһawk Ͳ\dֻ[0-9]sed+Ҫ-r(sh)ȵ_(sh)^ӑ@һ㶼ǽy(tng)һperl@ӌtֱ֧^ȫ܉?q)ñ^αһи㶨ȥ̎t^εԒͺkSĂ(g)
: xiakedz    r(sh)g: 2012-06-01 18:30
W(xu)ͨtc(din)죬ڕϿgrepH֧tXͨ䣬磺grep abcde *.txt , Ǟʲô
: һ(dng)    r(sh)g: 2012-06-01 22:21
(qing)tڌW(xu)(x)
: myeverything    r(sh)g: 2012-06-01 23:40
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}

־W(wng)퓣O(jin)ص漰ַƥȡĵط(hu)t

2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)ߣ
grepsedawkperlȶt^ߵ֮gвٲͬģʽʹԼֵ֧ķ̖ʹлóperlČ(f)stҰѸ(g)ZԵt̳dSS?yn)?sh)ӛ(zhn)@ô~~~
: lkk_super    r(sh)g: 2012-06-01 23:46
؏(f) 32# xiakedz


    㿴ͨ  (sh)Hbashglob  grept̎ǰһ(g)
: xiyoulaoyuanjia    r(sh)g: 2012-06-02 00:35
ҵҊ@һ(g)}ʹperl   bashݔr(sh)

}@ӵҵijв@һЩݔȻIJ磺
ps -ef a(chn)

root       329     1  0 22:32 ?        00:00:00 upstart-udev-bridge --daemon
root       338     1  0 22:32 ?        00:00:00 udevd --daemon
root       462   338  0 22:32 ?        00:00:00 udevd --daemon
root       495   338  0 22:32 ?        00:00:00 udevd --daemon
root       543     2  0 22:32 ?        00:00:00 [kmemstick]
root       613     1  0 22:32 ?        00:00:00 upstart-socket-bridge --daemon
root       621     2  0 22:32 ?        00:00:00 [led_workqueue]
root       648     2  0 22:32 ?        00:00:00 [kpsmoused]
root       663     2  0 22:32 ?        00:00:00 [cfg80211]
root       736     2  0 22:32 ?        00:00:00 [ttm_swap]


ֲͬF(xin)벶@ͬУĬJ(rn)ָ ոQM(jn)t_(d)ʽÿոԭЩкпո

ô ֪ǏпO(sh)Å(sh) ߀ǿO(sh) shell׃ Ч£

root    %   543   %  2 %  0 % 22:32 ?    %    00:00:00 [kmemstick]
root     %  613    % 1 % 0  % 22:32 ?     %   00:00:00 upstart-socket-bridge --daemon
root      % 621    % 2  % 0 % 22:32 ?      %  00:00:00 [led_workqueue]
%ָ




: xiyoulaoyuanjia    r(sh)g: 2012-06-02 00:41
1. bash ÿһ(g)еĬJ(rn)ոָ øַָ
2. ʹͨõt_(d)ʽԿ]кпոr

(dng)ȻһNt^ƥDz֪ǿԽy(tng)һ߀ÿһ(g)ݔԶx
Ŀǰ]ҵһзĽQDzһ(g)еķnjпոзŵУƥǰtʣµľͺƥˣ

֪߀Л]



: yinyuemi    r(sh)g: 2012-06-02 06:36
؏(f) 36# xiyoulaoyuanjia
  1. echo 'root       329     1  0 22:32 ?        00:00:00 upstart-udev-bridge --daemon
  2. root       338     1  0 22:32 ?        00:00:00 udevd --daemon
  3. root       462   338  0 22:32 ?        00:00:00 udevd --daemon
  4. root       495   338  0 22:32 ?        00:00:00 udevd --daemon
  5. root       543     2  0 22:32 ?        00:00:00 [kmemstick]
  6. root       613     1  0 22:32 ?        00:00:00 upstart-socket-bridge --daemon
  7. root       621     2  0 22:32 ?        00:00:00 [led_workqueue]
  8. root       648     2  0 22:32 ?        00:00:00 [kpsmoused]
  9. root       663     2  0 22:32 ?        00:00:00 [cfg80211]
  10. root       736     2  0 22:32 ?        00:00:00 [ttm_swap]' |\
  11. perl -nle 'push @arr,[@a=($_=~/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\S+\s+\?)\s+(\S+)\s+(.*)$/)];
  12. END{map{print join "\t%\t",@{$_}}@arr}'
  13. root    %       329     %       1       %       0       %       22:32 ? %       00:00:00        %       upstart-udev-bridge --daemon
  14. root    %       338     %       1       %       0       %       22:32 ? %       00:00:00        %       udevd --daemon
  15. root    %       462     %       338     %       0       %       22:32 ? %       00:00:00        %       udevd --daemon
  16. root    %       495     %       338     %       0       %       22:32 ? %       00:00:00        %       udevd --daemon
  17. root    %       543     %       2       %       0       %       22:32 ? %       00:00:00        %       [kmemstick]
  18. root    %       613     %       1       %       0       %       22:32 ? %       00:00:00        %       upstart-socket-bridge --daemon
  19. root    %       621     %       2       %       0       %       22:32 ? %       00:00:00        %       [led_workqueue]
  20. root    %       648     %       2       %       0       %       22:32 ? %       00:00:00        %       [kpsmoused]
  21. root    %       663     %       2       %       0       %       22:32 ? %       00:00:00        %       [cfg80211]
  22. root    %       736     %       2       %       0       %       22:32 ? %       00:00:00        %       [ttm_swap]
(f)ƴa

: bekars    r(sh)g: 2012-06-02 10:11
֧֣IF(xin)á
: xtdddd2000    r(sh)g: 2012-06-02 11:33
P(gun)עһ
: liangxiaozhang    r(sh)g: 2012-06-02 14:22
҆һ(g)}t_(d)еawk֮X؄eޝy]һNֺӛk

˼ҲӋ(j)C(j)njW(xu)ͨŵģF(xin)ڵҲˣڏǶʽܛ_l(f)
(g)J(rn)pythonܺǶʽõĸshell.
: lkk_super    r(sh)g: 2012-06-02 14:46
؏(f) 41# liangxiaozhang


    awk߀ð  뾎Zһӵ ӛָþϤˡ
: justqb    r(sh)g: 2012-06-02 22:20
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
perlxtȡW(wng)ҪϢЈϢռ
޸ַһЩ(sh)(j)ֻҪemeditor
excelă(ni)ݏ(f)ƵemeditorУЩ޸D(zhun)excelŽД(sh)(j)excelҪ֧tͺ

2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)
ֻperlemeditor
(j)֪perl֧t^ȫ档^Ђ(g)}h(hun)ҕ("(?<=)"/"(?<!)")횶LҲܳ^256perl5.12@ӣ
tЧʵĽǶ@̎Ǜ]}ġ҂`׃ͨ팍(sh)F(xin)ԼĿ
emeditorв֧h(hun)ҕ?yn)õjst
: wfade    r(sh)g: 2012-06-03 00:34
䌍(sh)ܶr(sh)Ұl(f)F(xin)Ҏ(gu)_(d)ʽ@(g)ǺҵfsedӵƥҎ(gu)tgrepƥҎ(gu)tҎ(gu)_(d)ʽҪϵy(tng)ČW(xu)(x)ԓôW(xu)
: wfade    r(sh)g: 2012-06-03 00:35
Ոһ(g)}grep -Pq '\w+' @ʲô˼ ָc(din) ھȴ
: cnzhangxl    r(sh)g: 2012-06-03 08:04
ҵĹtһ;
1.͑˱ύĕr(sh)ԪصҎ(gu)t(yn)C
2.(w)˱ύҎ(gu)tǷ_(yn)C
3.Qַеָ(ni)Qhtmlimgַ
5.@ȡַƥă(ni)
һtĈҿM(jn)a(b)h:wink:
: ziyunfei    r(sh)g: 2012-06-03 08:22
һ(g)˵ľ(qing)(qing) t֪
: __lxmxn__    r(sh)g: 2012-06-03 10:50
ԼrՄ?w)?br />
1t_(d)ʽǂ(g)Ė|Еr(sh)һ(g)tͿ԰һ(g)(f)sı݋׃˺perl, grep, sed, awk, vim tõ^(q)e߀vimׂ(g)vimҲ܏(qing)^h(hun)ҕһЩƥcĎׂ(g)һӡ
2ճУõsedtƥı݋grepݔvimQperl־(hu)õregexpLõshellǫ@ȡC(j)eth1ipַʹ
  1. /sbin/ifconfig eth1 | grep -oP '(?<=inet addr:)[0-9.]{7,15}'
(f)ƴa
߀l(f)F(xin)grep-Pʹƥgrepy(tng)ģʽƥľӣ
  1. lxmxn@shell.example $ cat test   
  2. this is china unix bbs
  3. we are learning regexp for : [ perl
  4.   vim
  5.   grep
  6.   sed
  7.   awk ]
  8. that's all. thanks.
  9. lxmxn@shell.example $ grep -oP '(?si:(?<=\[).*(?=\]))' test   
  10. perl
  11.   vim
  12.   grep
  13.   sed
  14.   awk
  15. lxmxn@shell.example $
(f)ƴa

: hengshan    r(sh)g: 2012-06-03 16:49
õ_Z԰
: lp279579561    r(sh)g: 2012-06-03 21:10
W(xu)(x)һ...
: dooros    r(sh)g: 2012-06-03 23:57
(dng)@λֵܲnj˱t_(d)ʽɵϕ(dng)߀o˺öཨh
: Shell_HAT    r(sh)g: 2012-06-04 09:52
؏(f) 45# wfade


\w Qwordַ[A-Za-z0-9_]ġwordsͨĸ(sh)„Mɣ㌢dzϲgͨJ(rn)
顰wordĸBӷ(-)Ʋ̖'M҂ϣܸ׃@NxʹՈӛס҂wordĶx
ĸ(sh)„Mɡ
ӢZ@ӡZwords ɲͬķ̖M鿴perllocale Ďփ˽Ϣ
(dng)鿴ASCII aӢZır(sh)҂̖Ʋ̖(')ַͬĆ}˺yfcatcat һ(g)Ʋ̖( ')߀cat ӆ
̖@Ӌ(j)C(j)߀ܽӹһ(g)ԭ?
(dng)Ȼ\w ƥ~ֻƥ΂(g)ַƥ(g)~ҪӼ̖ģʽ/fred \w+ barney/ƥfred
һ(g)~wordȻǿոbarneyˣfred barney ֮gһ(g)~Ɇ΂(g)ոָ_
ƥ
҂ֹͣword ϼ̖F(xin)ѽ(jng)֪ĸ-(sh)-„Mɵġ
: Shell_HAT    r(sh)g: 2012-06-04 09:54
؏(f) 32# xiakedz


    *.txt@ͨShell̎grep
: wenhq    r(sh)g: 2012-06-04 10:45
@e(cu)
t_(d)ʽ߀ǵČA(ch)ҪҪ(yn)һЩď(qing)A(ch)
ڿperlʲôģ
@Ӳ܌W(xu)ĺܺ
: chenjintao_ii    r(sh)g: 2012-06-04 12:11
W(xu)gW(xu)Cֱperlt_(d)ʽõǽһ(g)ˬǰlinuxһЩ(yng)_l(f)ĕr(sh)õCƥַchar str_src[128], str_dest[4]; strncp();strcmp()...(jng)溣yˮX
Ct᣿l^tĺ(sh)
: chenjintao_ii    r(sh)g: 2012-06-04 12:14
؏(f) 52# Shell_HAT


    yfcatcat һ(g)Ʋ̖( ')߀cat ӆ̖@Ӌ(j)C(j)߀ܽӹһ(g)ԭ?

@(g)Һϲg~~~
: OܺZ    r(sh)g: 2012-06-04 14:01
ႀ(g)ȸǺ
: wallcopper    r(sh)g: 2012-06-04 14:34
wallcopper 2012-06-04 14:39 ݋

1vi(hu)ut_(d)ʽַ^$\ȵ 
ǰ治\/\\ɶ˼鲻֪Q?&ַl(f)sed -i 's@\?tid=@\&tid=@g'  
2grep,sed,awkõԽ࣬|t_(d)ʽҲԽ ls  -l|grep ^d
3apachenginxöϺt򽻵
      if ($host = 'abc.com' ) {
                rewrite  ^/(.*)$  http://www.abc.com/$1  permanent;
        }
4l(f)F(xin)perl,bash,php,java,c,python,js,jspҲõt_(d)ʽ
5l(f)F(xin)oracleZҲõt
6ǰsendmail.cfϿ״󴮵ַM֪ԭsendmailPostfix֧t_(d)ʽ
7ǰ˼Ҍİt_(d)ʽ_y˲֪ԭõt_(d)ʽ
: to407    r(sh)g: 2012-06-04 16:42
؏(f) 55# chenjintao_ii


    http://www.gnu.org/software/libc ... ar-Expressions.html
: zsc_ericluo    r(sh)g: 2012-06-04 18:33
tСׇ^W(xu)(x)
: milujite    r(sh)g: 2012-06-04 18:54
milujite 2012-06-04 18:55 ݋

Ԓ}
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)

1ı^Vҳõı݋NOTEPAD++VIMNOTEPAD++tVIM߀Ǜ]ñȵ罛(jng)Ҫ^Vļ#_^":g/^#/d"Щƥֶ֮
2־^VγɈ(bo)ǰSo(h)^MAIL(w)]^ǰNϢҪ@ȡ@ЩϢڽy(tng)Ӌ(j)߀ÿtW(xu)(x)PERLPYTHON(sh)F(xin)ͬӵĹPERLPythontƥshell_ö؄eǴ־Ҫ@ȡijЩֵڷPERLt?zhn)XǎT_ZЧʵmȻF(xin)ںܶ˶ѽ(jng)PYTHONȥȡPERLPCREZGREP֮tZ߀һ^(q)eģ(jng)(hu)ûyGREP֮ĸɴֱӼ-e
: ϷΛρ    r(sh)g: 2012-06-04 18:57
send_linux l(f) 2012-05-31 21:59
xxc\(yn)SҪõ_ɶģt_(d)ʽDZزٵİǺ



tDZزٵİ
: Sevk    r(sh)g: 2012-06-04 20:12
ʾ: ֹ߱h (ni)Ԅ(dng)
: to407    r(sh)g: 2012-06-05 00:56
؏(f) 1# send_linux


ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}


     RegexҪÁ _ɹеļ(x)(ji)} ߀ÁDB/OS־^V־õҪĽY(ji)


t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)


ö˾иX vһЩС(x)(ji)ɡ

1 Ҫm(dng)˽DFA/NFAͬĹRegexĽͬ@(g)֮ǰDZ ͨt_(d)ʽv˲
     DFAĸʽֻ֧ NFAضr•(hu)^(dng)ȻF(xin)ڲǸM(jn)^NFA

2 Ҫעⲻͬƽ_ ߵֶ֧Ȳһ
    grep/egrep ĿǰLinuxƽ_ֵ֧ñ^£ Solaris10Բ֧grep -e(solaris11 ѽ(jng)֧) Ҫ egrep

    trڽһlr(sh)t(hu)F(xin)ͬƽ_ϲͬ(̖Ľͬ)
    $ echo  '[]' | tr '[a-z]' A

    һЩƽ_֧'+'ƥôƥַҪ
    [[:space:]][[:space:]]* [[:space:]]+

    @СatLinux/Solaris\(yn)ȫһӡsolarisO(sh)ȡSC(j)(sh){(dio)head(dng)Д(sh)^r(sh)@׃
    $expr 'NAME'`</dev/urandom tr -dc A-Za-z0-9_#$ | head -c29 |tr '[a-z]' '[A-Z]'`
    @δaֲSolarisĕr(sh)^
    solaris10治֧ tr -c ֲòsed/stringsɣֲܱCY(ji)L ò״paste֮ٽַ
    $expr 'NAME'`sed 's/[^a-zA-Z0-9_$#]//g' /dev/urandom | strings -n 5 | head -1`


3 һЩõRegexӛס         
    sedhֻпַ
    $ sed '/^[[:space:]]*$/d'

4 ӛַַD(zhun)x
    f[[:space:]]+ sed棬ҪѼ̖D(zhun)x [[:space:]]\+
    ߀sedķ׃()ҪD(zhun)x(sh)Hƥ"("ҪD(zhun)x
    sed 's/\([[:alpha:]]\)(\([[:alpha:]]\)/\1 \2/g'

5 һ(g)_ֻһ
    ؄eshell_ ҪLԇһŒLƥ䴮ڏ(f)s„(w)ȫöκ̎ ߿xԺͿ{(dio)ԇ
    һӌһ؄eLRegexƥ䴮һѽ(jng)(yn)C߳Ĵ򷽰]p{(dio)ôΔ(sh)

6 ^(q)e؝/؝ģʽ(Greediness/Laziness)
    ҵ뷨ڗlД,ДַǷڵĕr(sh)򣬿÷؝ģʽQ ÿ]1ϻ߶Nܵƥ
    perl֧փɷNģʽZõú϶Ǖ(hu)\(yn)Ўġ



: lkk_super    r(sh)g: 2012-06-05 11:37
؏(f) 55# chenjintao_ii


    pcre~~~~~
: seesea2517    r(sh)g: 2012-06-05 13:24
Ǻܕ(hu)v@Щ|Xý(jng)ՓӑՓ}һЩ}Լ˵ĽⷨW(xu)(x)(jng)(yn)ľ͕(hu)(jng)Ąe˵ĽⷨW(xu)һЩQ}˼SXի@ܶ

@|ՓҪBĸֲ^ϵÁKX\@(g)߀ÿ(dng)ֲW(wng)ʲô_ʲôÁ֮ǰпԼ(sh)F(xin)һeˌʲôһӵĵطҵe˵ķԼķ֮gIJeʲô벻ͬķą^(q)eӵĶԼ

һֱXát_(d)ʽİl(f)һNҎ(gu)ɵĘOĸͳһ(g)ĸ


Ұl(f)F(xin)ҲǺܕ(hu)픡ӣ?yn)ÿM(jn)Փ涼һƬ?sh)Բ?hu)ȥJ(rn)濴N픡ܵһ(g)Qkϵ^rGɫµĄtñ^rGɫ
: send_linux    r(sh)g: 2012-06-05 13:42
seesea2517 l(f) 2012-06-05 13:24
Ǻܕ(hu)v@Щ|Xý(jng)ՓӑՓ}һЩ}Լ˵ĽⷨW(xu)(x)(jng)(yn) ...


յĽh҂F(xin)Ҳںܿĸ....

: su8610    r(sh)g: 2012-06-05 14:23
W(xu)(x)W(xu)(x):wink::wink:
: mcshell    r(sh)g: 2012-06-05 15:21
W(xu)(x)tĺھ̎pٻ˷Ч
: 448395708    r(sh)g: 2012-06-05 23:55
t韩ò
: zheguzai    r(sh)g: 2012-06-06 09:45
؏(f) 10# Shell_HAT

@(g)(g)܏(qing)t_(d)ʽ?jng)]ô^W(xu)(x)¡


   
: Shell_HAT    r(sh)g: 2012-06-08 21:13
؏(f) 72# 448395708


    W(xu)(hu)֮Ч
: rongpmcu    r(sh)g: 2012-06-10 22:01
[Ǻ
: chenjintao_ii    r(sh)g: 2012-06-11 09:29
؏(f) 66# lkk_super


    ٶPCREȻǺÖ|
: chenjintao_ii    r(sh)g: 2012-06-11 09:42
߀Ўׂ(g)}
һ(g)ĿУĿ/grepַ(hu)ЩBinary file ./usr/bin/dbus-launch matchesʾ2>/dev/nullҲ@ʾʲô˼߀grepĕr(sh)F(xin)No such file or directoryʾ2>/dev/nullgrep -v "No such file or directory"@Ǟʲô{:2_168:}
: yizhengming    r(sh)g: 2012-06-11 09:50
perlt܏(qing)󡡄꾫ͨt_(d)ʽ
: to407    r(sh)g: 2012-06-11 15:41
؏(f) 83# chenjintao_ii


    ɂ(g)}
  
    1. Binary file ./usr/bin/dbus-launch matches
    @(g)}㑪(yng)ԓ]ʲôҪһ(g)binary fileȥgrepһǷ@(g)
    Ոgrep -I x(xing)
       -I     Process a binary file as if it did not contain matching data; this is equivalent to the --binary-files=without-match option.

       --binary-files=TYPE
              If the first few bytes of a file indicate that the file contains binary data, assume that the file is of type TYPE.  By default, TYPE  is  binary,  and
              grep  normally outputs either a one-line message saying that a binary file matches, or no message if there is no match.  If TYPE is without-match, grep
              assumes that a binary file does not match; this is equivalent to the -I option.  If TYPE is text, grep processes a binary file as if it were text; this
              is  equivalent  to  the -a option.  Warning: grep --binary-files=text might output binary garbage, which can have nasty side effects if the output is a
              terminal and if the terminal driver interprets some of it as commands.



    2. grep -v "No such file or directory"
    @ɂ(g)}һc(din)ƺ]з stdoutstderr 
    @(g)ֲԒ߀ȥ

: šI(y)    r(sh)g: 2012-06-11 15:53
tĖ|̫߀ǰѻA(ch)
: chenjintao_ii    r(sh)g: 2012-06-11 16:45
؏(f) 85# to407

xn

   
stdoutǽ(jng)^_̎stderr]н(jng)^_̎ݔstderrĔ(sh)(j)(hu)ֱӱl(f)͵K


@(g)Dzdž}Ĵ
: to407    r(sh)g: 2012-06-11 17:17
؏(f) 87# chenjintao_ii


    ܉ 2>/dev/null ˼ô ߀ă̎} ܷstdoutstderrô

: zwld1    r(sh)g: 2012-06-11 18:42
һ(g)ǁ텢^W(xu)(x))
: chenjintao_ii    r(sh)g: 2012-06-12 09:11
to407 l(f) 2012-06-11 17:17
؏(f) 87# chenjintao_ii


No such file or directoryһ(g)stderr2>/dev/nullnjstderrݔ/dev/nullO(sh)ͨ^@ʾݔ
stdout(jng)^_̎grep(ni)M(jn)ж̎
stderrֱݔKoٌă(ni)M(jn)мӹֻ̎܌(do)O(sh)ݔgrep -v "No such file or directory"stderroЧ2>/dev/null_(d)ҵĿģֹݔ@ʾϣ

ҵ⡣
BR
: bear_wangc    r(sh)g: 2012-06-12 10:20
ճʹt_(d)ʽQһЩngxϵһЩwebD(zhun)

if ($request_uri ~* "([0-9]+)-([0-9]+)_right\.html\?cid=([0-9]+)$"){
        set $fid $1;
        set $gid $3;
        rewrite (.*) /forum-$fid-1-$gid-gid.html? permanent;
}
һЩ̎펧̖朽

: blackold    r(sh)g: 2012-06-12 12:19

ǰ^ dos glob ƥXǂ(g)ܺܺʹ word r(sh)XIJ
QҲʮֱ߀֧֡ǵt(@ǬF(xin)ڵĿ(dng)r(sh)Xúܡ߼NB)
SԼ(ƥ)ҪԽԽ룬ҪһNӡ”ӡܡ
ԓðֱһżȻt_(d)ʽ@ԼҵĺÖ|
Ҋ

to̎ȫ@fһNģʽ҂ÿ
ĸ(g)or(sh)o

r(sh)x_tʹ shell ( grep, sed, awkȵ)r(sh)݋ır(sh)
(sh)(j)r(sh)UNIX µĸNߎ׺̎ҊtٻӰһ˽tĻ֪R
͕(hu)ȵЧʡЧʺʹaЧǮ(dng)㌤ij(g)˵ĕr(sh),䌍(sh)
Ҳʹt

(jng)݋һ(g)ļF(xin)˴Ă(g)Ŀοُǧf(g)ļҵ
grep! ָǡ(dng)?sh)tgrep ͕(hu)ٵ؎ҵҪļ

ѴaжγF(xin)ij(g)(sh)޸Ğһ(g)ӺmҪ޴ք(dng)޸
݋(]߀Ɇ)֧tȫQһ(g)ͺ

vim@(g)Nĵľ̖()ȫ`ɡ.Ó(dn)ù
һ(g):%s/\.//gȫQͺˡ(ҵıﲻҪ.,Áe
@ׂ(g))

(yng)õeef׃x|(zh)ƥ()

ͬĹֵ֧t(t)ҲͬwfͬС

׺yČW(xu)(x)^ε POSIX BRE POSIX ERE _ʼ, ͨ^grepW(xu)(x)
ttһ(g)ĸJ(rn)R

tĻA(ch)ٌW(xu)(x)ߵt@ú׶^}r(sh)
߀Ҫ(yng)ߵփԣҲSԓбtU(ku)չ^ĹҪͨ
t߀ҪŬ

Perl (yng)ԓt֮ϲgtw(yn)tď(qing)㲻ܲ˽ Perl


: to407    r(sh)g: 2012-06-12 14:00
؏(f) 90# chenjintao_ii


    ߀һ(g)Сط pipe+grep ̎pipeǰһstdout@Ƿо]ʲôP(gun)ϵgrep@߅ǽܵ grepֻ̎ǰstdout


Լһ(g)Ӂԇ cdһ(g)Ŀ档
̎grepʲôһӵĽY(ji) 

  1. # alias grep='grep --color=auto'
  2. # LANG=
  3. # ls bb |grep "DD"
  4. # ls bb |grep "bb"
  5. # ls bb 2>&1|grep "bb"
(f)ƴa

: chenjintao_ii    r(sh)g: 2012-06-12 14:44
؏(f) 93# to407


    QԒf
ls bb(hu)ijNo such file or directoryʾ
ls bb 2>/dev/null ʾʧ
ls bb |grep -v "No such file or directory"ʾʧ?yn)ܵ̎stderrݔ
ls bb 2>&1 |grep -v "No such file or directory" ʾʧstderrضstdoutܵ̎

ú͸dzx
: to407    r(sh)g: 2012-06-12 15:13
؏(f) 94# chenjintao_ii


    great :wink:
: canyang0708    r(sh)g: 2012-06-12 15:25
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
Ҫnj־M(jn)з,ƥԼҪֶ
2t_(d)ʽ÷ڸ(g)Zԡ_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)
ֻ˽shell,]ʲô(jng)(yn),ֻÿһ_(hu)һի@,Խ,õҲԽ
: renxiao2003    r(sh)g: 2012-06-12 22:09
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}

ڹҪڱ_(d)ʽĵطڣShellļ(ni)ݵ̎JavascriptWeb(ni)ݵУ(yn)EmailԒ]aȵȣԼPHPʹt_(d)ʽJavaҲ(hu)õһЩ
2t_(d)ʽ÷ڸ(g)Zԡ_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)

Ҍt_(d)ʽČW(xu)(x)ǂ(g)ZʹҪt_(d)ʽĺIJ֌W(xu)(x)ҽ(jng)ǡ30犌W(xu)(x)ڱ_(d)ʽڸ(g)ZԺ_еIJe͵ÅNZ_փԁʹþOK
: yurii    r(sh)g: 2012-06-13 21:52
ҺǡtָǸˣӑՓȞg[һ飬ٺ͸λӑՓ
: ܹ    r(sh)g: 2012-06-13 22:32
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
õĶڌ(sh)Htֻеһc(din)
a) ǰ˾Įa(chn)Ʒ̎־r(sh)Ҫƥ־־е׃@(g)εõtƥ乤Regular.exeRegexBuddy.exeRegex Match Tracer
  1. IDS¼
  2. <82>IDSName:msensorgiga3;EventName:snmp_uservars:bad_commname;Count:1;SIP:10.28.3.99;1052;DIP:10.28.47.17;161;Time:2005-03-18 03:50:51;Type:^ce^b4^d6^aa;Severity:^d6^d0^b7^e7^cf^d5;Bad SNMP community name from 10.28.3.99 to 10.28.47.17
  3. <82>IDSName:msensorgiga3;EventName:dns_labels:binary;Count:1;SIP:10.28.8.100;15000;DIP:210.22.14.9;53;Time:2005-03-18 03:50:31;Type:^b9^a5^bb^f7;Severity:^d6^d0^b7^e7^cf^d5;10.28.8.100 -> 210.22.14.9 id 14080 DNS label contains binary data
  4. <82>IDSName:msensorgiga3;EventName:www2_uservars:unsafe_method;Count:1;SIP:10.28.70.7;4862;DIP:10.0.241.102;80;Time:2005-03-18 03:50:22;Type:^b9^a5^bb^f7;Severity:^d6^d0^b7^e7^cf^d5;10.28.70.7 -> 10.0.241.102: Unsafe method seen: POLL
  5. <82>IDSName:msensorgiga3;EventName:tftp_opcode;Count:1;SIP:10.28.7.96;15000;DIP:221.214.148.244;69;Time:2005-03-21 17:26:40;Type:̽y;Severity:L(fng)U(xin);10.28.7.96 -> 221.214.148.244: Suspicious opcode in TFTP transfer
  6. <82>IDSName:msensorgiga3-4507;EventName:tftp_opcode;Count:1;SIP:10.28.4.154;57777;DIP:211.244.33.95;69;Time:2005-04-03 20:22:02;Type:̽y;Severity:L(fng)U(xin);10.28.4.154 -> 211.244.33.95: Suspicious opcode in TFTP transfer
  7. <82>IDSName:Sensor-B;EventName:snmp_uservars:bad_commname;Count:1;SIP:132.194.68.102;60856;DIP:10.28.68.121;161;Time:2007-03-21 18:44:14;Type:δ֪;Severity:L(fng)U(xin);Bad SNMP community name from 132.194.68.102 to 10.28.68.121
  8. ЄeҎ(gu)t
  9. <\d+>IDSName:([^;]+);EventName:([^:]+):([^;]+);Count:(\d+);SIP:([^;]+);(\d+);DIP:([^;]+);(\d+);Time:([^;]+);Type:([^;]+);Severity:([^;]+);([^;]+)
  10. <\d+>IDSName:([^;]+);EventName:([^;]+);Count:(\d+);SIP:([^;]+);(\d+);DIP:([^;]+);(\d+);Time:([^;]+);Type:([^;]+);Severity:([^;]+);([^;]+)
(f)ƴa
b) Զxunixϵy(tng)־Ҫ@ȡÑIPϢr(sh)ҲֻǺεʹcutgrepawkٺ٣^´aęnҵѪdȤֵо
  1. # Add content in /etc/profile
  2. # Log "bash sh ksh" user login and command history
  3. up_client_ip=`(who am i|cut -d\( -f2|cut -d\) -f1)`
  4. if ( test -z "`echo $up_client_ip|awk '($1 ~/[0-9]+.[0-9]+.[0-9]+.[0-9]+/)'`" )
  5. then
  6. up_client_ip=`awk '/'$up_client_ip'/ {print $1}'  /etc/hosts`
  7. fi
  8. up_nowtime=`(date +"%Y-%m-%d %T")`
  9. logger -p user.notice -- class=\"HOST_LOGIN\" type=\"2\" time=\"$up_nowtime\" src_ip=\"$up_client_ip\" dst_ip=\"192.168.100.90\" primary_user=\"\" secondary_user=\"`id|cut -d\( -f2|cut -d\) -f1`\" operation=\"\" content=\"login successful\" authen_status=\"Success\" log_level=\"1\" session_id=\"$$\" 2>/dev/null
  10. case "$0" in
  11. -bash)
  12.         export PROMPT_COMMAND='logger -p user.notice -- class=\"HOST_COMMAND\" type=\"3\" time=\"`date +"%Y-%m-%d %T"`\" src_ip=\"$up_client_ip\" dst_ip=\"192.168.100.90\" primary_user=\"\" secondary_user=\"`id|cut -d\( -f2|cut -d\) -f1`\" operation=\"$(history 1 | { read x y; echo $y; })\" content=\"command\" authen_status=\"\" log_level=\"1\" session_id=\"$$\" 2>/dev/null;'
  13.         ;;
  14. -ksh)
  15. function log2syslog
  16. {
  17.                 logger -p user.notice -- class=\"HOST_COMMAND\" type=\"3\" time=\"`date +"%Y-%m-%d %T"`\" src_ip=\"$up_client_ip\" dst_ip=\"192.168.100.90\" primary_user=\"\" secondary_user=\"`id|cut -d\( -f2|cut -d\) -f1`\" operation=\"`fc -ln -0`\" content=\"command\" authen_status=\"\" log_level=\"1\" session_id=\"$$\" 2>/dev/null;
  18. }
  19.         trap log2syslog DEBUG;
  20.         ;;
  21. esac
  22. readonly up_client_ip
  23. readonly up_nowtime
  24. readonly PROMPT_COMMAND
(f)ƴa
c) ˾Ҫy(tng)Ӌ(j)WEB־һЩОȻ@ôһ(g)_fWEB־IPĿ䛣Ŀ´־ļ־ļаڡkeywordsļxP(gun)Iserver_ipxҪWEB־IP
  1. logdir=/var/log/netscaler
  2. analysedir=/var/www/html/seclog
  3. yesterday=`(date -d yesterday +"%Y-%m-%d")`
  4. today=`(date +"%Y-%m-%d")`

  5. function LOG_ANALYSE
  6. {
  7. cd $analysedir
  8. echo $SERVER_IP
  9. if [ ! -d $SERVER_IP ];
  10.         then mkdir $SERVER_IP;
  11. fi
  12. if [ ! -d $SERVER_IP/$yesterday ];
  13.         then mkdir $SERVER_IP/$yesterday;
  14.         else rm -rf $SERVER_IP/$yesterday/*;
  15. fi
  16. for VALUE in `cat keywords |egrep -v "^$|^#"|awk -F"=" '{print $2}'`;
  17.     do
  18.         KEY=`grep "=$VALUE" keywords|egrep -v "^$|^#"|cut -d\= -f1`;
  19.         grep -i "$VALUE" $logdir/$SERVER_IP/*$yesterday.log* >>$SERVER_IP/$yesterday/"$SERVER_IP"_"$KEY".result;
  20. done
  21. cd $SERVER_IP/$yesterday/
  22. awk '{print $3"\t"$9}' *.result >>analyse_"$yesterday"
  23. #sed -r 's/.* (\S+) \S+ HTTP \S+ \S+ \S+ (\S+) .*/\1 \2/'*.result >>analyse_"$yesterday"
  24. echo "url                                (d)IP(sh)                       pv">>count_"$yesterday"
  25. echo "--------------------------------------------------------------------">>count_"$yesterday"
  26. awk '{a[$2]++;if(!b[$2"_"$1]){b[$2"_"$1]=1;n[$2]++}}END{for(i in a) printf "%-45s %-20s %s\n",i,n[i],a[i]}' analyse_"$yesterday" | sort -k3n >>count_"$yesterday"
  27. echo "IP                                 LURL(sh)                   Δ(sh)">>count_"$yesterday"
  28. echo "--------------------------------------------------------------------">>count_"$yesterday"
  29. awk '{a[$1]++;if(!b[$1"_"$2]){b[$1"_"$2]=1;n[$1]++}}END{for(i in a) printf "%-45s %-20s %s\n",i,n[i],a[i]}' analyse_"$yesterday" | sort -k3n >>count_"$yesterday"
  30. cd $analysedir
  31. }
  32. for SERVER_IP in `cat $analysedir/server_ip|egrep -v "^$|^#"`;
  33.     do LOG_ANALYSE;
  34. done
  35. cd $analysedir
  36. cat /dev/null >$analysedir/analyse_"$yesterday"_all
  37. cat /dev/null >$analysedir/count_"$yesterday"_all
  38. for SERVER_IP in `cat $analysedir/server_ip|egrep -v "^$|^#"`;
  39.     do cat $analysedir/$SERVER_IP/$yesterday/analyse_"$yesterday" >>$analysedir/analyse_"$yesterday"_all;
  40. done
  41. echo "url                                (d)IP(sh)                       pv">>$analysedir/count_"$yesterday"_all
  42. echo "--------------------------------------------------------------------">>$analysedir/count_"$yesterday"_all
  43. awk '{a[$2]++;if(!b[$2"_"$1]){b[$2"_"$1]=1;n[$2]++}}END{for(i in a) printf "%-45s %-20s %s\n",i,n[i],a[i]}' analyse_"$yesterday"_all | sort -k3n >>$analysedir/count_"$yesterday"_all
  44. echo "IP                                 LURL(sh)                   Δ(sh)">>$analysedir/count_"$yesterday"_all
  45. echo "--------------------------------------------------------------------">>count_"$yesterday"_all
  46. awk '{a[$1]++;if(!b[$1"_"$2]){b[$1"_"$2]=1;n[$1]++}}END{for(i in a) printf "%-45s %-20s %s\n",i,n[i],a[i]}' analyse_"$yesterday"_all | sort -k3n >>$analysedir/count_"$yesterday"_all
(f)ƴa
d) z־ǷϢÿ̖C̖ȣ˂(g)ε_grepegrep
  1. ####################################################
  2. echo "log contain ID Number:"
  3. echo "-------------------------------------------"
  4. egrep -a "\b[0-9]{6}[1|2][8|9|0][0-9]{2}0[1-9][0-3][0-9][0-9]{3}[0-9x]\b|\b[0-9]{6}[1|2][8|9|0][0-9]{2}1[0-2][0-3][0-9][0-9]{3}[0-9x]\b|\b[0-9]{6}[0-9]{2}0[1-9][0-9]{5}\b|\b[0-9]{6}[0-9]{2}1[0-2][0-9]{5}\b|ֿC̖" */*
  5. echo
  6. echo
  7. ####################################################
  8. echo "log contain Credit card number:"
  9. echo "-------------------------------------------"
  10. #egrep  "4[0-9]{15}|4[0-9]{12}|5[1-5][0-9]{14}|6011[0-9]{12}|65[0-9]{14}|3[47][0-9]{13}|30[0-5][0-9]{11}|3[68][0-9]{12}|2131[0-9]{11}|1800[0-9]{11}|35[0-9]{3}[0-9]{11}" */*
  11. egrep -a  "\b4[0-9]{15}\b|\b4[0-9]{12}\b|\b5[1-5][0-9]{14}\b|\b6011[0-9]{12}\b|\b65[0-9]{14}\b|\b3[47][0-9]{13}\b|\b30[0-5][0-9]{11}\b|\b3[68][0-9]{12}\b|\b2131[0-9]{11}\b|\b1800[0-9]{11}\b|\b35[0-9]{3}[0-9]{11}\b|BankCardNumber" */*
  12. echo
  13. echo
  14. ####################################################
(f)ƴa
e) zT@(g)õľW(wng)ϬF(xin)ɵĴa
  1. #!/usr/bin/python
  2. #-*- encoding:UTF-8 -*-
  3. ###
  4. ## @package
  5. ##
  6. ## @author      CFC4N   <cfc4nphp@gmail.com>
  7. ## @copyright   copyright (c) Www.cnxct.Com
  8. ## @Version     $Id: check_php_shell.py 37 2010-07-22 09:56:28Z cfc4n $
  9. ###
  10. import os
  11. import sys
  12. import re
  13. import time
  14. def listdir(dirs,liston='0'):
  15.     flog = open(os.getcwd()+"/check_php_shell.log","a+")
  16.     if not os.path.isdir(dirs):
  17.         print "directory %s is not exist"% (dirs)
  18.         return
  19.     lists = os.listdir(dirs)
  20.     for list in lists:
  21.         filepath = os.path.join(dirs,list)
  22.         if os.path.isdir(filepath):
  23.             if liston == '1':
  24.                 listdir(filepath,'1')
  25.         elif os.path.isfile(filepath):
  26.             filename = os.path.basename(filepath)
  27.             if re.search(r"\.(?:php|inc|html?)$", filename, re.IGNORECASE):
  28.                 i = 0
  29.                 iname = 0
  30.                 f = open(filepath)
  31.                 while f:
  32.                     file_contents = f.readline()
  33.                     if not file_contents:
  34.                         break
  35.                     i += 1
  36.                     match = re.search(r'''(?P<function>\b(?:include|require)(?:_once)?\b)\s*\(?\s*["'](?P<filename>[^;]*(?<!\.(?:php|inc)))["']\)?\s*''', file_contents, re.IGNORECASE| re.MULTILINE)
  37.                     if match:
  38.                         function = match.group("function")
  39.                         filename = match.group("filename")
  40.                         if iname == 0:
  41.                             info = '\n[%s] :\n'% (filepath)
  42.                         else:
  43.                             info = ''
  44.                         info += '\t|-- [%s] - [%s]  line [%d] \n'% (function,filename,i)
  45.                         flog.write(info)
  46.                         print info
  47.                         iname += 1
  48.                     match = re.search(r'\b(?P<function>eval|proc_open|popen|shell_exec|exec|passthru|system)\b\s*\(', file_contents, re.IGNORECASE| re.MULTILINE)
  49.                     if match:
  50.                         function = match.group("function")
  51.                         if iname == 0:
  52.                             info = '\n[%s] :\n'% (filepath)
  53.                         else:
  54.                             info = ''
  55.                         info += '\t|-- [%s]  line [%d] \n'% (function,i)
  56.                         flog.write(info)
  57.                         print info
  58.                         iname += 1
  59.                     match = re.search(r'(^|(?<=;|=))\s*`(?P<shell>[^`]+)`\s*;', file_contents, re.IGNORECASE)
  60.                     if match:
  61.                         shell = match.group("shell")
  62.                         if iname == 0:
  63.                             info = '\n[%s] :\n'% (filepath)
  64.                         else:
  65.                             info = ''
  66.                         info += '\t|-- [``] command is [%s] in line [%d] \n'% (shell,i)
  67.                         flog.write(info)
  68.                         print info
  69.                         iname += 1
  70.                 f.close()
  71.     flog.close()
  72. if '__main__' == __name__:
  73.     argvnum = len(sys.argv)
  74.     liston = '0'
  75.     if argvnum == 1:
  76.         action = os.path.basename(sys.argv[0])
  77.         print "Command is like:\n   %s D:\wwwroot\ \n   %s D:\wwwroot\ 1    -- recurse subfolders"% (action,action)
  78.         quit()
  79.     elif argvnum == 2:
  80.         path = os.path.realpath(sys.argv[1])
  81.         listdir(path,liston)
  82.     else:
  83.         liston = sys.argv[2]
  84.         path = os.path.realpath(sys.argv[1])
  85.         listdir(path,liston)
  86.     flog = open(os.getcwd()+"/check_php_shell.log","a+")
  87.     ISOTIMEFORMAT='%Y-%m-%d %X'
  88.     now_time = time.strftime(ISOTIMEFORMAT,time.localtime())
  89.     flog.write("\n----------------------%s checked ---------------------\n"% (now_time))
  90.     flog.close()
(f)ƴa
2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)
a) Tt_(d)ʽ30T̡̳ľ͕(hu)Ȼfǎׂ(g)ԇԇ
b) Ҫ˽͵(yng)ĈʹȥоЩZᵽ־ƥ䣬ڌ(sh)H^õ^н綨ͨ^ʲô綨λ\b㌒ԡ@СƥС@ͲԔ(x)fˣò
c) ͬZеt_(d)ʽ(hu)ͬjavaperlshellпʹõĶ(hu)вͬ@(g)(yng)f
d) μČW(xu)(x)t_(d)ʽyǽY(ji)Zԁض΄(w)
e) yԇt_(d)ʽЧʿʹRegexBuddy.exeԔ(x)ƥ^ƥΔ(sh)һv_ľ_\d{1,3}Ͳ.*޶ľ޶\w{1,3}Ͳ\w+ȵȡW(wng)ҲһЩY
f) Ќ(sh)H@ӲŌW(xu)ÿ졣
: incle    r(sh)g: 2012-06-14 17:58
fһб_(d)tô tV҂҂ı_(d)Ҏ(gu)ɿѭһģʽͨ^tƥ҂ҵ҂ҪIJã“(lin)W(wng)еһЖ|W(wng)ץȡ(sh)(j)@x_t

fú
: send_linux    r(sh)g: 2012-06-15 13:58
yurii l(f) 2012-06-13 21:52
ҺǡtָɣǸӑՓ죬Ȟg[һٺ͸λӑՓ


ώҊײҊβǺֲҊ
: wyw5257    r(sh)g: 2012-06-15 16:23
֧
: kingbigeast    r(sh)g: 2012-06-17 01:08
kingbigeast 2012-06-17 01:11 ݋

W(xu)(x)t_(d)ʽǏɷgͨt_(d)ʽ_ʼģvimĕr(sh)l(f)F(xin)ܶr(sh)Ҫt_(d)ʽ
ġ^c(din)̖@Щǰ΢һc(din)ģҲy˼˽T硰ƥ䃞(yu)ȡԃ(yu)ȡֽ̻Mȵȸ߀вͬõIJͬ˼룺y(tng)NFAǷǴ_иFB(ti)Ԅ(dng)C(j)DZ_(d)ʽ(do)ƥĽY(ji)(j)regexLu_DFAı(do)ÿһƥ䌍(sh)ıgһͬԵĽY(ji)һӵģBFSDFSNFADZ_(d)ʽ(do)Ա_(d)ʽ|(zh)ֱP(gun)ϵЧ
ϻxĵ
eһЩҬF(xin)뵽ӣ
һ
{(dio)ԇaĕr(sh)(hu)lӺעһЩyԇavimһЩIضregex팍(sh)F(xin)

  1. vmap <silent> <Leader>/ :s_^\(\s\)\?_\1//<CR>
  2. vmap <silent> <Leader>\ :s_^\(\s\)\?//_\1<CR>
(f)ƴa
C++עጺȥעбܓQ#Ҳshell_ʹ
vimt(yng)ԓsed^񣬿ע⵽sQĕr(sh)/ָ„@(g)sed(dng)ģʽкбܵĕr(sh)؄eá

*nuxºܶ๤ߵݔǼıǞ˷̎̎ıĹ߱Ҫt_(d)ʽ
֪ԼIPxoһ(g)׃ifconfigõC(j)IPϢַȻgrepҵdȤcutҵdȤ

  1. $ifconfig eth0 | grep "inet addr" | cut -d: -f2 | cut -d" " -f1
(f)ƴa
(dng)Ȼ@ﲢ]õʲô߼ļЕr(sh)@(g)ܺҪҪffmpegȡĻҕlҪ֪ڵ(bio)xwininfoԵõϢҪgrepsed̎^VҪĽY(ji)

eһ(g)ShellregexӡF(xin)һֱһ(g)^·ҪҵļͺY@ӣ

  1. $filepath=/home/bigeast/Desktop/try/te.c
  2. $filename=${filepath##*/}                #now $filename is te.c
  3. $filetype=${filename##.}                #now $filetype is c
  4. $file=${filename%*.c}                        #now $file is te
(f)ƴa
ɂ(g)#Lƥ䣨ƥ䃞(yu)ȣһ(g)%ʾ̵ƥ䣨ԃ(yu)ȣ

r(sh)gҌ@ôһchinaunixXՇ߀e(cu)
: Bean_lee    r(sh)g: 2012-06-17 10:06
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
1 t_(d)ʽÑݔļã
2 ־еϢ
3 ÑݔϷԵęzyÑݔһ(g)IP횙zyÑݔIP_c

2t_(d)ʽ÷ڸ(g)Z_вͬʲôW(xu)(x)(jng)(yn)ԷoW(xu)
NZԶЌt_(d)ʽ֧ճCJavascriptPHP pythonNZԶ֧t_(d)ʽ
҂һJ(rn)IJ̫mϽִCҲЌt_(d)ʽ֧֣CҲЎ֧@(g)t_(d)ʽͲӂ
ٶregexecjs^ RegExp 

W(xu)(x)t_(d)ʽҪt_(d)ʽҎ(gu)tڸNZԌt_(d)ʽ֧t_(d)ʽȻҲˮ

: send_linux    r(sh)g: 2012-06-17 12:12
Bean_lee l(f) 2012-06-17 10:06
1ճЕ(hu)ʹt_(d)ʽQʲôӵĆ}
1 t_(d)ʽÑݔã ...


ǂ(g)ˮţ˰Ǻ
: to407    r(sh)g: 2012-06-18 11:02
؏(f) 101# kingbigeast


   
vimt(yng)ԓsed^ע⵽sQĕr(sh)/ָ„@(g)sed(dng)ģʽкбܵĕr(sh)؄e


  @߅sed sedķָ 䌍(sh)ַ~~~abc~~

  @(g)ַ'##'ȡַԒ (yng)ԓͨ"wildcard char"RE
: kingbigeast    r(sh)g: 2012-06-18 16:02
kingbigeast 2012-06-18 16:03 ݋

؏(f) 104# to407

̫æI(lng)
: to407    r(sh)g: 2012-06-18 16:24
؏(f) 105# kingbigeast


    һc(din) ҵ˼ ɴӡַ ֻҪл߱ҪD(zhun)xַÁ ε 'a' ַҲ

    e(g)~~~

  1. -bash-3.00$ cat dbm.env
  2. export ORACLE_SID=orcl1

  3. -bash-3.00$ sed 'saORACLEaDATABASEag' dbm.env
  4. export DATABASE_SID=orcl1
(f)ƴa





gӭR Chinaunix (http://72891.cn/) Powered by Discuz! X3.2