12.3. ½Ã°£/³¯Â¥ ¸í·É¾î

¸í·É¾î ¸ñ·Ï

date

°£´ÜÇÏ°Ô date¶ó°í¸¸ Ä¡¸é ³¯Â¥¿Í ½Ã°£À» Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾î¿¡¼­ ÁøÂ¥ Àç¹Õ´Â ºÎºÐÀº Çü½ÄÈ­¿Í ÆÄ½Ì ¿É¼ÇÀÔ´Ï´Ù.

¿¹ 12-7. date ¾²±â

#!/bin/bash
# 'date' ¸í·É¾î ¿¬½À

echo "¿ÃÇØ°¡ ½ÃÀÛÇÑ µÚ·Î Áö±Ý±îÁö `date +%j` ÀÏÀÌ Áö³µ½À´Ï´Ù."
# ³¯Â¥¸¦ Çü½ÄÈ­ ÇÏ·Á¸é Æ÷¸ÅÅÍ ¾Õ¿¡ '+'¸¦ ½á¾ß µË´Ï´Ù.
# %j ´Â ¿À´ÃÀÌ ¿¬Áß ¸î ¹ø° ³¯Àΰ¡¸¦ ¾Ë·ÁÁÝ´Ï´Ù.

echo "1970/01/01 ÀÌÈÄ·Î Áö±Ý±îÁö `date +%s` ÃÊ°¡ Áö³µ½À´Ï´Ù."
#  %s ´Â "UNIX ¿¡Æø(epoch)"ÀÌ ½ÃÀÛÇÑ µÚ·Î ÇöÀç±îÁö ¸î ÃÊ°¡ Áö³µ´ÂÁö¸¦ ¾Ë·ÁÁÝ´Ï´Ù.
#+ ÀÌ°É µµ´ëü ¾îµð´Ù ½á ¸ÔÁÒ?

prefix=temp
suffix=`eval date +%s`  # 'date'ÀÇ "+%s" ¿É¼ÇÀº GNU Àü¿ë ¿É¼ÇÀÔ´Ï´Ù.
filename=$prefix.$suffix
echo $filename
#  "À¯ÀÏÇÑ" Àӽà ÆÄÀÏ À̸§À¸·Î $$ ¸¦ ¾²´Â °Í º¸´Ù ´õ ÈǸ¢ÇÕ´Ï´Ù.

# ´õ ¸¹Àº Çü½ÄÈ­ ¿É¼ÇÀ» º¸·Á¸é 'date' ¸Ç ÆäÀÌÁö¸¦ ÀÐ¾î º¸¼¼¿ä.

exit 0
zdump

ÁÖ¾îÁø ŸÀÓ Á¸¿¡ ÇØ´çÇÏ´Â ½Ã°£À» ¿¡ÄÚ.

bash$ zdump EST
EST  Tue Sep 18 22:09:22 2001 EST
	      

time

¸í·É¾î ½ÇÇà ½Ã°£¿¡ ´ëÇÑ ¾ÆÁÖ ÀÚ¼¼ÇÑ Åë°èµéÀ» º¸¿©ÁÝ´Ï´Ù.

time ls -l / ÀÇ Ãâ·ÂÀº ´ÙÀ½°ú °°½À´Ï´Ù.
0.00user 0.01system 0:00.05elapsed 16%CPU (0avgtext+0avg
data 0maxresident)k
 0inputs+0outputs (149major+27minor)pagefaults 0swaps

time°ú ¾ÆÁÖ ºñ½ÁÇÑ ¹Ù·Î ¾Õ ÀåÀÇ times ¸í·É¾îµµ Âü°íÇϼ¼¿ä.

Âü°í: timeÀº Bash 2.0 ¹öÀü ÀÌÈÄ·Î ½© ¿¹¾à¾î°¡ µÆ±â ¶§¹®¿¡ ÆÄÀÌÇÁ¶óÀο¡¼­ ¾²ÀÌ¸é ¾à°£ ´Ù¸¥ µ¿ÀÛÀ» º¸ÀÔ´Ï´Ù.

touch

