ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÈçºÎÔÚLinuxÉÏÌá¸ßÎı¾ËÑË÷ЧÂÊ£¿

·¢²¼Ê±¼ä:2014-02-28 15:33:11À´Ô´:ºìÁª×÷Õß:bretxn
¡¡¡¡À´Ô´£ºÌì¼«Íø

¡¡¡¡¶ÔÓÚϵͳ¹ÜÀíÔ±»ò³ÌÐòÔ±À´Ëµ£¬µ±ÐèÒªÔÚ¸´ÔÓÅäÖõÄĿ¼ÖлòÕßÔÚ´óÐÍÔ´ÂëÊ÷ÖÐËÑÑ°ÌØ¶¨µÄÎı¾»òģʽʱ£¬grepÀàÐ͵Ť¾ß´ó¸ÅÊÇ×îÊÜ»¶Ó­µÄ¡£

¡¡¡¡Èç¹ûgrepÊÇÄã×îϲ»¶µÄ¹¤¾ßÖ®Ò»£¬ÄÇôÄã¿ÉÄÜ»á¸üϲ»¶ack¡£ackÊÇÒ»¸ö»ùÓÚPerlµÄÀàËÆÓÚgrepµÄÃüÁîÐй¤¾ß£¬µ«ÊÇËÑË÷Ëٶȸü¿ì£¬ÄÜÁ¦±Ègrep¸üÇ¿¡£ÓÈÆäÊǵ±ÄãÊdzÌÐòԱʱ£¬ÎÒÇ¿ÁÒÍÆ¼öÄãʹÓÃackÀ´È¡´úgrep¡£

¡¡¡¡ackµÄÓ÷¨·Ç³£ÊÊÓÃÓë´úÂëËÑË÷£¬Òò´Ë³ÌÐòÔ±¿ÉÒÔÔÚÔ´ÂëÊ÷ÖнøÐи´ÔӵIJéѯ£¬¶øÖ»ÐèÒª¸üÉٵİ´¼ü¡£

¡¡¡¡ackµÄÌØÐÔ

¡¡¡¡ackµÄһЩ·Ç³£Ç¿´óµÄÌØÐÔ£º

¡¡¡¡Ä¬ÈÏËÑË÷µ±Ç°¹¤×÷Ŀ¼

¡¡¡¡Ä¬ÈϵݹéËÑË÷×ÓĿ¼

¡¡¡¡ºöÂÔÔªÊý¾ÝĿ¼£¬±ÈÈç.svn,.git,CSVµÈĿ¼

¡¡¡¡ºöÂÔ¶þ½øÖÆÎļþ(±ÈÈçpdf£¬image£¬coredumps)ºÍ±¸·ÝÎļþ(±ÈÈçfoo~,*.swp)

¡¡¡¡ÔÚËÑË÷½á¹ûÖдòÓ¡Ðкţ¬ÓÐÖúÓÚÕÒµ½Ä¿±ê´úÂë

¡¡¡¡ÄÜËÑË÷ÌØ¶¨ÎļþÀàÐÍ(±ÈÈçPerl,C++,Makefile),¸ÃÎļþÀàÐÍ¿ÉÒÔÓжàÖÖÎļþºó׺

¡¡¡¡¸ßÁÁËÑË÷½á¹û

¡¡¡¡Ö§³ÖPerlµÄ¸ß¼¶ÕýÔò±í´ïʽ£¬±ÈgrepËùʹÓÃGNUÕýÔò±í´ïʽ¸üÓбíÏÖÁ¦¡£

¡¡¡¡Ïà±ÈÓÚËÑË÷ËÙ¶È£¬ack×ÜÌåÉϱÈgrep¸ü¿ì¡£ackµÄËÙ¶ÈÖ»Òª±íÏÖÔÚËüµÄÄÚÖõÄÎļþÀàÐ͹ýÂËÆ÷¡£ÔÚËÑË÷¹ý³ÌÖУ¬ackά³Ö×ÅÈϿɵÄÎļþÀàÐ͵ÄÁÐ±í£¬Í¬Ê±Ìø¹ýδ֪»ò²»±ØÒªµÄÎļþÀàÐÍ¡£ËüͬÑù±ÜÃâ¼ì²é¶àÓàµÄÔªÊý¾ÝĿ¼¡£

¡¡¡¡ÔÚLinuxÉϰ²×°ack

¡¡¡¡¾¡¹ÜÔÚ´ó¶àÊýLinux·¢ÐаæÖÐÊÇackÊDZê×¼°ü£¬¿ÉÇáÒ×»ñµÃ(±ÈÈçÔÚ»ùÓÚdebianµÄϵͳÖУ¬ÊÇack-grep°ü£¬¶øÔÚ»ùÓÚRedhatµÄϵͳÖÐÔòÊÇack°ü)£¬µ«ÊÇÓë·¢ÐаæÀ¦°óµÄack°æ±¾ÈÔÈ»ÊÇ1.x,¶øack2.0ÒѾ­·¢²¼£¬¶øÇÒÓµÓиü¶àÌØÐÔ¡£

¡¡¡¡Òò´ËÎÒ×¼±¸ÔÚ¹Ù·½ÍøÕ¾ÏÂÔØ£¬È»ºó°²×°ack¡£

