°í±Þ Bash ½ºÅ©¸³Æà °¡À̵å

Bash¸¦ ÀÌ¿ëÇÑ ½© ½ºÅ©¸³Æà ¿ÏÀü °¡À̵å

Mendel Cooper

Brindlesoft

thegrendel (at) theriver.com

Â÷ÇöÁø

terminus (at) kldp.org

2001³â 12¿ù 16ÀÏ

º» Æ©Å丮¾óÀº ¿©·¯ºÐÀÌ Bash¿¡ ´ëÇؼ­ ¾î¶°ÇÑ »çÀü Áö½Äµµ ¾ø´Ù°í °¡Á¤À» ÇÕ´Ï´Ù¸¸, ±Ý¹æ Áß/°í±Þ ¼öÁØÀÇ ¸í·É¾îµéÀ» ¼Ò°³ÇÕ´Ï´Ù(...À¯´Ð½ºÀÇ ½½±â·Ó°í ±³ÈÆÀûÀÎ ºÎºÐµéÀ» ¹è¿ö ³ª°¡¸é¼­). ÀÌ ¹®¼­´Â ±³°ú¼­³ª, È¥ÀÚ °øºÎÇÒ ¶§ º¼ ¼ö ÀÖ´Â ¸Þ´º¾ó, ½© ½ºÅ©¸³Æà ±â¼ú¿¡ ´ëÇÑ ·¹ÆÛ·±½º¹× ¼Ò½º·Î ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®¸¦ ¹è¿ì´Â À¯ÀÏÇÑ ¹æ¹ýÀº ½ºÅ©¸³Æ®¸¦ Á÷Á¢ Â¥ º¸´Â °ÍÀÌ´Ù¶ó´Â ÀüÁ¦ÇÏ¿¡, ¿¬½À¹®Á¦¿Í ¾ÆÁÖ ÀÚ¼¼ÇÏ°Ô ÁÖ¼® ó¸®µÈ ¿¹Á¦µé·Î ´Éµ¿ÀûÀÎ µ¶ÀÚµéÀÇ Âü¿©¸¦ À¯µµÇÒ °ÍÀÔ´Ï´Ù.

ÀÌ ¹®¼­ÀÇ ÃֽŠ¹öÀüÀº ÀúÀÚÀÇ È¨ÆäÀÌÁö¿¡¼­ SGML ¼Ò½º¿Í HTMLÀ» "Ÿ¸£º¼"ÇüÅ·Π¾òÀ» ¼ö ÀÖ½À´Ï´Ù. °íħ º¯°æ »çÇ×Àº change log¸¦ Âü°íÇϼ¼¿ä.

°íÄ£ °úÁ¤
°íħ 0.12000³â 6¿ù 14ÀÏ°íÄ£ÀÌ mc
Ãʱ⠸±¸®½º.
°íħ 0.22000³â 10¿ù 30ÀÏ°íÄ£ÀÌ mc
¹ö±× ¼öÁ¤, ³»¿ë¹× ¿¹Á¦ ½ºÅ©¸³Æ® Ãß°¡.
°íħ 0.32001³â 2¿ù 12ÀÏ°íÄ£ÀÌ mc
¸ÞÀÌÀú ¾÷µ¥ÀÌÆ®.
°íħ 0.42001³â 7¿ù 8ÀÏ°íÄ£ÀÌ mc
¹ö±× ¼öÁ¤, ´õ ¸¹Àº ³»¿ë¹× ¿¹Á¦ Ãß°¡ - ¿ÏÀüÇÑ Ã¥ ÇüÅÂÀÇ °³Á¤ÆÇ.
°íħ 0.52001³â 9¿ù 3ÀÏ°íÄ£ÀÌ mc
¸ÞÀÌÀú ¾÷µ¥ÀÌÆ®. ¹ö±× ¼öÁ¤, ³»¿ë Ãß°¡, Àå°ú ÀýÀ» ÀçÆí¼º.
°íħ 1.0.112001³â 12¿ù 16ÀÏ°íÄ£ÀÌ mc
¹ö±× ¼öÁ¤, ÀçÆí¼º, ³»¿ë Ãß°¡. Stable release.

¹ÙÄ¡´Â ±Û

¸ðµç ¸¶¹ýÀÇ ±Ù¿øÀÎ Anita¿¡°Ô ÀÌ Ã¥À» ¹ÙĨ´Ï´Ù.