ÆÄÀÏ¿¡ ´ëÇÑ Á¢±Ù/¼öÁ¤ ½Ã°¢À» ÇöÀç ½Ã°¢À̳ª ƯÁ¤ÇÑ ½Ã°¢À¸·Î ¹Ù²ã ÁÖ´Â À¯Æ¿¸®Æ¼Áö¸¸ »õ ÆÄÀÏÀ» ¸¸µé ¶§ ¾µ ¼öµµ ÀÖ½À´Ï´Ù. zzz¶õ ÆÄÀÏÀÌ ¾ø´Ù°í °¡Á¤ÇÏ°í touch zzz ¶ó°í Çϸé Å©±â°¡ 0ÀÎ zzzÀ» »õ·Î ¸¸µé¾î ÁÝ´Ï´Ù. ÀÌ·± ½ÄÀ¸·Î ½Ã°£ Á¤º¸¸¦ °®´Â ºó ÆÄÀÏÀ» ¸¸µé¾î¼­ ÇÁ·ÎÁ§Æ®ÀÇ º¯°æ ³¯Â¥¸¦ ÃßÀûÇϴµ¥ ¾²´Â µîÀÇ »ç¿ë¹ýÀÌ °¡´ÉÇÕ´Ï´Ù.

touch ¸í·É¾î´Â : >> newfile °ú µ¿ÀÏÇÑ µ¿ÀÛÀ» ÇÕ´Ï´Ù(º¸Åë ÆÄÀÏ¿¡ ´ëÇؼ­).

at

ÀÛ¾÷ Á¦¾î ¸í·É¾îÀÎ atÀº ÁÖ¾îÁø ¸í·É¾îµéÀ» ƯÁ¤ ½Ã°£¿¡ ¼öÇàÇÕ´Ï´Ù. ÀÌ ¸í·É¾î´Â Ç¥¸é»óÀ¸·Î´Â crond°ú ´à¾Æ ÀÖÁö¸¸ ¿©·¯ ¸í·É¾îµéÀ» ´ÜÁö ÇÑ ¹ø¸¸ ¼öÇàÇÏ·Á°í ÇÒ ¶§ ÁÖ·Î ¾²ÀÔ´Ï´Ù.

at 2pm January 15 ¶ó°í ÇÏ¸é ±× ½Ã°£¿¡ ½ÇÇà½Ãų ¸í·É¾îµéÀ» ¹°¾îº¸´Âµ¥ ÀÌ ¸í·É¾î´Â ½Ç¿ëÀûÀÎ ¸ñÀû¶§¹®¿¡ ½© ½ºÅ©¸³Æ®¿Í ȣȯµÇ´Â ¸í·É¾î¸é ´Ù µË´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼­ ÇÑ ÁÙ¿¡ ÀÌ°ÍÀ» ŸÀÌÇÎÇÒ °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù. ÀÔ·ÂÀº Ctl-D ·Î ³¡³À´Ï´Ù.

-f ¿É¼ÇÀ» ¾²°Å³ª ÀÔ·Â ÀçÁöÇâ(<)À» ½á¼­ ÆÄÀÏ¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¸í·É¾îµéÀ» ÀÐ¾î µéÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀÏÀº ½© ½ºÅ©¸³Æ®°¡ µÉ ¼öµµ ÀÖÁö¸¸ ´ç¿¬È÷ »ç¿ëÀÚ ÀÔ·ÂÀÌ ÇÊ¿ä ¾ø¾î¾ß ÇÕ´Ï´Ù. ½ÇÇàÇÒ ÆÄÀÏ¿¡ run-parts ¸í·É¾î¸¦ ³Ö¾î µÎ¸é ´Ù¸¥ Á¾·ùÀÇ ¿©·¯ ½ºÅ©¸³Æ®µéÀ» µ¹¸± ¼ö Àֱ⠶§¹®¿¡ ¾ÆÁÖ ¸ÚÁö°Ô ¾µ ¼ö ÀÖ½À´Ï´Ù.

bash$ at 2:30 am Friday < at-jobs.list
job 2 at 2000-10-27 02:30
	      

batch

batchµµ at°ú ºñ½ÁÇÑ ÀÛ¾÷ Á¦¾î ¸í·É¾îÁö¸¸ ´Ù¸¥ Á¡Àº ½Ã½ºÅÛ ºÎÇÏ°¡ 0.8 ÀÌÇÏÀÎ °æ¿ì¿¡¸¸ ¸í·É¾îµéÀ» ½ÇÇàÇÕ´Ï´Ù. ató·³ -f ¿É¼ÇÀ» ½á¼­ ½ÇÇàÇÒ ¸í·É¾î¸¦ ÆÄÀÏ¿¡¼­ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.

