link - ÆÄÀÏ¿¡ ´ëÇÑ »õ·Î¿î À̸§À» ¸¸µç´Ù.
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=link">link</a>(2)

1장. link(2)

차례
1.1절. »ç¿ë¹ý
1.2절. ¼³¸í
1.3절. ¹Ýȯ°ª
1.4절. ¿¡·¯
1.5절. ¿¹Á¦

ÆÄÀÏ(:12)¿¡ ´ëÇÑ »õ·Î¿î À̸§À» ¸¸µç´Ù.


1.1절. »ç¿ë¹ý

#include <unistd.h>

int link(const char *oldpath, const char *newpath);
		


1.2절. ¼³¸í

link´Â oldpath ·Î Á¸ÀçÇÏ´Â ÆÄÀÏ¿¡ ´ëÇØ¼­ »õ·Î¿î ¿¬°á - º¸Åë Çϵ帵ũ ¶ó°í ÇÑ´Ù -À» ¸¸µç´Ù.

¸¸¾à newpath °¡ ÀÌÁö Á¸ÀçÇϰí ÀÖ´Ù¸é, µ¤¾î¾²Áö ¾Ê´Â´Ù.

À̰ÍÀº copy ¿Í´Â ´Ù¸£´Ù. 2°³ÀÇ ÆÄÀÏÀº °°Àº inode ·Î ¼­·Î ¿¬°áµÇ¾î ÀÖ´Ù. ±×·¯¹Ç·Î link ´Â ¼­·Î ´Ù¸¥ ÀåÄ¡µé »çÀÌ¿¡´Â »ç¿ëÀÌ ºÒ°¡´ÉÇÏ´Ù. ¼­·Î ´Ù¸¥ÀåÄ¡(ÆÄÀϽýºÅÛ) »çÀ̸¦ ¿¬°áÇÏ·Á¸é symlink(2) ¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.


1.3절. ¹Ýȯ°ª

¼º°øÇÒ°æ¿ì 0À» ½ÇÆÐÇßÀ»°æ¿ì¿¡´Â -1À» ¹ÝȯÇϸç, Àû´çÇÑ errno °ªÀ» ¼³Á¤ÇÑ´Ù.


1.4절. ¿¡·¯

EXDEV

oldpath ¿Í newpath°¡ °°Àº ÆÄÀϽýºÅÛ¿¡ ÀÖÁö ¾ÊÀ»°æ¿ì, oldpath ¿Í newpath´Â °°Àº ÆÄÀϽýºÅÛ¿¡ ÀÖ¾î¾ß ÇÑ´Ù.

EPERM

oldpath ¿Í newpath¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀϽýºÅÛÀº Çϵ帵ũ »ý¼ºÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.

EACCESS

newpath¸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮¿¡ ´ëÇÑ ¾²±â ±ÇÇÑÀÌ ¾ø´Ù. ȤÀº newpath ÀÇ µð·ºÅ丮 ±¸¼º¿ä¼ÒÁß ¾î´À Çϳª¿¡ ´ëÇØ¼­ ½ÇÇà Çã°¡±ÇÀ» °¡Áö°í ÀÖÁö ¾ÊÀ»°æ¿ì

ENOENT

oldpath ȤÀº newpath ¿¡ ÀÖ´Â µð·ºÅ丮 ±¸¼º¿ä¼Ò°¡ Á¸ÀçÇÏÁö ¾ÊÀ»°æ¿ì

EROFS

ÀϱâÀü¿ë ÆÄÀϽýºÅÛÀϰæ¿ì

EEXIST

newpath °¡ ÀÌ¹Ì Á¸ÀçÇÒ¶§


1.5절. ¿¹Á¦

#include <unistd.h>

#include <string.h>
#include <stdio.h>

int main(int argc, char **argv)
{
	if ( argc != 3)
	{
		printf ("Usage: ./link [¿øº»ÆÄÀÏ] [º¹»çÆÄÀÏ]\n");
		return -1;
	}	

	if(access(argv[1], F_OK) != 0)	
	{
		printf("¿øº»ÆÄÀÏÀÌ ¾ø½À´Ï´Ù\n");
		return -1;
	}

	if( access (argv[2], F_OK) == 0)
	{
		printf("ÀÌ¹ÌÆÄÀÏÀÌ Á¸ÀçÇÕ´Ï´Ù\n");
		return -1;
	}

	if (link (argv[1], argv[2]) == -1)
       {
		perror("link error ");
       }
}
		

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.