Â÷·Ê
Part 1. ¼Ò°³
1. ¿Ö ½© ÇÁ·Î±×·¡¹ÖÀ» ÇØ¾ß ÇÏÁÒ?
2. #! À¸·Î ½ÃÀÛÇϱâ
2.1. ½ºÅ©¸³Æ® ½ÇÇàÇϱâ
2.2. ¸öÇ®±â ¿¬½À¹®Á¦(Preliminary Exercises)
Part 2. ±âÃÊ ´Ü°è
3. Á¾·á¿Í Á¾·á »óÅÂ(Exit and Exit Status)
4. Ư¼ö ¹®ÀÚ
5. º¯¼ö¿Í ¸Å°³º¯¼ö ¼Ò°³
5.1. º¯¼ö ġȯ(Variable Substitution)
5.2. º¯¼ö ÇÒ´ç(Variable Assignment)
5.3. Bash º¯¼ö´Â ŸÀÔÀÌ ¾ø´Ù(untyped)
5.4. Ư¼öÇÑ º¯¼ö ŸÀÔ
6. Äõ¿ìÆÃ(quoting)
7. Å×½ºÆ®
7.1. Å×½ºÆ®(Test Constructs)
7.2. ÆÄÀÏ Å×½ºÆ® ¿¬»êÀÚ
7.3. ºñ±³ ¿¬»êÀÚ(ÀÌÁø)
7.4. ÁßøµÈ if/then Á¶°Ç Å×½ºÆ®
7.5. ¿©·¯ºÐÀÌ Å×½ºÆ®¹®À» ¾ó¸¶³ª ÀÌÇØÇß´ÂÁö Å×½ºÆ® Çغ¸±â
8. ¿¬»êÀÚ À̾߱â(Operations and Related Topics)
8.1. ¿¬»êÀÚ(Operators)
8.2. ¼ýÀÚ »ó¼ö(Numerical Constants)
Part 3. Áß±Þ ´Ü°è(Beyond the Basics)
9. º¯¼ö Àç°ËÅä(Variables Revisited)
9.1. ³»ºÎ º¯¼ö(Internal Variables)
9.2. ¹®ÀÚ¿­ Á¶ÀÛ
9.3. ¸Å°³º¯¼ö ġȯ(Parameter Substitution)
9.4. º¯¼ö ŸÀÔ ÁöÁ¤: declare ³ª typeset
9.5. º¯¼ö °£Á¢ ÂüÁ¶
9.6. $RANDOM: ·£´ýÇÑ Á¤¼ö ¸¸µé±â
9.7. ÀÌÁß¼Ò°ýÈ£(The Double Parentheses Construct)
10. ·çÇÁ¿Í ºÐ±â(Loops and Branches)
10.1. ·çÇÁ
10.2. ÁßøµÈ ·çÇÁ
10.3. ·çÇÁ Á¦¾î
10.4. Å×½ºÆ®¿Í ºÐ±â(Testing and Branching)
11. ³»ºÎ ¸í·É¾î(Internal Commands and Builtins)
11.1. ÀÛ¾÷ Á¦¾î ¸í·É¾î
12. ¿ÜºÎ ÇÊÅÍ, ÇÁ·Î±×·¥, ¸í·É¾î
12.1. ±âº» ¸í·É¾î
12.2. º¹ÀâÇÑ ¸í·É¾î
12.3. ½Ã°£/³¯Â¥ ¸í·É¾î
12.4. ÅؽºÆ® ó¸® ¸í·É¾î
12.5. ÆÄÀÏ, ¾ÆÄ«À̺ê(archive) ¸í·É¾î
12.6. Åë½Å ¸í·É¾î
12.7. Å͹̳ΠÁ¦¾î ¸í·É¾î
12.8. ¼öÇÐ¿ë ¸í·É¾î
12.9. ±âŸ ¸í·É¾î
13. ½Ã½ºÅÛ°ú °ü¸®ÀÚ¿ë ¸í·É¾î
14. ¸í·É¾î ġȯ(Command Substitution)
15. »ê¼ú È®Àå(Arithmetic Expansion)
16. I/O ÀçÁöÇâ
16.1. exec ¾²±â
16.2. ÄÚµå ºí·° ÀçÁöÇâ
16.3. ÀÀ¿ë
17. Here Documents
18. ½¬¾î°¡±â
Part 4. °í±Þ ÁÖÁ¦µé(Advanced Topics)
19. Á¤±Ô Ç¥Çö½Ä(Regular Expressions)
19.1. Á¤±Ô Ç¥Çö½ÄÀÇ °£·«ÇÑ ¼Ò°³
19.2. Globbing
20. ¼­ºê½©(Subshells)
21. Á¦ÇÑµÈ ½©(Restricted Shells)
22. ÇÁ·Î¼¼½º ġȯ(Process Substitution)
23. ÇÔ¼ö
23.1. º¹Àâ ÇÔ¼ö¿Í ÇÔ¼öÀÇ º¹À⼺(Complex Functions and Function Complexities)
23.2. Áö¿ª º¯¼ö¿Í Àç±Í ÇÔ¼ö(Local Variables and Recursion)
24. º°Äª(Aliases)
25. ¸®½ºÆ®(List Constructs)
26. ¹è¿­
27. ÆÄÀϵé
28. /dev ¿Í /proc
28.1. /dev
28.2. /proc
29. Á¦·Î¿Í ³Î(Of Zeros and Nulls)
30. µð¹ö±ë
31. ¿É¼Ç
32. ¸î °¡Áö ÁöÀúºÐÇÑ °Íµé(Gotchas)
33. ½ºÅ¸ÀÏ ÀÖ°Ô ½ºÅ©¸³Æ® Â¥±â
33.1. ºñ°ø½Ä ½© ½ºÅ©¸³Æà ½ºÅ¸ÀϽÃÆ®
34. ÀÚÁú±¸·¹ÇÑ °Íµé
34.1. ´ëÈ­(interactive)Çü ¸ðµå¿Í ºñ´ëÈ­(non-interactive)Çü ¸ðµå ½©°ú ½ºÅ©¸³Æ®
34.2. ½© ·¡ÆÛ(Shell Wrappers)
34.3. Å×½ºÆ®¿Í ºñ±³: ´Ù¸¥ ¹æ¹ý
34.4. ÃÖÀûÈ­
34.5. ÆÁ ¸ðÀ½(Assorted Tips)
34.6. ±«»óÇÑ °Í(Oddities)
34.7. À̽ļº ¹®Á¦(Portability Issues)
34.8. À©µµ¿ìÁî¿¡¼­ÀÇ ½© ½ºÅ©¸³ÆÃ
35. Bash, ¹öÀü 2
36. Èıâ(Endnotes)
36.1. ÀúÀÚ Èıâ(Author's Note)
36.2. ÀúÀÚ¿¡ ´ëÇؼ­
36.3. ÀÌ Ã¥À» ¸¸µå´Âµ¥ ¾´ µµ±¸µé
36.3.1. Çϵå¿þ¾î
36.3.2. ¼ÒÇÁÆ®¿þ¾î¿Í ÇÁ¸°Æ®¿þ¾î
36.4. Å©·¹µ÷
¼­Áö»çÇ×
A. ¿©·¯ºÐµéÀÌ º¸³»ÁØ ½ºÅ©¸³Æ®µé(Contributed Scripts)
B. Sed ¿Í Awk ¿¡ ´ëÇÑ °£´ÜÇÑ ÀÔ¹®¼­
B.1. Sed
B.2. Awk
C. Ưº°ÇÑ Àǹ̸¦ °®´Â Á¾·á ÄÚµå
D. I/O¿Í I/O ÀçÁöÇâ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼Ò°³
E. Áö¿ªÈ­(Localization)
F. »ùÇÃ .bashrc ÆÄÀÏ
G. µµ½º(DOS) ¹èÄ¡ ÆÄÀÏÀ» ½© ½ºÅ©¸³Æ®·Î º¯È¯
H. ¿¬½À¹®Á¦
I. Copyright
Ç¥ ¸ñ·Ï
11-1. ÀÛ¾÷ ID(Job Identifiers)
31-1. bash ¿É¼Çµé
B-1. ±âº» sed ¿¬»êÀÚ
B-2. ¿¹Á¦
C-1. "¿¹¾àµÈ" Á¾·á ÄÚµå
G-1. ¹èÄ¡ ÆÄÀÏ Å°¿öµå/º¯¼ö/¿¬»êÀÚ ¿Í ±×¿¡ ÇØ´çÇÏ´Â ½© µ¿ÀǾî
G-2. µµ½º ¸í·É¾î¿Í µ¿ÀÏÇÑ À¯´Ð½º ¸í·É¾î
¿¹ ¸ñ·Ï
2-1. cleanup: /var/log ¿¡ ÀÖ´Â ·Î±× ÆÄÀϵéÀ» û¼ÒÇÏ´Â ½ºÅ©¸³Æ®
2-2. cleanup: À§ ½ºÅ©¸³Æ®ÀÇ Çâ»óµÇ°í ÀϹÝÈ­µÈ ¹öÀü.
3-1. Á¾·á/Á¾·á »óÅÂ
3-2. !À¸·Î Á¶°ÇÀ» ºÎÁ¤Çϱâ
4-1. ÄÚµå ºí·°°ú I/O ÀçÁöÇâ
4-2. ÄÚµå ºí·°ÀÇ °á°ú¸¦ ÆÄÀÏ·Î ÀúÀåÇϱâ
4-3. ÃÖ±Ù ÇϷ絿¾È º¯°æµÈ ÆÄÀϵéÀ» ¹é¾÷Çϱâ
5-1. º¯¼ö ÇÒ´ç°ú ġȯ
5-2. Æò¹üÇÑ º¯¼ö ÇÒ´ç
5-3. Æò¹üÇÏ°í Àç¹ÌÀÖ´Â º¯¼ö ÇÒ´ç
5-4. Á¤¼ö? ¹®ÀÚ¿­?
5-5. À§Ä¡ ¸Å°³º¯¼ö
5-6. wh, whois µµ¸ÞÀÎ ³×ÀÓ ·è¾÷
5-7. shift ¾²±â
6-1. ÀÌ»óÇÑ º¯¼ö¸¦ ¿¡ÄÚÇϱâ
6-2. À̽ºÄÉÀÌÇÁµÈ ¹®ÀÚµé
7-1. ¹«¾ùÀÌ ÂüÀΰ¡?
7-2. [ ] ¿Í test ÀÇ µ¿ÀÏÇÔ
7-3. (( ))·Î »ê¼ú½Ä Å×½ºÆ® Çϱâ
7-4. »ê¼ú ºñ±³¿Í ¹®ÀÚ¿­ ºñ±³
7-5. ¹®ÀÚ¿­ÀÌ ³ÎÀÎÁö Å×½ºÆ® Çϱâ
7-6. zmost
8-1. »ê¼ú ¿¬»êÀÚ ¾²±â
8-2. && ¿Í || ¸¦ ¾´ º¹ÇÕ Á¶°Ç Å×½ºÆ®
8-3. ¼ýÀÚ »ó¼ö Ç¥±â¹ý:
9-1. $IFS ¿Í ºó Ä­
9-2. ŸÀÓ ¾Æ¿ô ó¸® ÀÔ·Â
9-3. ŸÀÓ ¾Æ¿ô ó¸® ÀÔ·Â, ÇÑ ¹ø ´õ
9-4. ³»°¡ ·çÆ®Àΰ¡?
9-5. arglist: $* °ú $@ ·Î ÀÎÀÚ¸¦ ³ª¿­Çϱâ
9-6. ÀÏ°ü¼º ¾ø´Â $*°ú $@ÀÇ µ¿ÀÛ
9-7. $IFS °¡ ºñ¾î ÀÖÀ» ¶§ $*¿Í $@
9-8. ¹ØÁÙ º¯¼ö(underscore variable)
9-9. ±×·¡ÇÈ ÆÄÀÏÀ» ´Ù¸¥ Æ÷¸Ë È®ÀåÀÚ·Î À̸§À» ¹Ù²Ù¸é¼­ º¯È¯
9-10. ¸Å°³º¯¼ö ġȯ°ú : ¾²±â
9-11. º¯¼öÀÇ ±æÀÌ
9-12. ¸Å°³º¯¼ö ġȯ¿¡¼­ÀÇ ÆÐÅÏ ¸ÅĪ
9-13. ÆÄÀÏ È®ÀåÀÚ ¹Ù²Ù±â:
9-14. ÀÓÀÇÀÇ ¹®ÀÚ¿­À» ÆĽÌÇϱâ À§ÇØ ÆÐÅÏ ¸ÅĪ »ç¿ëÇϱâ
9-15. ¹®ÀÚ¿­ÀÇ Á¢µÎ, Á¢¹Ì¾î¿¡¼­ ÀÏÄ¡ÇÏ´Â ÆÐÅÏ Ã£±â
9-16. declare¸¦ ½á¼­ º¯¼ö ŸÀÔ ÁöÁ¤Çϱâ
9-17. °£Á¢ ÂüÁ¶
9-18. awk¿¡°Ô °£Á¢ ÂüÁ¶¸¦ ³Ñ±â±â
9-19. ·£´ýÇÑ ¼ýÀÚ ¸¸µé±â
9-20. RANDOM À¸·Î ÁÖ»çÀ§¸¦ ´øÁö±â
9-21. RANDOM ¿¡ seed¸¦ ´Ù½Ã ÁöÁ¤ÇØ ÁÖ±â
9-22. C ÇüÅÂÀÇ º¯¼ö Á¶ÀÛ
10-1. °£´ÜÇÑ for ·çÇÁ
10-2. °¢ [list] Ç׸ñÀÌ ÀÎÀÚ¸¦ µÎ °³¾¿ °®´Â for ¹®
10-3. Fileinfo: º¯¼ö¿¡ µé¾î ÀÖ´Â ÆÄÀÏ ¸ñ·Ï¿¡ ´ëÇØ µ¿ÀÛ
10-4. for ¹®¿¡¼­ ÆÄÀÏ Á¶ÀÛÇϱâ
10-5. in [list]°¡ ºüÁø for ¹®
10-6. for ¹®ÀÇ [list]¿¡ ¸í·É¾î ġȯ ¾²±â
10-7. ÀÌÁø ÆÄÀÏ¿¡ grep °É±â
10-8. ƯÁ¤ µð·ºÅ丮ÀÇ ¸ðµç ¹ÙÀ̳ʸ® ÆÄÀÏ¿¡ ´ëÇØ ¿øÀúÀÛÀÚ(authorship)¸¦ È®ÀÎ Çϱâ
10-9. µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ½Éº¼¸¯ ¸µÅ©µéÀ» ³ª¿­Çϱâ
10-10. µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ½Éº¼¸¯ ¸µÅ©µéÀ» ÆÄÀÏ·Î ÀúÀåÇϱâ
10-11. C ÇüÅÂÀÇ for ·çÇÁ
10-12. ¹èÄ¡ ¸ðµå·Î efax »ç¿ëÇϱâ
10-13. °£´ÜÇÑ while ·çÇÁ
10-14. ´Ù¸¥ while ·çÇÁ
10-15. ´ÙÁß Á¶°Ç while ·çÇÁ
10-16. C ÇüÅÂÀÇ ¹®¹ýÀ» ¾²´Â while ·çÇÁ
10-17. until ·çÇÁ
10-18. ÁßøµÈ ·çÇÁ
10-19. ·çÇÁ¿¡¼­ break¿Í continueÀÇ ¿µÇâ
10-20. ¿©·¯ ´Ü°èÀÇ ·çÇÁ¿¡¼­ Å»ÃâÇϱâ
10-21. ´õ »óÀ§ ·çÇÁ ·¹º§¿¡¼­ °è¼ÓÇϱâ(continue)
10-22. case ¾²±â
10-23. case·Î ¸Þ´º ¸¸µé±â
10-24. case¿ë º¯¼ö¸¦ ¸¸µé±â À§Çؼ­ ¸í·É¾î ġȯ ¾²±â
10-25. °£´ÜÇÑ ¹®ÀÚ¿­ ¸ÅĪ
10-26. ÀÔ·ÂÀÌ ¾ËÆĺªÀÎÁö È®ÀÎÇϱâ
10-27. select·Î ¸Þ´º ¸¸µé±â
10-28. ÇÔ¼ö¿¡¼­ select¸¦ ½á¼­ ¸Þ´º ¸¸µé±â
11-1. printf°¡ ½ÇÁ¦·Î ¾²ÀÌ´Â ¿¹Á¦
11-2. read·Î º¯¼ö ÇÒ´çÇϱâ
11-3. read·Î ¿©·¯ÁÙÀÇ ÀÔ·Â ³Ö±â
11-4. read¸¦ ÆÄÀÏ ÀçÁöÇâ°ú °°ÀÌ ¾²±â
11-5. ÇöÀç ÀÛ¾÷ µð·ºÅ丮 º¯°æÇϱâ
11-6. letÀ¸·Î ¸î °¡Áö »ê¼ú ¿¬»êÀ» Çϱâ.
11-7. evalÀÇ È¿°ú º¸¿©ÁÖ±â
11-8. °­Á¦·Î ·Î±× ¾Æ¿ô ½ÃÅ°±â
11-9. "rot13" ¹öÀü
11-10. À§Ä¡ ¸Å°³º¯¼ö¿Í set ¾²±â
11-11. º¯¼ö¸¦ "¾ð¼Â"(unset) Çϱâ
11-12. export¸¦ ½á¼­, ³»ÀåµÈ awk ½ºÅ©¸³Æ®¿¡ º¯¼ö¸¦ Àü´ÞÇϱâ
11-13. getopts·Î ½ºÅ©¸³Æ®·Î ³Ñ¾î¿Â ¿É¼Ç°ú ÀÎÀÚ Àбâ
11-14. µ¥ÀÌŸ ÆÄÀÏ "Æ÷ÇÔÇϱâ"
11-15. exec È¿°ú
11-16. ÀÛ¾÷À» °è¼Ó ÇØ ³ª°¡±â Àü¿¡ ÇÁ·Î¼¼½º°¡ ³¡³ª±æ ±â´Ù¸®±â
12-1. CDR µð½ºÅ©¸¦ ±¸¿ï ¶§ ls·Î ¸ñÂ÷ ¸¸µé±â
12-2. Badname, ÆÄÀÏ À̸§¿¡ ÀϹÝÀûÀÌÁö ¾ÊÀº ¹®ÀÚ³ª °ø¹é ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀ» Áö¿ì±â.
12-3. inode ·Î ÆÄÀÏÀ» Áö¿ì±â
12-4. ½Ã½ºÅÛ ·Î±× ¸ð´ÏÅ͸µ¿ë xargs ·Î±× ÆÄÀÏ
12-5. copydir. xargs·Î ÇöÀç µð·ºÅ丮¸¦ ´Ù¸¥ °÷À¸·Î º¹»çÇϱâ
12-6. expr ¾²±â
12-7. date ¾²±â
12-8. ½ºÅ©¸³Æ®¿¡¼­ µÎ ÆÄÀÏÀ» ºñ±³Çϱâ À§ÇØ cmp ¾²±â.
12-9. ³¹¸» ºóµµ¼ö ºÐ¼®
12-10. 10ÀÚ¸® ·£´ýÇÑ ¼ýÀÚ ¸¸µé±â
12-11. tail·Î ½Ã½ºÅÛ ·Î±×¸¦ ¸ð´ÏÅÍÇϱâ
12-12. ½ºÅ©¸³Æ®¿¡¼­ "grep"À» ¿¡¹Ä·¹ÀÌÆ® Çϱâ
12-13. ¸ñ·Ï¿¡ µé¾î ÀÖ´Â ³¹¸»µéÀÇ À¯È¿¼º È®ÀÎÇϱâ
12-14. toupper: ÆÄÀÏ ³»¿ëÀ» ¸ðµÎ ´ë¹®ÀÚ·Î ¹Ù²Þ.
12-15. lowercase: ÇöÀç µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀϸíÀ» ¼Ò¹®ÀÚ·Î ¹Ù²Þ.
12-16. du: µµ½º¿ë ÅؽºÆ® ÆÄÀÏÀ» UNIX¿ëÀ¸·Î º¯È¯.
12-17. rot13: ÃÊÇãÁ¢(ultra-weak) ¾Ïȣȭ, rot13.
12-18. "Crypto-Quote" ÆÛÁñ ¸¸µé±â
12-19. ÆÄÀÏ ¸ñ·Ï Çü½ÄÈ­.
12-20. column À¸·Î µð·ºÅ丮 ¸ñ·ÏÀ» Çü½ÄÈ­ Çϱâ
12-21. nl: ÀÚ±â Àڽſ¡°Ô ¹øÈ£¸¦ ºÙÀÌ´Â ½ºÅ©¸³Æ®.
12-22. cpio·Î µð·ºÅ丮 Æ®¸® ¿Å±â±â
12-23. rpm ¾ÆÄ«À̺ê Ç®±â
12-24. C ¼Ò½º¿¡¼­ ÁÖ¼®À» Á¦°ÅÇϱâ
12-25. /usr/X11R6/bin µÑ·¯º¸±â
12-26. basename°ú dirname
12-27. ÀÎÄÚµåµÈ ÆÄÀÏÀ» uudecodeÇϱâ
12-28. Àú´ç¿¡ ´ëÇÑ ¿ù »óȯ¾×(Monthly Payment on a Mortgage)
12-29. Áø¹ý º¯È¯(Base Conversion)
12-30. ´Ù¸¥ ¹æ¹ýÀ¸·Î bc ½ÇÇà
12-31. seq·Î ·çÇÁ¿¡ ÀÎÀÚ¸¦ ¸¸µé¾î ³Ö±â
12-32. Å°º¸µå ÀÔ·ÂÀ» °¥¹«¸®Çϱâ
12-33. ÆÄÀÏÀ» ¾ÈÀüÇÏ°Ô Áö¿ì±â
12-34. m4 ¾²±â
13-1. Áö¿ò ±ÛÀÚ(erase character) ¼¼ÆÃÇϱâ
13-2. ºñ¹Ð½º·± ºñ¹Ð¹øÈ£: Å͹̳Π¿¡ÄÚ ²ô±â
13-3. Å°´©¸§ ¾Ë¾Æ³»±â
13-4. pidof ·Î ÇÁ·Î¼¼½º¸¦ Á×À̱â
13-5. CD À̹ÌÁö È®ÀÎÇϱâ
13-6. ÇÑ ÆÄÀÏ¿¡¼­ Çѹø¿¡ ÆÄÀÏ ½Ã½ºÅÛ ¸¸µé±â
13-7. »õ ÇÏµå µå¶óÀ̺ê Ãß°¡Çϱâ
13-8. killall, /etc/rc .d/init.d ¿¡¼­ Àοë
16-1. execÀ¸·Î Ç¥ÁØÀÔ·ÂÀ» ÀçÁöÇâ Çϱâ
16-2. ÀçÁöÇâµÈ while ·çÇÁ
16-3. ´Ù¸¥ ÇüÅÂÀÇ ÀçÁöÇâµÈ while ·çÇÁ
16-4. ÀçÁöÇâµÈ until ·çÇÁ
16-5. ÀçÁöÇâµÈ for ·çÇÁ
16-6. ÀçÁöÇâµÈ for ·çÇÁ(Ç¥ÁØÀÔ·Â, Ç¥ÁØÃâ·Â ¸ðµÎ ÀçÁöÇâµÊ)
16-7. ÀçÁöÇâµÈ if/then Å×½ºÆ®
16-8. À̺¥Æ® ·Î±ëÇϱâ
17-1. dummyfile: µÎ ÁÙÂ¥¸® ´õ¹Ì ÆÄÀÏ ¸¸µé±â
17-2. broadcast: ·Î±×ÀÎ ÇØ ÀÖ´Â ¸ðµç »ç¶÷µé¿¡°Ô ¸Þ¼¼Áö º¸³»±â
17-3. catÀ¸·Î ¿©·¯ ÁÙÀÇ ¸Þ¼¼Áö ¸¸µé±â
17-4. ÅÇÀÌ Áö¿öÁø ¿©·¯ ÁÙÀÇ ¸Þ¼¼Áö
17-5. Here document¿¡¼­ ¸Å°³º¯¼ö ġȯÇϱâ
17-6. ¸Å°³º¯¼ö ġȯ ²ô±â
17-7. upload: "Sunsite" incoming µð·ºÅ丮¿¡ ÆÄÀÏ ÇÑ ½ÖÀ» ¾÷·Îµå
17-8. "¾Æ¹«°³"(anonymous) Here Document
20-1. ¼­ºê½©¿¡¼­ º¯¼öÀÇ Åë¿ë ¹üÀ§(variable scope)
20-2. »ç¿ëÀÚ ÇÁ·ÎÆÄÀÏ º¸±â
20-3. ÇÁ·Î¼¼½º¸¦ ¼­ºê½©¿¡¼­ º´·Ä·Î µ¹¸®±â
21-1. Á¦ÇÑµÈ ¸ðµå·Î ½ºÅ©¸³Æ® µ¹¸®±â
23-1. °£´ÜÇÑ ÇÔ¼ö
23-2. ¸Å°³º¯¼ö¸¦ ¹Þ´Â ÇÔ¼ö
23-3. µÎ ¼ýÀÚÁß Å« ¼ö ã±â
23-4. ¼ýÀÚ¸¦ ·Î¸¶ ¼ýÀÚ·Î ¹Ù²Ù±â
23-5. ÇÔ¼ö¿¡¼­ Å« °ªÀ» ¸®ÅÏÇÏ´ÂÁö Å×½ºÆ®Çϱâ
23-6. Å« µÎ Á¤¼ö ºñ±³Çϱâ
23-7. »ç¿ëÀÚ °èÁ¤ À̸§¿¡¼­ ½ÇÁ¦ À̸§À» ¾Ë¾Æ³»±â
23-8. Áö¿ª º¯¼öÀÇ ¿µ¿ª(Local variable visibility)
23-9. Áö¿ª º¯¼ö¸¦ ¾´ Àç±Í ÇÔ¼ö
24-1. ½ºÅ©¸³Æ®¿¡¼­ ¾²ÀÌ´Â º°Äª(alias)
24-2. unalias: º°ÄªÀ» ¼³Á¤, ÇØÁ¦Çϱâ
25-1. "and list"¸¦ ½á¼­ ¸í·É¾îÁÙ ÀÎÀÚ È®ÀÎÇϱâ
25-2. "and list"¸¦ ½á¼­ ¸í·É¾îÁÙ ÀÎÀÚ¸¦ È®ÀÎÇÏ´Â ´Ù¸¥ ¹æ¹ý
25-3. "or lists"¿Í "and list"¸¦ °°ÀÌ ¾²±â
26-1. °£´ÜÇÑ ¹è¿­ »ç¿ë¹ý
26-2. ¹è¿­ÀÇ Æ¯º°ÇÑ Æ¯¼º ¸î °¡Áö
26-3. ºó ¹è¿­°ú ºó ¿ø¼Ò
26-4. ¾ÆÁÖ ¿À·¡µÈ Ä£±¸: ¹öºí Á¤·Ä(Bubble Sort)
26-5. º¹ÀâÇÑ ¹è¿­ ¾îÇø®ÄÉÀ̼Ç: ¿¡¶óÅ佺Å׳׽ºÀÇ Ã¼(Sieve of Erastosthenes)
26-6. º¹ÀâÇÑ ¹è¿­ ¾îÇø®ÄÉÀ̼Ç: ±â¹¦ÇÑ ¼öÇÐ ±Þ¼ö Ž»ö(Exploring a weird mathematical series)
26-7. 2Â÷¿ø ¹è¿­À» Èä³»³½ ´ÙÀ½, ±â¿ïÀ̱â(tilting it)
28-1. ƯÁ¤ PID¿Í °ü·ÃÀÖ´Â ÇÁ·Î¼¼½º ã±â
28-2. ¿Â¶óÀÎ ¿¬°á »óÅÂ
29-1. ÄíÅ° Ç׾Ƹ®¸¦ ¼û±â±â
29-2. /dev/zero·Î ½º¿Ò ÆÄÀÏ ¼¼ÆÃÇϱâ
29-3. ·¥µð½ºÅ© ¸¸µé±â
30-1. ¹ö±× ÀÖ´Â ½ºÅ©¸³Æ®
30-2. test24, ¹ö±×°¡ ÀÖ´Â ´Ù¸¥ ½ºÅ©¸³Æ®
30-3. "assert"·Î Á¶°ÇÀ» Å×½ºÆ®Çϱâ
30-4. exit Àâ¾Æä±â(Trapping at exit)
30-5. Control-C °¡ ´­·ÈÀ» ¶§ ±ú²ýÀÌ Ã»¼ÒÇϱâ
30-6. º¯¼ö ÃßÀûÇϱâ
32-1. ¼­ºê½© ÇÔÁ¤(Subshell Pitfalls)
34-1. ½© ·¡ÆÛ(shell wrapper)
34-2. Á¶±Ý º¹ÀâÇÑ ½© ·¡ÆÛ(shell wapper)
34-3. awk ½ºÅ©¸³Æ® ½© ·¡ÆÛ(shell wrapper)
34-4. Bash ½ºÅ©¸³Æ®¿¡ ³»ÀåµÈ ÆÞ
34-5. Çϳª·Î ¹­ÀÎ Bash ½ºÅ©¸³Æ®¿Í ÆÞ ½ºÅ©¸³Æ®
34-6. ÀÚ½ÅÀ» Àç±ÍÀûÀ¸·Î ºÎ¸£´Â ½ºÅ©¸³Æ®
35-1. ¹®ÀÚ¿­ È®Àå
35-2. °£Á¢ º¯¼ö ÂüÁ¶ - »õ·Î¿î ¹æ¹ý
35-3. ¹è¿­°ú ¾à°£ÀÇ Æ®¸¯À» ½á¼­ ÇÑ ¹úÀÇ Ä«µå¸¦ 4¸í¿¡°Ô ·£´ýÇÏ°Ô µ¹¸®±â
A-1. manview: Æ÷¸ËµÈ ¸Ç ÆäÀÌÁö¸¦ º¸´Â ½ºÅ©¸³Æ®
A-2. mailformat: À̸ÞÀÏ ¸Þ¼¼Áö¸¦ Æ÷¸ËÇؼ­ º¸±â
A-3. rn: °£´ÜÇÑ ÆÄÀÏÀ̸§ º¯°æ À¯Æ¿¸®Æ¼
A-4. encryptedpw: ·ÎÄÿ¡ ¾Ïȣȭ µÇ¾î ÀÖ´Â ºñ¹Ð¹øÈ£·Î ftp »çÀÌÆ®¿¡ ÆÄÀÏÀ» ¾÷·ÎµåÇÏ´Â ½ºÅ©¸³Æ®
A-5. copy-cd: µ¥ÀÌŸ CD¸¦ º¹»çÇÏ´Â ½ºÅ©¸³Æ®
A-6. days-between: µÎ ³¯Â¥ »çÀÌÀÇ Â÷À̸¦ °è»êÇØ ÁÖ´Â ½ºÅ©¸³Æ®
A-7. behead: ¸ÞÀÏ°ú ´º½º ¸Þ¼¼Áö Çì´õ¸¦ Á¦°ÅÇØ ÁÖ´Â ½ºÅ©¸³Æ®
A-8. ftpget: ftp¿¡¼­ ÆÄÀÏÀ» ´Ù¿î·Îµå ÇØ ÁÖ´Â ½ºÅ©¸³Æ®
A-9. password: 8 ±ÛÀÚÂ¥¸® ·£´ýÇÑ ºñ¹Ð¹øÈ£ »ý¼º ½ºÅ©¸³Æ®
A-10. fifo: ³×ÀÓµå ÆÄÀÌÇÁ¸¦ ½á¼­ ¸ÅÀÏ ¹é¾÷ÇØ ÁÖ´Â ½ºÅ©¸³Æ®
A-11. ³ª¸ÓÁö ¿¬»êÀÚ·Î ¼Ò¼ö »ý¼ºÇϱâ
A-12. tree: µð·ºÅ丮 ±¸Á¶¸¦ Æ®¸® ÇüÅ·Πº¸¿©ÁÖ´Â ½ºÅ©¸³Æ®
A-13. ¹®ÀÚ¿­ ÇÔ¼öµé: C ÇüÅÂÀÇ ¹®ÀÚ¿­ ÇÔ¼ö
A-14. °´Ã¼ ÁöÇâ µ¥ÀÌŸ º£À̽º
F-1. »ùÇÃ .bashrc ÆÄÀÏ
G-1. VIEWDATA.BAT: µµ½º¿ë ¹èÄ¡ ÆÄÀÏ
G-2. viewdata.sh: VIEWDATA.BAT ÀÇ ½ºÅ©¸³Æ® ¹öÀü