Linux Professional Instituteã®101詊éšã«åããããã®4ã€ã®ãã¥ãŒããªã¢ã«ã®2ã€ç®ã§ãã管çã®åºæ¬ãžããããã ãã®ããŒãã§ã¯ãæ£èŠè¡šçŸã䜿çšããŠãã¡ã€ã«å ã®ããã¹ãããã¿ãŒã³ã§æ€çŽ¢ããæ¹æ³ãèŠãŠãããŸãã æ¬¡ã«ãããã¡ã€ã«ã·ã¹ãã éå±€æšæºãïŒãã¡ã€ã«ã·ã¹ãã éå±€æšæºãŸãã¯ç¥ç§°FHSïŒã«ç²Ÿéããã·ã¹ãã ã§å¿ èŠãªãã¡ã€ã«ãèŠã€ããæ¹æ³ã瀺ããŸãã ãã®åŸãLinuxã§ããã»ã¹ãããã¯ã°ã©ãŠã³ãã§å®è¡ããããããã»ã¹ã®ãªã¹ãã衚瀺ãããã端æ«ããåæããããããªã©ãããã»ã¹ãå®å šã«å¶åŸ¡ããæ¹æ³ãåŠç¿ããŸãã ããã«ç¶ããŠããã€ãã©ã€ã³ããªãã€ã¬ã¯ããã¯ãŒãããã»ãã·ã³ã°ã³ãã³ãã®ç°¡åãªç޹ä»ãç¶ããŸãã æåŸã«ãLinuxã«ãŒãã«ã¢ãžã¥ãŒã«ã玹ä»ããŸãã
ç¹ã«ããã¥ãŒããªã¢ã«ã®ãã®ããŒãïŒããŒã2ïŒã¯ãbashã®åºæ¬çãªç¥èããã§ã«ãããLinux管çã®åºæ¬çãªã¿ã¹ã¯ã®è³ªã®é«ãå ¥éæžãå ¥æãããäººã«æé©ã§ãã LinuxãåããŠäœ¿çšããå Žåã¯ã æåã«ãã®äžé£ã®ãã¥ãŒããªã¢ã«ã®æåã®éšåãå®äºããããšããå§ãããŸãã äžéšã®äººã«ãšã£ãŠã¯ããã®è³æã®ã»ãšãã©ã¯æ°ãããã®ã§ãããçµéšè±å¯ãªLinuxãŠãŒã¶ãŒã¯åºæ¬çãªç®¡çã¹ãã«ãèŠçŽããã®ã«æé©ãªæ¹æ³ã§ãããšæãããããããŸããã
LPI詊éšã®æºå以å€ã®ç®çã§ãã®ãã¥ãŒããªã¢ã«ã®æåã®åé¡ãåŠç¿ããå Žåããã®åé¡ãå床èªãå¿ èŠã¯ãããŸããã ãã ãã詊éšãåããäºå®ãããå Žåã¯ããã®æ¹èšçã®ãã¥ãŒããªã¢ã«ãèªã¿çŽãããšã匷ããå§ãããŸãã
æ£èŠè¡šçŸïŒè±èªã®æ£èŠè¡šçŸã§ã¯ããregexpããŸãã¯ãregexããšç¥ããããã·ã¢é£éŠã§ã¯ãæ£èŠããšåŒã°ããããšããããŸãïŒã¯ãããã¹ããã³ãã¬ãŒããèšè¿°ããããã«äœ¿çšãããç¹å¥ãªæ§æã§ãã Linuxã·ã¹ãã ã§ã¯ããã¿ãŒã³ã«ããããã¹ãã®æ€çŽ¢ãããã³ããã¹ãã¹ããªãŒã ã®æ€çŽ¢ããã³çœ®ææäœã«ãæ£èŠè¡šçŸãåºã䜿çšãããŠããŸãã
æ£èŠè¡šçŸãæ€èšãå§ãããšããã«ããããã®æ§æããã¡ã€ã«ã®ã°ããã³ã°æ§æã«éåžžã«äŒŒãŠããããšã«æ°ä»ããããããŸããã ãã ããééããªãã§ãã ããããã®é¡äŒŒæ§ã¯éåžžã«è¡šé¢çãªãã®ã§ãã æ£èŠè¡šçŸãšã°ããã³ã°ãã¿ãŒã³ã¯ãããšã䌌ãŠããããã«èŠããŠããæ ¹æ¬çã«ç°ãªããŸãã
ãã®èŠåã®åŸãæ£èŠè¡šçŸã§æãåºæ¬çãªãæãåçŽãªéšåæååãèŠãŠã¿ãŸãããã ãããè¡ãã«ã¯ãæå®ã®æ£èŠè¡šçŸã«åŸã£ãŠãã¡ã€ã«ã®å 容ãã¹ãã£ã³ããã³ãã³ãgrepã䜿çšããŸãã grepã¯ãæ£èŠè¡šçŸã«äžèŽããåè¡ãåºåããæ®ãã¯ç¡èŠããŸãã
$ grep bash /etc/passwd
operator:x:11:0:operator:/root:/bin/bash root:x:0:0::/root:/bin/bash ftp:x:40:1::/home/ftp:/bin/bash
äžèšã§ã¯ãgrepã®æåã®ãã©ã¡ãŒã¿ãŒã¯regexã§ãã 2çªç®ã¯ãã¡ã€ã«åã§ãã grepã¯ã / etc / passwdããåè¡ãèªã¿åããåçŽãªãbashãæ£èŠè¡šçŸéšåæååãé©çšããŠäžèŽãèŠã€ããŸãã äžèŽãèŠã€ãã£ãå Žåãgrepã¯æååå šäœãåºåããŸããã ãã以å€ã®å Žåãæååã¯ç¡èŠãããŸããã
äžè¬ã«ãéšåæååãæ¢ããŠããå Žåã¯ããç¹æ®ãªãæåã䜿çšããã«ãæåã©ããã«æå®ã§ããŸãã éšåæååã«+ããã*ã[ã]ãŸãã¯\ãå«ãŸããå Žåã«ã®ã¿ç¹å¥ãªæ³šæãå¿ èŠã§ãããã®å Žåããããã®æåã¯ããã¯ã¹ã©ãã·ã¥ã§ãšã¹ã±ãŒãããéšåæååã¯åŒçšç¬Šã§å²ãå¿ èŠããããŸãã åçŽãªéšåæååãšããŠã®æ£èŠè¡šçŸã®äŸã次ã«ç€ºããŸãã
ã¡ã¿ãã£ã©ã¯ã¿ãŒã䜿çšããæ£èŠè¡šçŸã䜿çšãããšãæè¿æ€èšãããäŸãããã¯ããã«è€éãªæ€çŽ¢ãå®è¡ã§ããŸãã ãã®ãããªã¡ã¿ãã£ã©ã¯ã¿ãŒã®1ã€ã¯ãããã§ãã ïŒãããïŒåäžã®æåã«äžèŽããïŒ
$ grep dev.sda /etc/fstab
/dev/sda3 / reiserfs noatime,ro 1 1 /dev/sda1 /boot reiserfs noauto,noatime,notail 1 2 /dev/sda2 swap swap sw 0 0 #/dev/sda4 /mnt/extra reiserfs noatime,rw 1 1
ãã®äŸã§ã¯ãããã¹ãdev.sdaã¯/ etc / fstabã®ã©ã®è¡ã«ãæåéãçŸããŸããã ãã ããgrepã¯ãdev.sdaè¡ã§ã¯ãªããdev.sdaãã¿ãŒã³ã§æååãã¹ãã£ã³ããŸãã ããã ä»»æã®1æåã«äžèŽããŸãã ã芧ã®ãšãããã¡ã¿ãã£ã©ã¯ã¿ãŒã¯ãããã§ãã æ©èœçã«ã¯ãã¡ã¿ãã£ã©ã¯ã¿ãŒãïŒã globé åã§ã
ãããããå ·äœçã«æåãæå®ãããå Žåã¯ã[and]ïŒè§æ¬åŒ§ïŒã䜿çšããŠãäžèŽããæåã®ãµãã»ããã瀺ããŸãã
$ grep dev.sda[12] /etc/fstab
/dev/sda1 /boot reiserfs noauto,noatime,notail 1 2 /dev/sda2 swap swap sw 0 0
ç¹ã«ãæ°ã¥ãã®ããã«ããã®æ§ææ§æã¯ããã¡ã€ã«åãã°ãã眮æããå Žåã®ã[]ãæ§æãšåãããã«æ©èœããŸãã ç¹°ãè¿ããŸãããããã¯æ£èŠè¡šçŸã®ç ç©¶ã«ãããææ§ãã®1ã€ã§ããæ§æã¯äŒŒãŠããŸãããglobé åã®æ§æãšåäžã§ã¯ãªããæ··ä¹±ãæããŸãã
[ã®çŽåŸã«^ã眮ãããšã«ãããè§æ¬åŒ§ã®å€ãå転ã§ããŸãã ãã®å Žåãè§æ¬åŒ§ã¯ãè§æ¬åŒ§å ã«ãªã¹ããããŠããªãæåãšäžèŽããŸãã ç¹°ãè¿ããŸãããæ£èŠè¡šçŸã§ã¯[^]ã䜿çšããã°ããã§ã¯[ïŒ]ã䜿çšããŠããããšã«æ³šæããŠãã ããã
$ grep dev.hda[^12] /etc/fstab
/dev/hda3 / reiserfs noatime,ro 1 1 #/dev/hda4 /mnt/extra reiserfs noatime,rw 1 1
倧æ¬åŒ§å ã®æ§æã¯ãä»ã®æ£èŠè¡šçŸãšã¯æ ¹æ¬çã«ç°ãªãããšã«æ³šæããããšãéèŠã§ãã ããšãã°ãããããå ¥åããå Žå è§ãã£ãå ã§ã¯ãããã«ããè§ãã£ãããããã«äžèŽããããã«ãªããŸãã æåéããäžèšã®äŸã®1ãš2ã®ããã«ã æ¯èŒã®ãããããã ã\ããå ¥ããªãå Žåãè§æ¬åŒ§ã®å€åŽã«çœ®ãããã¡ã¿æåãšããŠè§£éãããŸãã ãã®äºå®ãå©çšããŠãæžãããdev.sdaè¡ãå«ã/ etc / fstabããè¡ãåºåã§ããŸãã
$ grep dev[.]sda /etc/fstab
ãŸããæ¬¡ã®ããã«å ¥åããããšãã§ããŸãã
$ grep "dev\.sda" /etc/fstab
ãããã®æ£èŠè¡šçŸã¯ããããã/ etc / fstabãã¡ã€ã«ã®ã©ã®è¡ãšãäžèŽããŸããã
äžéšã®ã¡ã¿ãã£ã©ã¯ã¿ãŒèªäœã¯äœã«ã察å¿ããŠããŸããããåã®ãã£ã©ã¯ã¿ãŒã®æå³ã倿ŽããŸãã ãã®ãããªæåã®1ã€ã¯*ïŒã¢ã¹ã¿ãªã¹ã¯ïŒã§ããããã¯ãå è¡ããæåã®0å以äžã®ç¹°ãè¿ãã«äžèŽããããã«äœ¿çšãããŸãã ããã¯ã*ãæ£èŠè¡šçŸã§ã¯ã°ãããšã¯ç°ãªãæå³ãæã€ããšã«æ³šæããŠãã ããã 以äžã«ããã€ãã®äŸã瀺ããŸããæ£èŠè¡šçŸã®äžèŽãã°ãã眮æãšç°ãªãå Žåã«ç¹ã«æ³šæããŠãã ããã
ãããã£ãŠãçµ±åã®ããã«ç¹°ãè¿ããŸããè¡ "ac"ã¯æ£èŠè¡šçŸ "ab * c"ã«é©åããŸããããã¯ãã¢ã¹ã¿ãªã¹ã¯ã«ãã£ãŠåã®åŒïŒbïŒã®ç¹°ãè¿ãããŒãåç¹°ãè¿ãããšãã§ããããã§ãã ç¹°ãè¿ãã«ãªããŸãããæ£èŠè¡šçŸã®ã¡ã¿æå*ã¯ãã°ããéšåæååã®*æåãšã¯ãŸã£ããç°ãªã£ãŠè§£éãããããšã«æ³šæããŠãã ããã
è©³çŽ°ã«æ€èšããæåŸã®ã¡ã¿æåã¯^ããã³$ã§ãããããã¯ãããããè¡ã®å
é ãšæ«å°Ÿã«äžèŽããããã«äœ¿çšãããŸãã æ£èŠè¡šçŸã®å
é ã§^ã䜿çšããŠããã³ãã¬ãŒããè¡ã®å
é ã«ãæ·»ä»ãããŸãã æ¬¡ã®äŸã§ã¯ãïŒæåã§å§ãŸããã¹ãŠã®è¡ã«äžèŽããæ£èŠè¡šçŸ^ïŒã䜿çšããŸãã
$ grep ^# /etc/fstab
# /etc/fstab: static file system information.
#
^ãš$ã¯ãæååå šäœã«äžèŽããããã«çµã¿åãããããšãã§ããŸãã ããšãã°ã次ã®éåžžã®è¡ã¯ãæåïŒã§å§ãŸããæå "ã"ã§çµããè¡ã«å¯Ÿå¿ããŸãããããã®éã®ä»»æã®æ°ã®æåã®å ŽåïŒ
$ grep '^#.*\.$' /etc/fstab
# /etc/fstab: static file system information.
äžèšã®äŸã§ã¯ãã·ã§ã«ã$æåãè§£éããªãããã«ãæ£èŠè¡šçŸãåäžåŒçšç¬Šã§å²ã¿ãŸããã äžéåŒçšç¬ŠããªããšãgrepããããèŠãããšãã§ããåã«ã$ãæ£èŠããæ¶ããŸãã
Daniel Robbinsã¯ãGentooã³ãã¥ããã£ã®åµèšè ã§ãããGentoo Linuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äœæè ã§ãã ãããšã«ã¯åŠ»ã®ã¡ã¢ãªãŒãšå æ°ãªåš2人ãšãã¥ãŒã¡ãã·ã³ã«äœãã§ããŸãã 圌ã¯Funtooã®åµèšè å Œä»£è¡šã§ãããã IBM developerWorks ãIntel Developer Servicesãããã³C / C ++ Users Journalã®æè¡èšäºãæ°å€ãå·çããŠããŸãã
ã¯ãªã¹ããŠã¶ãŒã¯ã1994幎ã«ãã€ã©ãŒå€§åŠïŒç±³åœã€ã³ãã£ã¢ãå·ïŒã®ç®¡çè ããŒã ã«åå ããã³ã³ãã¥ãŒã¿ãŒãµã€ãšã³ã¹ãšæ°åŠã®åŠå£«å·ãååŸããŠä»¥æ¥ãUNIXã®æ¯æè ã§ããã ãã®åŸãWebã¢ããªã±ãŒã·ã§ã³ããããªç·šéãUNIXãã©ã€ããŒãæå·åä¿è·ãªã©ãããŸããŸãªåéã§åããŸããã çŸåšãSentry Data Systemsã§åããŠããŸãã Chrisã¯ãGentoo LinuxãClojureãªã©ã®å€ãã®ç¡æãããžã§ã¯ãã«ãè²¢ç®ãã The Joy of Clojureã®å ±åå·çè ã§ããããŸãã
Iron Griffisã¯ãã¹ãã³ã«äœãã§ããããã10幎éãHewlett-Packardã§Tru64ãLinuxãXenãKVMä»®æ³åã»ãã¥ãªãã£èªèšŒçšã®UNIXãããã¯ãŒã¯ãã©ã€ããŒãæè¿ã§ã¯HP ePrintãã©ãããã©ãŒã ãªã©ã®ãããžã§ã¯ãã«åŸäºããŸããã ããã°ã©ãã³ã°ã®æãªæéã«ãAyronã¯ãèªè»¢è»ã«ä¹ã£ããããããããžã£ã°ãªã³ã°ãããããã¹ãã³ã®ããéçããŒã Red Socksãå¿æŽãããããéã«ãããã°ã©ãã³ã°ã®åé¡ãæ¶ãå»ãããšã奜ã¿ãŸãã