cal

±ò²ûÇÑ ÇüÅÂÀÇ ¿ùº° ´Þ·ÂÀ» Ç¥ÁØÃâ·ÂÀ¸·Î Ãâ·ÂÇÕ´Ï´Ù. ÇöÀ縦 ºñ·ÔÇØ ¾ÆÁÖ ¸Õ °ú°Å³ª ¹Ì·¡µµ º¸¿© ÁÝ´Ï´Ù.

sleep

½©ÀÇ wait ·çÇÁ¿Í °°½À´Ï´Ù. ÁÖ¾îÁø ÃÊ´ÜÀ§ ½Ã°£ µ¿¾È ¾Æ¹«Àϵµ ¾È Çϸ鼭 ¸ØÃß¾î ÀÖ½À´Ï´Ù. ŸÀ̹Ö, ȤÀº ¹é±×¶ó¿îµå·Î µ¹¸é¼­ ƯÁ¤ÇÑ »ç°ÇÀÌ ÀϾ´ÂÁö ÁÖ±âÀûÀ¸·Î È®ÀÎÇϴµîÀÇ °æ¿ì¿¡ À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù(¿¹ 30-5 Âü°í).
sleep 3
# 3 ÃÊ ´ë±â.

Âü°í: sleep ¸í·É¾îÀÇ ´ÜÀ§´Â ±âº»ÀûÀ¸·Î Ãʸ¦ ¾²Áö¸¸ ºÐÀ̳ª ½Ã°£, ÀÏ ´ÜÀ§µµ ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù.
sleep 3 h
# 3 ½Ã°£ ´ë±â!

usleep

¸¶ÀÌÅ©·Î½½¸³(Microsleep)("u"´Â ±×¸®½º ¹®ÀÚ "mu"·Î Àдø°¡ ¸¶ÀÌÅ©·Î(micro) Á¢µÎ»ç ±×´ë·Î ÀÐÀ¸¸é µË´Ï´Ù). ÀÌ ¸í·É¾î´Â À§¿¡¼­ ¼³¸íÇÑ sleep°ú ÇÏ´Â ÀÏÀÌ °°Áö¸¸ ¸¶ÀÌÅ©·ÎÃÊ µ¿¾È "Àáµé¾î" ÀÖ½À´Ï´Ù. ¾ÆÁÖ ÂªÀº ½Ã°£ µ¿¾ÈÀÇ Å¸Àֿ̹¡ ¾²À̰ųª ±²ÀåÈ÷ ÀæÀº °£°ÝÀ¸·Î ÁøÇàµÇ´Â ÇÁ·Î¼¼½º¸¦ Æú¸µÇÒ ¶§ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù.
usleep 30
# 30 ¸¶ÀÌÅ©·ÎÃÊ ´ë±â.

°æ°í

usleepÀº Ưº°È÷ Á¤È®ÇÑ Å¸À̹ÖÀ» Á¦°øÇÏÁö ¾Ê±â ¶§¹®¿¡ ¾ÆÁÖ Áß¿äÇÑ Å¸ÀÌ¹Ö ·çÇÁ¿¡´Â ¾È ¸Â½À´Ï´Ù.

hwclock, clock

hwclock´Â ½Ã½ºÅÛÀÇ Çϵå¿þ¾î Ŭ·°À» Àаųª Á¶ÀýÇØ ÁÝ´Ï´Ù. ¸î¸î ¿É¼ÇÀº ·çÆ® ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù. /etc/rc.d/rc.sysinit ½Ã½ºÅÛ ±¸µ¿ ÆÄÀÏÀº ºÎÆýÿ¡ hwclockÀ» ½á¼­ Çϵå¿þ¾î Ŭ·°À¸·Î ½Ã½ºÅÛ ½Ã°£À» ¸ÂÃçÁÝ´Ï´Ù.

clock ¸í·É¾î´Â hwclock°ú µ¿ÀǾîÀÔ´Ï´Ù.