¸®´ª½º ¶Ç´Â À¯´Ð½º°°Àº ¿î¿µÃ¼Á¦¸¦ Á¦´ë·Î »ç¿ëÇÏ´ÂÁöÀÇ Ã´µµ·Î ÆÄÀÌÇÁ ¶óÀÌ´×À» ¾ó¸¶³ª Àß ÇÏ´ÂÁö¸¦ º¸´Â »ç¶÷µéÀÌ ÀÖ´Ù. ÀÌ¿¡ ´ëÇØ¼´Â ³ª ¿ª½Ãµµ À̰ßÀÌ ¾ø´Ù. ¶§·Î´Â Àß ¾Ë·ÁÁø À¯´Ð½º À¯Æ¿¸®Æ¼µéÀ» º¹ÇÕÀûÀ¸·Î Àß »ç¿ëÇÏ´Â °Í¸¸À¸·Îµµ °ñÄ¡ÇÏÇ ºÐ¼® ÇÁ·Î±×·¥À» Á¦ÀÛÇÏ´Â ¼ö°í¸¦ ´ú ¼ö Àֱ⠶§¹®ÀÌ´Ù.
ÇϳªÀÇ ÇÁ·Î¼¼½º°¡ Ç¥ÁØ ÀÔ·ÂÀ» ÅëÇØ ÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ Àü´Þ¹Þ°í ó¸® ÈÄ ÆÄÀÌÇÁ ¶óÀÌ´×À» ÅëÇØ ´ÙÀ½ ÇÁ·Î¼¼½º¿¡°Ô Àü´ÞÇØ ÁÖ´Â °Í¸¸À¸·Îµµ ÀÌ¹Ì ÈǸ¢ÇÏ´Ù°í º¼ ¼ö ÀÖÁö¸¸, °¡²û µ¿ÀÏÇÑ Àбâ ÀÛ¾÷À» Çϳª·Î ¹¾î¼ ó¸®ÇÏ°í ±× Ãâ·ÂÀ» ´Ù¼öÀÇ ÀÔ·ÂÀ¸·Î ÆÄÀÌÇÁ ¶óÀÌ´× ÇØ ÁÖ°í ½ÍÀº °æ¿ì°¡ ÀÖÀ» ¼öµµ ÀÖ´Ù.
´ÜÆíÀûÀÎ ¿¹¸¦ µéÀÚ¸é ÇϳªÀÇ µð½ºÅ©¿¡¼ ¸î ½Ê ±â°¡ ¶Ç´Â Å×¶ó ¹ÙÀÌÆ®ÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â °æ¿ì¸¦ µé ¼ö Àִµ¥, ¸¸¾à ÀÌ ÀÛ¾÷À» ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º°¡ º´·Ä·Î ÀÛ¾÷À» ÇØ¾ß ÇÑ´Ù¸é °¢°¢ÀÇ ÇÁ·Î¼¼½º°¡ °¢°¢ µð½ºÅ©¸¦ ±Ü¾î°¡¸ç µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÏ´Â ºñÈ¿À²ÀûÀÎ ÀÛ¾÷ÀÌ ÀÌ·ç¾îÁ®¾ß ÇÑ´Ù.
±¸Ã¼ÀûÀÎ ¿¹¸¦ µé¾î ¾Æ·¡Ã³·³ ¼¼ °³ÀÇ ÇÁ·Î¼¼½º°¡ º´·Ä·Î ½ÇÇàµÈ´Ù°í »ý°¢ÇØ º¸ÀÚ.
cat /disk/file.dat | preprocess | process1 cat /disk/file.dat | preprocess | process2 cat /disk/file.dat | preprocess | process3 |
file.dat´Â °¢°¢ÀÇ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ µû·Î µû·Î ÀÐÇôÁö°Ô µÇ°í µð½ºÅ©´Â Æò¼Òº¸´Ù ÈξÀ ½ºÆ®·¹½º¸¦ ¹ÞÀ¸¸ç ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÒ °ÍÀÌ´Ù.
¿©±â¼ cat /disk/file.dat | preprocess ±îÁöÀÇ ÀÛ¾÷À» ÇÑ ¹ø¸¸ ó¸®Çϰí ÀÌ ÀÛ¾÷À» ÅëÇØ ³ª¿Â °á°ú¸¦ ¼¼°¥·¡·Î ºÐ¸®Çؼ process1, process2, process3¿¡ Àü´ÞÇØ ÁÙ ¼ö ÀÖ´Ù¸é µð½ºÅ©°¡ °¨´çÇØ¾ß ÇÏ´Â ½ºÆ®·¹½º°¡ ÈξÀ ÁÙ¾îµé °ÍÀÌ´Ù.
ÀÌ·¯ÇÑ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ´Â À¯´Ð½º À¯Æ¿¸®Æ¼·Î Tee°¡ ÀÖ´Ù. Tee´Â ¿µ¹® ´ë¹®ÀÚ Tó·³ »ý±ä ÆÄÀÌÇÁ¸¦ ¿¬»óÇÏ°Ô ÇÏ´Â ÀÛ¾÷À» ÇÑ´Ù. ÇÑ ÂÊ (¿ÞÂÊ)À¸·Î ÀÔ·ÂµÈ µ¥ÀÌÅͰ¡ ´Ù¸¥ µÎ ¹æÇâ (¿À¸¥ÂÊ, ¾Æ·¡ÂÊ) À¸·Î ºÐ¸®µÇ¾î Ãâ·ÂµÇ´Â ¸ð½ÀÀ» ¿¬»óÇÏ¿© Tee (T)¶ó°í ¸í¸íÇÑ µí ÇÏ´Ù.
±×·³ ÀÌÁ¦ À§ÀÇ ¿¹Á¦¸¦ ÇÑ ¹øÀÇ µð½ºÅ© Á¢±ÙÀ¸·Î ¼¼ °³ÀÇ ÇÁ·Î¼¼½º°¡ °°ÀÌ ÀÔ·ÂÀ» ¹Þ´Â ¹æ¹ýÀ¸·Î ¹Ù²Ù¾î º¸°Ú´Ù. TeeÀÇ ±âº»ÀûÀÎ Á¢±Ù ¹æ¹ýÀ¸·Î ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
cat /disk/file.dat | preprocess | tee >(process1) | tee >(process2) | process3
| À§¿Í °°Àº ¹æ¹ýÀ» ÀÌ¿ëÇϸé ù ¹øÂ° tee¿¡¼ Ãâ·ÂÀÌ ³ª´©¾îÁ® process1·Î Ç¥ÁØ Ãâ·ÂÀ¸·Î µé¾î°¡°í ´Ù¸¥ Ãâ·ÂÀº ÆÄÀÌÇÁ¶óÀÌ´×À» ÅëÇØ ´ÙÀ½ ÇÁ·Î¼¼½ºÀÎ process2·Î ³Ñ¾î°£´Ù. ¿©±â¼ ´Ù½Ã tee¸¦ ÀÌ¿ëÇØ Ãâ·ÂÀÌ ºÐ¸®µÇ°í process2¿Í ÆÄÀÌÇÁ¶óÀÌ´×À» ÅëÇÑ process3·Î Ãâ·ÂÀÌ Àü´ÞµÈ´Ù. ±×·¯³ª ÀÌ ¹æ¹ýÀÇ °æ¿ì, process2¿Í process3ÀÌ ¹Þ´Â ÀÔ·ÂÀÌ preprocess¿¡ ÀÇÇÑ Å¬¸° Ãâ·ÂÀÌ ¾Æ´Ï¹Ç·Î Àü ´Ü°èÀÇ ÇÁ·Î¼¼½º°¡ ¹ß»ýÇÑ Ç¥ÁØ Ãâ·ÂÀ» ÷°¡Çؼ ¹Þ°Ô µÈ´Ù. ¿¹Á¦¿¡¼ process1, process2, ±×¸®°í process3ÀÌ °°Àº ÀÛ¾÷À» ÇÏ´Â ÇÁ·Î¼¼½ºµéÀ̶ó¸é ÀÌ·± °æ¿ì ¿øÇÏÁö ¾Ê´Â °á°ú¸¦ ¾ò°Ô µÉ °ÍÀÌ´Ù.
±×·¡¼ ¼¼ °³ÀÇ ÇÁ·Î¼¼½º°¡ µ¿½Ã¿¡ Ŭ¸° Ãâ·ÂÀ» ÀԷ¹ްíÀÚ ÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ Ã³¸®¸¦ ÇØ ÁÙ ¼öµµ ÀÖ´Ù.
cat /disk/file.dat | preprocess | tee >(process1) >(process2) >(process3) | >/dev/null
|
Ç㳪 ÀÌ ¹æ¹ý ¿ª½Ã ¸¶Áö¸· Ç¥ÁØ Ãâ·ÂÀ» º¹»çÇØ¼ null µð¹ÙÀ̽º º¸³»´Â ºÒÇÊ¿äÇÏ°í °ªºñ½Ñ ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇϹǷΠÁÁÀº ¹æ¹ýÀ̶ó ÇÒ ¼ö°¡ ¾ø´Ù. ÇϳªÀÇ ´ë¾ÈÀ¸·Î teeÀÇ º¯ÇüÀÎ pee¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿ìºÐÅõÀÇ °æ¿ì "moreutils"¶ó´Â ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ ÈÄ »ç¿ëÇÒ ¼ö ÀÖ´Â À¯Æ¿¸®Æ¼ÀÌ´Ù.
| cat /disk/file.dat | preprocess | pee "process1" "process2" "process3" |
À§¿Í °°ÀÌ Ãâ·ÂÀ» Ç¥±âÇÏ´Â ¹æ¹ýÀÌ °£¼ÒÈ µÇ¾î ÀÖ°í ¸¶Áö¸·ÀÇ Ç¥ÁØ Ãâ·ÂÀ» µû·Î ó¸®ÇØ ÁÖÁö ¾Ê¾Æµµ µÈ´Ù.
ÀÌ À¯Æ¿¸®Æ¼µéÀÇ ÆÛÆ÷¸Õ½º¿¡ ´ëÇØ¼´Â ÀǰßÀÌ ºÐºÐÇÏ´Ù. ù°·Î, Tee°¡ Ãâ·ÂÀ» º¹»çÇÏ´Â ¿¬»êÀ» ¼öÇàÇϱ⠶§¹®¿¡ ¿¬»ê ¼Óµµ°¡ ´À·ÁÁø´Ù´Â Á¡ÀÌ´Ù. °æÇè»ó ÀÌ °æ¿ì´Â ¹«½ÃÇÒ ¼ö ¾ø´Â »ç½ÇÀ̾ú´Ù. ÇÑ °³ÀÇ ÇÁ·Î¼¼½º°¡ µµ´Â ¼Óµµ¿¡ ºñÇØ 3°³ÀÇ ÇÁ·Î¼¼½º°¡ tee¸¦ ÅëÇØ ºÐ»êµÇ¾î ó¸®µÉ ¶§ ¾à 1.5¹èÀÇ ¼Óµµ ÀúÇϰ¡ ÀÖ¾ú´Ù.
ÇÏÁö¸¸ ÀÌ´Â 3°³ÀÇ ÇÁ·Î¼¼½º¸¦ µ¿½Ã¿¡ µ¹¸° °Í°ú Tee¸¦ ÅëÇØ 3°³ÀÇ ÇÁ·Î¼¼½º°¡ µ· ¼Óµµ¸¦ ºñ±³ÇÑ °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡ Á¤È®ÇÑ µ¥ÀÌÅͶó ÇÒ ¼ö´Â ¾ø´Ù. °³ÀÎÀûÀ¸·Î 3°³ÀÇ ÇÁ·Î¼¼½º°¡ ÇϳªÀÇ µ¥ÀÌÅ͸¦ º´·Ä·Î °è¼Ó Á¢±ÙÇÑ´Ù¸é ºÐ¸í ´õ Å« ¼Óµµ ÀúÇϰ¡ ÀÖÀ¸¸®¶ó°í »ý°¢µÈ´Ù. ÀÌ´Â ´ÙÀ½¿¡ Å×½ºÆ®ÇØ º» ÈÄ ´Ù½Ã Æ÷½ºÆÃ ÇϰíÀÚ ÇÑ´Ù.
|