1993.1.18

SUBJECT: Symbolic/Hard linkÀÇ ºñ±³

CONTENTS:
0. Introduction
1. Hard link
1) "link"ÀÇ °³³ä:
2) hard link¶õ ?
3) hard linkÀÇ Æ¯¼º
2. Symbolic link

DESCRIPTION:
0. UNIXÀÇ file typeÀ» ¾ê±âÇÒ ¶§,
ordinary, directory, special, socket, FIFOs¿Í ÇÔ²²
symbolic link, hard linkµµ ¾ð±ÞµÈ´Ù.
symbolic/hard link¸¦ file typeÀ¸·Î ÀÌÇØÇÏ·Á¸é ¿ì¼± °³³ä°ú Ư¡À» ÀÌÇØÇØ¾ß ÇÒ °Í °°´Ù.

1. Hard link
1) "link"ÀÇ °³³ä:
- "link"¶ó´Â °³³äÀ» ÀÌÇØÇÏ´Â ÇÑ ¹æ¹ýÀº
filesystemÀÇ directory°¡ ¾î¶»°Ô °èÃþÀûÀ¸·Î ±¸Á¶¸¦ Çü¼ºÇÏ°í ÀÖÀ¸¸ç
¾î¶»°Ô "cd" command·Î ¿©·¯ directory¸¦ À̵¿ÇÒ ¼ö Àִ°¡¸¦ ÀÌÇØÇÏ´Â °ÍÀÌ´Ù.
- °¢ directory´Â ±âº»ÀûÀ¸·Î ÃÖ¼ÒÇÑ µÎ °³ÀÇ fileÀ» °¡Áø´Ù.
¨ç directory ÀÚ½ÅÀ» Ç¥ÇöÇÏ´Â dot(.)
¨è ÀÚ½ÅÀÇ parent directory¸¦ Ç¥ÇöÇÏ´Â dot-dot(..)
- ÀÌ µÎ fileÀÌ directoryµéÀ» ¿¬°áÇÏ¿© filesystemÀÇ °èÃþÀû ±¸Á¶¸¦ Çü¼ºÇÑ´Ù.
°¢ directoryÀÇ parent¿Í sub-directory¸¦ dot(.)¿Í dot-dot(..) file·Î ¿¬°á ÇÏ´Â °ÍÀÌ´Ù.
Áï ¨ç 'current directoryÀÇ dot-dot(..) file'ÀÇ inode
= 'parent directoryÀÇ dot(.) file'ÀÇ inode
¨è 'current directoryÀÇ dot(.) file'ÀÇ inode
= 'sub directoryÀÇ dot-dot(..) file'ÀÇ inode
- sub directory°¡ ¿©·¯ °³ÀÎ directoryÀÇ °æ¿ì
sub directoryµéÀÇ dot-dot(..) fileÀÇ inode´Â
À̵é parent directoryÀÇ dot(.) fileÀÇ inode¿Í °°À» °ÍÀÌ´Ù.
´Þ¸® Ç¥ÇöÇϸé, sub directoryµéÀÇ °¢ 'drectory entry'´Â
current directoryÀÇ dot-dot(..) file Áï parenet directoryÀÇ inode¸¦ °¡¸®Å°´Â °ÍÀÌ´Ù.
- ÀÌó·³ 'ÇϳªÀÇ inode'¿¡ '¿©·¯ °³ÀÇ (direcory) file'ÀÌ '¿¬°á(link)'µÇ¾î ÀÖÀ» ¼ö ÀÖ°í,
ÀÌ ¶§ '¿¬°á(link)µÈ °¹¼ö'¸¦ 'link °¹¼ö'¶ó ÇÑ´Ù.
"ls -l"À» »ç¿ëÇϸé directoryµéÀÌ ÃÖ¼ÒÇÑ 2°³ ÀÌ»óÀÇ 'link °¹¼ö'¸¦ °¡Áö°í ÀÖÀ½À»
È®ÀÎÇÒ ¼ö ÀÖ´Ù.
2) hard link¶õ ?
- À§¿¡¼­ directory¸¦ µé¾î ¼³¸íÇÑ linkÀÇ °³³ä¼­
¿©·¯°³ÀÇ (directory) fileµéÀÌ
ÇÑ °³ÀÇ inode number¸¦ »ç¿ëÇØ ¼­·Î ¿¬°áµÉ ¼ö ÀÖÀ½À» º¸¾Ò´Ù.
- hard link¶õ ÀÌ·¯ÇÑ link¿Í °°Àº °³³äÀÌ´Ù.
ÇÑ fileÀÇ inode¿¡ ¿©·¯ fileµéÀÇ inode¸¦ ÀÏÄ¡½ÃÅ´À¸·Î½á
¼­·Î¸¦ ¿¬°á(link)½ÃÅ°´Â ¹æ½ÄÀÎ °ÍÀÌ´Ù.
- hard link´Â 'directory file'ÀÇ link ±¸Á¶¸¦ 'ordinary file'·Î È®Àå½ÃŲ °ÍÀÌ´Ù.
Áï "ln"À̶ó´Â command¸¦ »ç¿ëÇÏ¿©
½ÇÁ¦ (hard) linkµÈ fileµéÀ» »ý¼ºÇÔÀ¸·Î½á 'link¶ó´Â ³»ºÎÀû Ç¥Çö'À»
'hard link file (type)'À¸·Î ¹Ù²Ù¾î ÁÖ´Â °ÍÀÌ´Ù.
- hard link¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº
symbolic linkó·³ filename¿¡¼­ È®ÀÎÇÒ ¼ö ÀÖ´Â °ÍÀÌ ¾Æ´Ï°í,
'link °¹¼ö'°¡ 2 ÀÌ»óÀΰ¡¸¦ È®ÀÎÇÏ°í
inode number°¡ °°Àº fileÀ» ã¾Æ¾ß ÇÏ´Â °ÍÀÌ´Ù.
3) hard linkÀÇ Æ¯¼º
- hard link´Â fileÀÌ Á¸ÀçÇÒ ¶§¸¸ ¸¸µé¾î Áú ¼ö ÀÖ´Ù.
Áï inode°¡ ¹Ì¸® Á¸ÀçÇÏ°í ÀÖ¾î¾ß 'µ¿ÀÏ inode'¸¦ °®´Â fileÀ» ¸¸µé ¼ö Àִ°Í.
- filesystemÀ» crossÇÏ¿© hard link¸¦ Çü¼ºÇÒ ¼ö´Â ¾ø´Ù.
A filesystem¿¡¼­ B filesystem¿¡ ÀÖ´Â file(inode number¸¦ 2577À̶ó ÇÑ´Ù¸é)·Î
hard link¸¦ ½ÃµµÇÑ´Ù ÇÔÀº B filesystemÀÇ file inode number 2577°ú °°Àº inode number¸¦
A filesystemÀÇ hard linkµÈ fileÀÌ °¡Áø´Ù´Â °Í.
±×·¯³ª ½ÇÁ¦ A filesystemÀÇ inode number 2577Àº B filesystemÀÇ 2577°ú´Â ¹«°üÇÑ °ÍÀÌ´Ù.
- super user¸¸ÀÌ directory¸¦ °¡¸®Å°´Â »õ·Î¿î (hard) link¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù.
ÀÌ´Â filesystemÀÌ loopingÀ» µ¹°Ô²û linkµÉ ¼ö ÀÖ´Â °¡´É¼ºÀÌ Àֱ⠶§¹®ÀÌ´Ù.
- hard linkµÈ fileÁß Çϳª¸¦ Áö¿ü´Ù°í ÇÏ¿© ½ÇÁ¦ ±× fileÀ» Áö¿ü´Ù°í ÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù.
hard linkµÇ¾î ÀÖ´Â ´Ù¸¥ fileÀÌ µ¿ÀÏ inode¸¦ »ç¿ëÇϱ⠶§¹®ÀÌ´Ù.
fileÀ» Áö¿ü´Ù ÇÔÀº ±× fileÀÌ »ç¿ëÇÏ°í ÀÖ´Â indoe°¡ releaseµÊÀ» ÀǹÌÇÑ´Ù.

2. Symbolic link











Revision History
Created on Jan. 18 ,1993
Retrieved from http://kkanari.org/wiki/wiki.php/hard_symbolic_link
last modified 2005-07-11 11:06:08