°í±Þ Bash ½ºÅ©¸³Æà °¡À̵å: Bash¸¦ ÀÌ¿ëÇÑ ½© ½ºÅ©¸³Æà ¿ÏÀü °¡À̵å | ||
---|---|---|
ÀÌÀü | 12Àå. ¿ÜºÎ ÇÊÅÍ, ÇÁ·Î±×·¥, ¸í·É¾î | ´ÙÀ½ |
ÀÌ À¯Æ¿¸®Æ¼µéÀº »ç¿ëÀÚ°¡ Á¤ÇÑ °£°Ý´ë·Î Á¤¼ö°ªÀ» Â÷·ÊÂ÷·Ê ¸¸µé¾î ³À´Ï´Ù. for ·çÇÁ¿¡¼ ¾ÆÁÖ À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù.
¿¹ 12-31. seq·Î ·çÇÁ¿¡ ÀÎÀÚ¸¦ ¸¸µé¾î ³Ö±â
#!/bin/bash for a in `seq 80` # ȤÀº for a in $( seq 80 ) # for a in 1 2 3 4 5 ... 80 °ú ¶È°°½À´Ï´Ù(°úµµÇÑ Å¸ÀÌÇÎÀ» ¾È Çصµ µÇÁÒ!). # ½Ã½ºÅÛ¿¡ 'jot'ÀÌ ÀÖ´Ù¸é ´ë½Å ¾µ ¼öµµ ÀÖ½À´Ï´Ù. do echo -n "$a " done # "for" ·çÇÁÀÇ [list] ¸¦ ¸¸µé±â À§Çؼ ¸í·É¾îÀÇ Ãâ·ÂÀ» »ç¿ëÇÏ´Â ¿¹Á¦ echo; echo COUNT=80 # 'seq'¿¡ º¯°æÇÒ ¼ö ÀÖ´Â ¸Å°³º¯¼ö¸¦ Á൵ µÇ´Â±º¿ä. for a in `seq $COUNT` # ȤÀº for a in $( seq $COUNT ) do echo -n "$a " done echo exit 0 |
run-parts ¸í·É¾î [1] ´Â ´ë»ó µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ¸ðµç ½ºÅ©¸³Æ®¸¦ ÆÄÀϸíÀ» ¾Æ½ºÅ° ¼ø¼´ë·Î Â÷·Ê·Î ½ÇÇà½ÃÄÑ ÁÝ´Ï´Ù. ´ç¿¬ÇÑ À̾߱âÁö¸¸ ±× ½ºÅ©¸³Æ®µéÀº ½ÇÇà Æ۹̼ÇÀÌ °É·Á ÀÖ¾î¾ß µË´Ï´Ù.
crond µ¥¸óÀÌ /etc/cron.* µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ½ºÅ©¸³Æ®¸¦ ½ÇÇà ½ÃÅ°±â À§ÇØ run-parts ¸¦ ½ÇÇà½Ãŵ´Ï´Ù.
yesÀÇ ±âº» µ¿ÀÛÀº y¹®ÀÚ¿Í ¶óÀÎ Çǵ带 Ç¥ÁØÃâ·ÂÀ¸·Î °è¼Ó »Ñ¸®´Âµ¥ control-c·Î ¸ØÃâ ¼ö ÀÖ½À´Ï´Ù. yes ´Ù¸¥ ¹®Àڿó·³ ÇÏ¸é ´Ù¸¥ ¹®ÀÚ¿À» °è¼Ó »Ñ·Á ÁÝ´Ï´Ù. ±×·¯¸é ¿Ö ÀÌ·± ¸í·É¾î°¡ ÇÊ¿äÇÒ±î¿ä? ¸í·É¾î ÁÙÀ̳ª ½ºÅ©¸³Æ® »ó¿¡¼ »ç¿ëÀÚ ÀÔ·ÂÀ» ¿øÇÏ´Â ÇÁ·Î±×·¥¿¡°Ô yesÀÇ Ãâ·ÂÀ» ÀçÁöÇâ ½ÃÅ°°Å³ª ÆÄÀÌÇÁ¸¦ ÅëÇØ Àü´ÞÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç½Ç, ÀÌ ¸í·É¾î´Â expectÀÇ °£´ÜÇÑ ¹öÀüÀÔ´Ï´Ù.
yes | fsck /dev/hda1 ¶ó°í Çϸé fsck¸¦ ÇÑ ¹æ¿¡ ½ÇÇà(non-interactive)½Ãŵ´Ï´Ù(Á¶½ÉÇϼ¼¿ä!).
yes | rm -r dirname ´Â rm -rf dirname¶ó°í ÇÑ °Í°ú °°Àº È¿°ú¸¦ °®½À´Ï´Ù(Á¶½ÉÇϼ¼¿ä!).
ÁÖ¾îÁø ÀÎÀÚ¸¦ ¾Æ½ºÅ° ¹®ÀÚ·Î ÀÌ·ç¾îÁø(±âº»Àº '#') Å« ¼öÁ÷ ¹è³Ê·Î ¸¸µé¾î Ç¥ÁØÃâ·ÂÀ¸·Î Ãâ·ÂÇØ ÁÝ´Ï´Ù. ÇÁ¸°ÅÍ·Î ÀçÁöÇâ½ÃÄÑ ½ÇÁ¦·Î Ãâ·ÂÇØ º¼ ¼öµµ ÀÖ½À´Ï´Ù.
ƯÁ¤ »ç¿ëÀÚÀÇ ¸ðµç ȯ°æ º¯¼öµéÀ» º¸¿©ÁÝ´Ï´Ù.
bash$ printenv | grep HOME HOME=/home/bozo |
lp¿Í lprÀº ÆÄÀÏÀ» ÇÁ¸°Æ® Å¥·Î º¸³»¼ ÇÁ¸°ÅÍ·Î Ãâ·ÂÇϱâ À§ÇØ ¾²ÀÌ´Â ¸í·É¾îÀÔ´Ï´Ù. [2] ÀÌ ¸í·É¾îµéÀÇ À̸§Àº ¿¾³¯ ¶óÀÎ ÇÁ¸°ÅÍ(line printer)¸¦ ¾²´ø ½ÃÀý¿¡¼ À¯·¡ µÆ½À´Ï´Ù.
bash$ lp file1.txt ¶ó°í Çϰųª bash$ lp <file1.txt
Çü½ÄÈµÈ Ãâ·ÂÀ» ¾ò±â À§ÇØ pr¿¡¼ lp·Î ÆÄÀÌÇÁ¸¦ ¿¬°áÇؼ ÀÚÁÖ ¾²ÀÔ´Ï´Ù.
bash$ pr -options file1.txt | lp
groffÀ̳ª °í½ºÆ®½ºÅ©¸³Æ®(ghostscript)°°Àº Çü½ÄÈ ÆÐÅ°ÁöµéÀº ÀÚ½ÅÀÇ Ãâ·ÂÀ» lp·Î Á÷Á¢ º¸³»±âµµ ÇÕ´Ï´Ù.
bash$ groff -Tascii file.tr | lp
bash$ gs -options | lp file.ps
°ü·Ã ¸í·É¾î·Î´Â ÇÁ¸°Æ® Å¥¸¦ º¸±â À§ÇÑ lpq³ª ÇÁ¸°Æ® Å¥¿¡¼ ƯÁ¤ ÀÛ¾÷À» Áö¿ì±â À§ÇÑ lprmÀÌ ÀÖ½À´Ï´Ù.
[À¯´Ð½º´Â ¼öµµ¾÷°è¿¡¼ ÀÌ ¾ÆÀ̵ð¾î¸¦ ¾ò¾ú½À´Ï´Ù.]
ÀÌ ¸í·É¾î´Â ÀçÁöÇâ ¿¬»êÀÚÀ̱ä ÇÏÁö¸¸ ¾à°£ ´Ù¸¨´Ï´Ù. ¼öµµ ¹è°ü°øÀÇ tee(TÀÚÇü ¹è°ü ÆÄÀÌÇÁ)ó·³ ´ÜÀÏ ¸í·É¾î³ª ÆÄÀÌÇÁÀÇ ÀϺκÐÀ¸·Î µ¿ÀÛÇÏ´Â ¸í·É¾îÀÇ Ãâ·ÂÀ» "»¡¾Æ µé¿©" ´Ù¸¥ °÷À¸·Î µ¿ÀÏÇÑ °á°ú¸¦ º¹»çÇØ ³»Áö¸¸ °á°ú¿¡´Â ¾Æ¹« ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù. ÁøÇàÁßÀÎ ÇÁ·Î¼¼½ºÀÇ »óȲÀ» ÆÄÀÏÀ̳ª Á¾ÀÌ·Î Ãâ·ÂÇÒ ¶§ À¯¿ëÇѵ¥, º¸ÅëÀº µð¹ö±ë ¿ëµµ·Î ¾²¿© Áß°£ °á°ú°ªÀ» ÃßÀûÇϴµ¥ ¾²ÀÔ´Ï´Ù.
tee |------> ÆÄÀÏ·Î | ===============|=============== ¸í·É¾î --->----|-¿¬»êÀÚ--->---> ¸í·É¾îÀÇ °á°ú =============================== |
cat listfile* | sort | tee check.file | uniq > result.file |
À̸§ÀÌ ¾à°£ ¾Ö¸ÅÇÑ ÀÌ ¸í·É¾î´Â ³×ÀÓµå ÆÄÀÌÇÁ(named pipe)¸¦ ¸¸µé¾î ³À´Ï´Ù. ³×ÀÓµå ÆÄÀÌÇÁ¶õ ÇÁ·Î¼¼½º³¢¸® µ¥ÀÌŸ¸¦ ÁÖ°í ¹ÞÀ» ¼ö ÀÖµµ·Ï ÇÏ´Â Àӽà first-in-first-out ¹öÆÛ¸¦ °¡¸£Å°´Â ¸»ÀÔ´Ï´Ù. [3] ÀüÇüÀûÀÎ ½Ã³ª¸®¿À´Â ÇÑ ÇÁ·Î¼¼½º°¡ FIFO¿¡ µ¥ÀÌŸ¸¦ ¾²°í ´Ù¸¥ ÇÁ·Î¼¼½º´Â ±× µ¥ÀÌŸ¸¦ ÀÐ¾î °¡´Â °ÍÀÔ´Ï´Ù. ¿¹ A-10¸¦ Âü°íÇϼ¼¿ä.
ÆÄÀϸíÀÌ ¿Ã¹Ù¸¥Áö ¾Æ´ÑÁö¸¦ È®ÀÎÇØ ÁÝ´Ï´Ù. ÆÄÀϸíÀÌ ÃÖ´ë Çã¿ë °¡´É ±æÀÌ(255 ±ÛÀÚ)¸¦ ³Ñ´Â´Ù°Å³ª ÀÚ±â À̸§¿¡ µé¾î ÀÖ´Â °æ·ÎÁß Çϳª ÀÌ»óÀÇ µð·ºÅ丮°¡ ãÀ» ¼ö ¾ø´Ù°Å³ª ÇÒ °æ¿ì¿¡´Â ¿¡·¯ ¸Þ¼¼Áö¸¦ ¹ß»ý½Ãŵ´Ï´Ù. ºÒÇàÇÏ°Ôµµ pathchk´Â ¾Ë¾Æ º¼ ¼ö ÀÖ´Â ¿¡·¯ Äڵ带 ¸®ÅϽÃÅ°Áö ¾Ê±â ¶§¹®¿¡ ½ºÅ©¸³Æ® »ó¿¡¼´Â ÀüÇô ¾µ¸ð°¡ ¾ø½À´Ï´Ù.
¾îµòÁö ¸ð¸£°Ô ºÒ¸íÈ®ÇÏ°í ¾à°£Àº ¾²±â ²¨·ÁÇÏ´Â "µ¥ÀÌŸ º¹»ç±â"(data duplicator) ¸í·É¾îÀÔ´Ï´Ù. ¿ø·¡´Â ¸¶±×³×ƽ Å×ÀÌÇÁ¸¦ ÀÌ¿ëÇؼ À¯´Ð½ºÀÇ ¹Ì´Ï ÄÄÇ»ÅÍ¿Í IBMÀÇ ¸ÞÀÎÇÁ·¹ÀÓ°£¿¡ µ¥ÀÌŸ¸¦ ±³È¯Çϴµ¥ ¾²ÀÌ´ø À¯Æ¿¸®Æ¼Áö¸¸ ¾ÆÁ÷µµ ±× ¾²ÀÓ»õ°¡ ³²¾Æ ÀÖ½À´Ï´Ù. dd ¸í·É¾î´Â º¯È¯ °úÁ¤À» °ÅÃÄ ÆÄÀÏÀ̳ª Ç¥ÁØÀÔ·Â/Ç¥ÁØÃâ·ÂÀ» °£´ÜÈ÷ º¹»çÇØ ÁÝ´Ï´Ù. ¾Æ½ºÅ°/EBCDIC [4] °£ º¯È¯, ´ë¼Ò¹®ÀÚ°£ º¯È¯, ÀÔÃâ·Â°£ÀÇ ¹ÙÀÌÆ® ½ÖÀ» ¹Ù²Ù°Å³ª ÀÔ·Â ÆÄÀÏÀÇ Ã³À½À̳ª ³¡À» °Ç³Ê¶Ù°Å³ª À߶󳻼 Ãâ·Â ÆÄÀÏÀ» ¸¸µé¾î ³»´Â µîÀÇ º¯È¯ÀÌ °¡´ÉÇÕ´Ï´Ù. dd --help ¶ó°í Çϸé ÀÌ °·ÂÇÑ À¯Æ¿¸®Æ¼°¡ ó¸®ÇÒ ¼ö ÀÖ´Â º¯È¯ ¸ñ·Ï°ú ´Ù¸¥ ¿É¼ÇÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
# 'dd' ¿¬½ÀÇϱâ. n=3 p=5 input_file=project.txt output_file=log.txt dd if=$input_file of=$output_file bs=1 skip=$((n-1)) count=$((p-n+1)) 2> /dev/null # $input_file ÀÇ n ¿¡¼ p ±îÁö ¹®ÀÚ¸¦ ÃßÃâÇØ ³»±â. echo -n "hello world" | dd cbs=1 conv=unblock 2> /dev/null # "hello world" ¸¦ ¼öÁ÷À¸·Î ¿¡ÄÚ½ÃÅ°±â # Thanks, S.C. |
dd°¡ ¾ó¸¶³ª ´ÙÀç´Ù´ÉÇÑÁö¸¦ º¸¿©ÁÖ±â À§Çؼ Å°º¸µå ÀÔ·ÂÀ» °¥¹«¸®Çϴµ¥ ½á º¸°Ú½À´Ï´Ù.
¿¹ 12-32. Å°º¸µå ÀÔ·ÂÀ» °¥¹«¸®Çϱâ
#!/bin/bash # ENTER ¾øÀÌ Å°´©¸§À» °¥¹«¸®Çϱâ. keypresses=4 # °¥¹«¸®ÇÒ Å°´©¸§ ¼ö. old_tty_setting=$(stty -g) # ÇöÀçÀÇ Å͹̳Π¼¼ÆÃÀ» ÀúÀå. echo "Å°¸¦ $keypresses ¹ø ´©¸£¼¼¿ä." stty -icanon -echo # ij³ë´ÏÄÃ(canonical) ¸ðµå ²ô±â. # ·ÎÄà ¿¡ÄÚ ²ô±â. keys=$(dd bs=1 count=$keypresses 2> /dev/null) # 'dd' ´Â "if" ¿É¼ÇÀÌ ¾øÀ¸¸é Ç¥ÁØÀÔ·ÂÀ» ¾¹´Ï´Ù. stty "$old_tty_setting" # ¿¹Àü Å͹̳Π¼¼ÆÃÀ¸·Î º¹±¸. echo "\"$keys\" Å°¸¦ ´·¶½À´Ï´Ù." # S.C. °¡ ÀÌ ¹æ¹ýÀ» ¾Ë·ÁÁá½À´Ï´Ù. exit 0 |
dd ¸í·É¾î´Â µ¥ÀÌŸ ½ºÆ®¸²¿¡ ´ëÇØ ·£´ýÇÑ Á¢±ÙÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
echo -n . | dd bs=1 seek=4 of=file conv=notrunc # "conv=notrunc" ´Â Ãâ·Â ÆÄÀÏÀÌ À߸®Áö(truncated) ¾ÊÀ» °ÍÀ̶ó´Â ¿É¼ÇÀÔ´Ï´Ù. # Thanks, S.C. |
dd´Â Ç÷ÎÇdzª Å×ÀÔ µå¶óÀ̺ê(¿¹ A-5)°°Àº µð¹ÙÀ̽ºÀÇ raw µ¥ÀÌŸ³ª µð½ºÅ© À̹ÌÁö¿¡ Á÷Á¢ Á¢±ÙÇÒ ¼ö Àֱ⠶§¹®¿¡ º¸ÅëÀº ºÎÆ® Ç÷ÎÇǸ¦ ¸¸µé ¶§ ¾¹´Ï´Ù.
dd if=kernel-image of=/dev/fd0H1440
ºñ½ÁÇÏ°Ô, ½ÉÁö¾î "´Ù¸¥" OS ¿¡¼ Æ÷¸ËµÈ µð½ºÄÏÀ» ÇÏµå µð½ºÅ©ÀÇ À̹ÌÁö ÆÄÀÏ·Î Åë°·Î º¹»çÇÒ ¼ö ÀÖ½À´Ï´Ù.
dd if=/dev/fd0 of=/home/bozo/projects/floppy.img
dd´Â Àӽà ½º¿Ò ÆÄÀÏÀ» ÃʱâÈ Çϰųª(¿¹ 29-2) ·¥µð½ºÅ©¸¦ ÃʱâÈÇϴµ¥(¿¹ 29-3) ¾µ ¼ö ÀÖ½À´Ï´Ù. ÃßõÇÒ¸¸ÇÑ ¹æ¹ýÀº ¾Æ´ÏÁö¸¸ Àüü ÇÏµå µå¶óÀ̺ê ÆÄƼ¼ÇÀ» Àú·¹º§·Î º¹»çÇØ ³¾ ¼öµµ ÀÖ½À´Ï´Ù.
¾Æ¸¶µµ ½Ã°£ÀÌ ³²¾Æµµ´Â »ç¶÷µéÀº dd¸¦ ¾î¶»°Ô Àç¹ÌÀÖ°Ô ¾µ ¼ö ÀÖÀ»Áö °è¼Ó »ý°¢ÇÒ °Ì´Ï´Ù.
¿¹ 12-33. ÆÄÀÏÀ» ¾ÈÀüÇÏ°Ô Áö¿ì±â
#!/bin/bash # blotout.sh: ÆÄÀÏÀÇ ¸ðµç ±â·Ï Áö¿ì±â. # ÀÌ ½ºÅ©¸³Æ®´Â ´ë»ó ÆÄÀÏÀ» Áö¿ì±â Àü¿¡ #+ ÀÓÀÇÀÇ ¹ÙÀÌÆ®µé·Î µ¤¾î¾²°í, 0À¸·Î µ¤¾î¾²±â¸¦ ¹Ýº¹ÇÕ´Ï´Ù. # ÀÌ·¸°Ô ÇÏ°í ³ª¸é, µð½ºÅ© ¼½Å͸¦ ¹°¸®ÀûÀ¸·Î °Ë»çÇصµ #+ ¿ø·¡ÀÇ ÆÄÀÏ µ¥ÀÌŸ¸¦ ã¾Æ ³¾ ¼ö ¾ø½À´Ï´Ù. PASSES=7 # ÆÄÀÏ Á¶°¢(file-shredding) ´Ü°è. BLOCKSIZE=1 # /dev/urandom À¸·Î I/O ¸¦ ÇÒ ¶§ ÇÊ¿äÇÑ À¯´Ö ºí·° Å©±â. #+ ÀÌ Å©±â°¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÌ»óÇÑ °á°ú°¡ ³ª¿É´Ï´Ù. E_BADARGS=70 E_NOT_FOUND=71 E_CHANGED_MIND=72 if [ -z "$1" ] # ÆÄÀÏÀÌ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ½. then echo "»ç¿ë¹ý: `basename $0` filename" exit $E_BADARGS fi file=$1 if [ ! -e "$file" ] then echo "\"$file\" ÆÄÀÏÀ» ãÀ» ¼ö ¾øÀ½." exit $E_NOT_FOUND fi echo; echo -n "\"$file\" ÆÄÀÏÀ» Á¤¸»·Î ¿ÏÀüÈ÷ Áö¿ö ¹ö¸®°Ú½À´Ï±î(y/n)? " read answer case "$answer" in [nN]) echo "Çϱ⠽ȴٱ¸¿ä?" exit $E_CHANGED_MIND ;; *) echo "\"$file\" ÆÄÀÏÀ» ¿ÏÀüÈ÷ Áö¿ì´Â Áß.";; esac flength=$(ls -l "$file" | awk '{print $5}') # 5 ¹ø° Çʵ尡 ÆÄÀÏ ±æÀÌ. pass_count=1 echo while [ "$pass_count" -le "$PASSES" ] do echo "$pass_count ¹ø° ´Ü°è" sync # ¹öÆÛ Ç÷¯½¬. dd if=/dev/urandom of=$file bs=$BLOCKSIZE count=$flength # ÆÄÀÏÀ» ÀÓÀÇÀÇ ¹ÙÀÌÆ®µé·Î µ¤¾î¾¸. sync # ´Ù½Ã ¹öÆÛ Ç÷¯½¬. dd if=/dev/zero of=$file bs=$BLOCKSIZE count=$flength # ÆÄÀÏÀ» 0À¸·Î µ¤¾î¾¸. sync # ¶Ç ´Ù½Ã ¹öÆÛ Ç÷¯½¬. let "pass_count += 1" echo done rm -f $file # ¸¶Áö¸·À¸·Î, ¿ÂÅë µÚ¼¯ÀÌ°í Á¶°¢³ª ¹ö¸° ÆÄÀÏÀ» »èÁ¦. sync # ¸¶Áö¸· ¹öÆÛ Ç÷¯½¬. echo "\"$file\" ÆÄÀÏÀÌ ¿ÏÀüÈ÷ »èÁ¦µÇ¾ú½À´Ï´Ù."; echo # ÀÌ ½ºÅ©¸³Æ®´Â ÆÄÀÏÀ» ¿ÏÀüÈ÷ "Á¶°¢³»´Âµ¥"(shredding) ºñÈ¿À²ÀûÀÌ°í ´À¸° ¹æ¹ýÀ» #+ ¾´ °Í¸¸ »©¸é Á¤¸» ¾ÈÀüÇÕ´Ï´Ù. GNU "fileutils" ÆÐÅ°ÁöÁßÀÇ ÇϳªÀÎ #+ "shred" ¸í·É¾îµµ ¶È°°Àº ÀÏÀ» ÇÏÁö¸¸ Á» ´õ È¿À²ÀûÀÔ´Ï´Ù. # ÀÌ ½ºÅ©¸³Æ®·Î Áö¿öÁø ÆÄÀÏÀº ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î´Â "undelete"µÇ°Å³ª #+ º¹±¸ÇØ ³¾ ¼ö ¾ø½À´Ï´Ù. # ÇÏÁö¸¸... #+ ÀÌ·± °£´ÜÇÑ ¹æ¹ýÀº °úÇÐÀûÀÎ ºÐ¼®(forensic analysis)±îÁö ¸·¾Æ³»Áö´Â ¸øÇÕ´Ï´Ù. # Tom VierÀÇ "wipe" ÆÄÀÏ »èÁ¦ ÆÐÅ°Áö´Â ÀÌ °£´ÜÇÑ ½ºÅ©¸³Æ®º¸´Ù Á» ´õ #+ ¿ÏÀüÇÏ°Ô ÆÄÀÏÀ» Áö¿ö ÁÝ´Ï´Ù. # http://www.ibiblio.org/pub/Linux/utils/file/wipe-2.0.0.tar.bz2 # ÆÄÀÏ »èÁ¦¿Í º¸¾È¿¡ ´ëÇؼ Á» ´õ ÀÚ¼¼ÇÏ°Ô ¾Ë°í ½Í´Ù¸é, #+ Peter GutmannÀÇ ³í¹®À» Âü°íÇϱ⠹ٶø´Ï´Ù. #+ "Secure Deletion of Data From Magnetic and Solid-State Memory". # http://www.cs.auckland.ac.nz/~pgut001/secure_del.html exit 0 |
od(8Áø ´ýÇÁ, octal dump) ¸í·É¾î´Â ÀÔ·Â(ȤÀº ÆÄÀÏ)À» 8Áø¼ö³ª ´Ù¸¥ Áø¼ö·Î º¯È¯ÇØ ÁÝ´Ï´Ù. od´Â ¹ÙÀ̳ʸ® µ¥ÀÌŸ ÆÄÀÏÀ̳ª /dev/urandom °°Àº ÀÐÀ» ¼ö ¾ø´Â ½Ã½ºÅÛ µð¹ÙÀ̽º ÆÄÀÏÀ» Àаųª ó¸®ÇÏ·Á°í ÇÒ ¶§ ÇÊÅÍ·Î ¾µ ¼ö ÀÖ´Â À¯¿ëÇÑ ¸í·É¾îÀÔ´Ï´Ù. ¿¹ 9-21°ú ¿¹ 12-10¸¦ Âü°íÇϼ¼¿ä.
ÀÌÁø ÆÄÀÏÀ» 16Áø¼ö³ª 8Áø¼ö, 10Áø¼ö, ¾Æ½ºÅ°·Î ´ýÇÁ¸¦ ¶ä. ÀÌ ¸í·É¾î´Â À§¿¡¼ ¼³¸íÇß´ø od¿Í °ÅÀÇ ºñ½ÁÇÏÁö¸¸ ±×·¸°Ô ¾µ¸ð°¡ ÀÖÁö´Â ¾Ê½À´Ï´Ù.
¼û°ÜÁø º¸¹°ÀÎ m4´Â °·ÂÇÑ ¸ÅÅ©·Î ÇÁ·Î¼¼¼ [5] À¯Æ¿¸®Æ¼À̳ª °ÅÀÇ ¿ÏÀüÇÑ ¾ð¾î¿¡ °¡±õ½À´Ï´Ù. m4´Â »ç½Ç eval, tr, awkÀÇ ¸î°¡Áö ±â´ÉµéÀ» ¹¾î ³õÀº °ÍÀÔ´Ï´Ù.
[1] | »ç½Ç ÀÌ ¸í·É¾î´Â µ¥ºñ¾È ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼ ¾²´ø °ÍÀÔ´Ï´Ù. | |
[2] | ÇÁ¸°Æ® Å¥¶õ ÇÁ¸°Æ®¸¦ À§ÇØ "¼ø¼´ë·Î ´ë±â"ÇÏ°í ÀÖ´Â ÀÛ¾÷ ±×·ìÀ» ¸»ÇÕ´Ï´Ù. | |
[3] | Andy Vaught°¡ ¸®´ª½º Àú³Î¿¡ 1997³â 9¿ù¿¡ ±â°íÇÑ Introduction to Named Pipes¶õ ¾ÆÁÖ ÈǸ¢ÇÑ ¹®¼¸¦ Âü°íÇϼ¼¿ä. | |
[4] | EBCDIC (¹ßÀ½Àº "¿¦½Ãµñ", ebb-sid-ic) Àº Extended Binary Coded Decimal Interchange Code ÀÇ Ã¹ ±ÛÀÚ¸¸ µý µÎ¹®ÀÚ¾îÀÔ´Ï´Ù. IBM ÀÇ µ¥ÀÌŸ Æ÷¸ËÀ¸·Î ´õ ÀÌ»ó ¾²ÀÌÁö ¾Ê½À´Ï´Ù. conv=ebcdic ¿É¼ÇÀÇ ÀÌ»óÇÑ ÀÀ¿ëÀ¸·Î´Â ¾ÆÁÖ ºü¸£°í °£´ÜÇÏÁö¸¸ ±×·¸°Ô ¾ÈÀüÇÏÁö´Â ¾ÊÀº ÅؽºÆ® ÆÄÀÏ ÀÎÄÚ´õ·Î ¾µ ¼ö ÀÖ½À´Ï´Ù.
| |
[5] | ¸ÅÅ©·Î´Â ¸í·É¾î ¹®ÀÚ¿À̳ª ¸Å°³º¯¼ö¿¡ µû¶ó ¿©·¯°¡Áö ¿¬»êÀ¸·Î È®ÀåµÇ´Â ½Éº¼¸¯ »ó¼öÀÔ´Ï´Ù. |