¡¡¡¡·½±ãµÄÊÇ£¬ackÔÚ¹ÙÍø¿É¿É×÷Ϊһ¸öµ¥¶ÀµÄPerl½Å±¾»ñµÃ£¬ÆäÖÐÕûºÏÁËËùÓÐÐèÒªÒÀÀµµÄÄ£¿é¡£Òò´Ë£¬Äã²»ÐèÒª¶îÍâ°²×°PerlÄ£¿éÀ´ÔËÐÐÕâ½Å±¾¡£

¡¡¡¡ÎªÁËÔÚÄãµÄLinuxϵͳÖа²×°ack£¬È¥¹ÙÍøÏÂÔØ×îа汾µÄack¡£ÔÚд±¾ÎÄʱ£¬×îеİ汾ÊÇ2.12

¡¡¡¡$ wget http://beyondgrep.com/ack-2.12-single-file $ sudo mv ack-2.12-single-file /usr/local/bin/ack $ sudo chmod 0755 /usr/local/bin/ack

¡¡¡¡ÐèҪעÒâµÄÊÇ£¬ÔÚ»ùÓÚDebianµÄϵͳÖУ¬ÓÐÒ»¸ö¶ÀÁ¢µÄ°üÒ²½Ðack(ººÂëת»»Æ÷)¡£ËùÒÔÈç¹ûÄãÅöÇÉÓÐʹÓÃÄǸö°ü£¬ÄÇôÄã¾Í±ØÐëÖØÃüÃûackÀ´±ÜÃâÃüÃû³åÍ»ÁË¡£

¡¡¡¡ackµÄʹÓð¸Àý

¡¡¡¡1.ÔÚµ±Ç°Ä¿Â¼µÝ¹éËÑË÷µ¥´Ê¡±eat¡±,²»Æ¥ÅäÀàËÆÓÚ¡±feature¡±»ò¡±eating¡±µÄ×Ö·û´®:

¡¡¡¡$ ack -w eat

¡¡¡¡2.ËÑË÷ÓÐÌØÊâ×Ö·ûµÄ×Ö·û´®¡¯$path=.¡¯,ËùÓеÄÔª×Ö·û(±ÈÈ硯$',¡¯.')ÐèÒªÔÚ×ÖÃæÉϱ»Æ¥Åä:

¡¡¡¡$ ack -Q '$path=.' /etc

¡¡¡¡3.³ýÁËdowloadsĿ¼£¬ÔÚËùÓÐĿ¼ËÑË÷¡±about¡±µ¥´Ê:

¡¡¡¡$ ack about --ignore-dir=downloads

¡¡¡¡4.Ö»ËÑË÷°üº¬¡¯protected¡¯µ¥´ÊµÄPHPÎļþ£¬È»ºóͨ¹ýÎļþÃû°ÑËÑË÷½á¹ûÕûºÏÔÚÒ»Æð£¬´òӡÿ¸öÎļþ¶ÔÓ¦µÄËÑË÷½á¹û:

¡¡¡¡$ ack --php --group protected

¡¡¡¡5.»ñÈ¡°üº¬¡¯CFLAG¡¯¹Ø¼ü×ÖµÄMakefileµÄÎļþÃû¡£ÎļþÃûΪ*.mk,makefile,Makefile,GNUmakefileµÄ¶¼ÔÚ¿¼ÂÇ·¶Î§ÄÚ:

¡¡¡¡$ ack --make -l CFLAG

¡¡¡¡6.ÏÔʾÕû¸öÈÕÖ¾Îļþʱ¸ßÁÁÆ¥Åäµ½µÄ×Ö·û´®£º

¡¡¡¡$ tail -f /var/log/syslog | ack --passthru 192.168.1.10

¡¡¡¡7.Òª»»È¡ackÖ§³ÖµÄÎļþ¹ýÂËÀàÐÍ£¬ÔËÐУº

¡¡¡¡$ ack --help-type

¡¡¡¡Ô­ÎÄÁ´½Ó£º Xmodulo ·­Ò룺 ¼«¿Í·¶ - minejo

¡¡¡¡ÒëÎÄÁ´½Ó£º http://www.geekfan.net/6881/
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 5 ÌõÆÀÂÛ

  1. zy3000 ÓÚ 2014-05-13 20:59:27·¢±í:

    :0wl;l1

  2. fengcloud ÓÚ 2014-05-05 14:24:53·¢±í:

    ÃüÁîÌ«¶à£¬Ä¿Ç°??ÐèÒª£¬?µÃgrep?ÓÃÁË£¬Í¦ºÃʹ£¡

  3. mcl131311 ÓÚ 2014-05-03 20:57:08·¢±í:

    лл ÊÕ²ØÁË

  4. zhoudeng ÓÚ 2014-04-21 12:51:37·¢±í:

    ³õÀ´Õ§µ½£¬Ã»Ç®²»ºÃ»ì°¡£¬ºÇºÇ£¬Ð»Ð»Â¥Ö÷·ÖÏí£¬ºÃºÃѧϰ

  5. franku ÓÚ 2014-03-01 17:00:14·¢±í:

    µÚÒ»´ÎÌýµ½ack