Ãæ¶Ôº£Á¿Êý¾Ý£¬ÈçºÎ¿ìËÙ¶¨Î»ËùÐèÎļþ£¬Ö±½Ó¹ØÏµµ½¹¤×÷ЧÂʺÍϵͳά»¤µÄ±ã½ÝÐÔ
ÔÚÖÚ¶àÎļþËÑË÷¹¤¾ßÖУ¬`find`ºÍ`locate`ÎÞÒÉÊÇÁ½¿î×îΪǿ´óÇÒ³£ÓõŤ¾ß
ËüÃǸ÷×ÔÓµÓжÀÌØµÄÓÅÊÆºÍÊÊÓó¡¾°£¬ÕÆÎÕËüÃÇ£¬½«¼«´óµØÌáÉýÄãÔÚLinux»·¾³ÏµÄÎļþËÑË÷ÄÜÁ¦
Ò»¡¢find£º¾«×¼ËÑË÷µÄÈðÊ¿¾üµ¶ `find`ÃüÁîÊÇLinuxÖÐ×îÇ¿´óµÄÎļþËÑË÷¹¤¾ßÖ®Ò»£¬ËüÒÔÆäÁé»îÐԺ͹¦ÄÜÐÔÖø³Æ
ͨ¹ý×éºÏ²»Í¬µÄÑ¡ÏîºÍ²ÎÊý£¬`find`Äܹ»ÊµÏÖ¼¸ºõÈκθ´ÔÓµÄËÑË÷ÐèÇ󣬴Ӽòµ¥µÄÎļþÃûÆ¥Åäµ½»ùÓÚÎļþÊôÐÔ£¨Èç´óС¡¢Ê±¼ä´Á¡¢È¨Ï޵ȣ©µÄ¸´ÔÓ¹ýÂË£¬ÎÞÒ»²»°ü
1. »ù±¾Ó÷¨ `find`ÃüÁîµÄ»ù±¾Óï·¨ÈçÏ£º find ¡¾ÆðʼĿ¼¡¿ ¡¾Æ¥ÅäÌõ¼þ¡¿ ¡¾Ö´Ðж¯×÷¡¿ - ÆðʼĿ¼£ºÖ¸¶¨ËÑË÷µÄÆðʼµã£¬¿ÉÒÔÊǵ±Ç°Ä¿Â¼£¨.£©¡¢¸¸Ä¿Â¼£¨`..`£©»ò¾ø¶Ô·¾¶
- Æ¥ÅäÌõ¼þ£º¸ù¾ÝÎļþÃû¡¢ÀàÐÍ¡¢´óС¡¢Ê±¼ä´ÁµÈÊôÐÔɸѡÎļþ
- Ö´Ðж¯×÷£º¶ÔÕÒµ½µÄÎļþÖ´ÐеIJÙ×÷£¬Èç´òӡ·¾¶¡¢É¾³ý¡¢Òƶ¯µÈ
ÀýÈ磬²éÕÒµ±Ç°Ä¿Â¼¼°Æä×ÓĿ¼ÏÂËùÓÐÃûΪ`example.txt`µÄÎļþ£º find . -name example.txt 2. Ç¿´óµÄ¹ýÂËÌõ¼þ `find`Ö§³Ö¶àÖÖ¹ýÂËÌõ¼þ£¬°üÀ¨µ«²»ÏÞÓÚ£º - °´Ãû³ÆËÑË÷£º-name£¨Çø·Ö´óСд£©¡¢`-iname`£¨²»Çø·Ö´óСд£©
- °´ÀàÐÍËÑË÷£º-type£¨Èçf±íʾÎļþ£¬`d`±íʾĿ¼£©
- °´´óСËÑË÷£º-size£¨Ö§³Ök¡¢M¡¢`G`µÈµ¥Î»£©
- °´Ê±¼äËÑË÷£º-mtime£¨ÐÞ¸Äʱ¼ä£©¡¢`-atime`£¨·ÃÎÊʱ¼ä£©¡¢`-ctime`£¨×´Ì¬¸Ä±äʱ¼ä£©
°´È¨ÏÞËÑË÷£º-perm
- °´Óû§/×éËÑË÷£º-user¡¢-group
3. ¸´ÔÓµÄÂß¼×éºÏ `find`ÔÊÐíͨ¹ýÂß¼ÔËËã·û£¨`-and`¡¢`-or`¡¢`-not`£©×éºÏ¶à¸öÌõ¼þ£¬ÊµÏÖ¸ü¾«Ï¸µÄËÑË÷
ÀýÈ磬²éÕÒµ±Ç°Ä¿Â¼Ï´óÓÚ10MBÇÒ×î½ü7ÌìÄÚÐ޸ĹýµÄÎļþ£º find . -type f -size +10M -mtime -7 4. Ö´Ðж¯×÷ ³ýÁËĬÈϵĴòӡ·¾¶£¬`find`»¹Ö§³Ö¶àÖÖÖ´Ðж¯×÷£¬È磺 - `-exec`£º¶ÔÕÒµ½µÄÿ¸öÎļþÖ´ÐÐÖ¸¶¨µÄÃüÁî
- `-delete`£ºÉ¾³ýÕÒµ½µÄÎļþ
- `-move`£ºÒƶ¯ÕÒµ½µÄÎļþµ½Ö¸¶¨Ä¿Â¼£¨GNU findÌØÓУ©
ÀýÈ磬ɾ³ýËùÓÐ`.tmp`Îļþ£º find . -name.tmp -exec rm {} ; ¶þ¡¢locate£º¿ìËÙËÑË÷µÄ¼«ËÙÒýÇæ Óë`find`Ïà±È£¬`locate`ÃüÁîÔÚËÙ¶ÈÉϾßÓÐÏÔÖøÓÅÊÆ£¬µ«Æä¹¤×÷ÔÀíÓÐËù²»Í¬
`locate`ÒÀÀµÓÚÊÂÏȹ¹½¨µÄÊý¾Ý¿âÀ´¿ìËÙ¶¨Î»Îļþ£¬ÕâÒâζ×ÅËüµÄËÑË÷½á¹û¿ÉÄܲ»ÊÇʵʱµÄ£¬ÓÈÆäÊÇÔÚÎļþϵͳ·¢Éú±ä¶¯ºóµÄÒ»¶Îʱ¼äÄÚ
1. ¹¤×÷ÔÀí `locate`ʹÓÃϵͳ¶¨ÆÚ¸üеÄÊý¾Ý¿âÀ´²éÕÒÎļþ
Õâ¸öÊý¾Ý¿âͨ³£Í¨¹ý`updatedb`ÃüÁîÉú³É£¬Ëü±éÀúÎļþϵͳÖеÄËùÓÐÎļþºÍĿ¼£¬²¢½«ÐÅÏ¢´æ´¢ÔÚÒ»¸öÒ×ÓÚ²éѯµÄÊý¾Ý½á¹¹ÖÐ
2. »ù±¾Ó÷¨ `locate`ÃüÁîµÄ»ù±¾Óï·¨¼òµ¥Ã÷ÁË£º locate ¡¾ËÑË÷´Ê¡¿ ÀýÈ磬²éÕÒËùÓаüº¬`example`µÄÎļþÃû£º locate example 3. ÐÔÄÜÓÅÊÆ ÓÉÓÚ`locate`Ö±½Ó²éѯԤ¹¹½¨µÄÊý¾Ý¿â£¬¶ø·Çʵʱ±éÀúÎļþϵͳ£¬Òò´ËÆäËÑË÷Ëٶȼ«¿ì£¬ÓÈÆäÊʺÏÔÚ´ó¹æÄ£ÎļþϵͳÖнøÐпìËÙ²éÕÒ
È»¶ø£¬ÕâÖÖËٶȵÄÌáÉýÊÇÒÔÎþÉüʵʱÐÔΪ´ú¼ÛµÄ
Èç¹ûÎļþϵͳ·¢Éú±ä¶¯£¨ÈçÐÂÔö¡¢É¾³ýÎļþ£©£¬ÕâЩ±ä»¯²»»áÁ¢¼´·´Ó³ÔÚ`locate`µÄËÑË÷½á¹ûÖУ¬Ö±µ½ÏÂÒ»´Î`updatedb`ÔËÐÐ
4. ʵʱÐÔ½â¾ö·½°¸ ΪÁËÌá¸ßʵʱÐÔ£¬¿ÉÒÔÊÖ¶¯´¥·¢`updatedb`À´¸üÐÂÊý¾Ý¿â£º sudo updatedb ´ËÍ⣬һЩÏÖ´úLinux·¢ÐаæÌṩÁË`mlocate`»ò`slocate`µÈ¹¤¾ß£¬ÔÊÐíͨ¹ýÅäÖÃÎļþµ÷ÕûÊý¾Ý¿â¸üÐÂµÄÆµÂÊ£¬ÉõÖÁÔÚijЩÇé¿öÏÂʵÏÖ½üʵʱ¸üÐÂ
Èý¡¢findÓëlocateµÄ±È½ÏÓëÑ¡Ôñ `find`ºÍ`locate`¸÷ÓÐǧÇѡÔñʹÓÃÄÄÒ»¸öÈ¡¾öÓÚ¾ßÌåÐèÇó£º - ʵʱÐÔÒªÇó£ºÈç¹ûÐèҪȷ±£ËÑË÷½á¹û¾ø¶Ôʵʱ£¬findÊDz»¶þ֮ѡ
- ÐÔÄÜÐèÇ󣺶ÔÓÚÆµ·±µÄ´ó·¶Î§ËÑË÷£¬locateÒÔÆäËÙ¶ÈÓÅÊÆ¸üʤһ³ï
- ¸´ÔÓÐÔ£ºfindÌṩÁ˷ḻµÄÑ¡ÏîºÍÌõ¼þ×éºÏ£¬Êʺϸ´ÔÓµÄËÑË÷ÐèÇó£»¶ø`locate`Ôò¸üÊʺϼòµ¥µÄÎļþÃûËÑË÷
- ×ÊÔ´ÏûºÄ£ºfindÔÚËÑË÷¹ý³ÌÖлáÕ¼Óý϶àµÄCPUºÍI/O×ÊÔ´£¬ÓÈÆäÊÇÔÚ´óÐÍÎļþϵͳÖУ»`locate`ÔòÒÀÀµÓÚÊý¾Ý¿âµÄ¹¹½¨ºÍά»¤£¬¶Ôϵͳ×ÊÔ´µÄ¼´Ê±Õ¼ÓýÏС
ËÄ¡¢×î¼Ñʵ¼ù 1.¶¨ÆÚ¸üÐÂlocateÊý¾Ý¿â£ºËäÈ»locateÎþÉüÁËÒ»¶¨µÄʵʱÐÔ£¬µ«Í¨¹ý¶¨ÆÚÔËÐÐ`updatedb`£¨ÈçÿÌìÒ»´Î»òÿÖÜÒ»´Î£©£¬¿ÉÒÔÔÚ±£³Ö¸ßЧµÄͬʱ£¬¾¡Á¿¼õСÊý¾ÝÑÓ³ÙµÄÓ°Ïì
2.½áºÏʹÓ㺶ÔÓÚ¸´ÔÓµÄËÑË÷ÈÎÎñ£¬¿ÉÒÔÏÈÓÃ`locate`¿ìËÙËõС·¶Î§£¬ÔÙÓÃ`find`½øÐо«È·Æ¥Åä
ÀýÈ磬ÏÈÓÃ