설명

링크를 생성합니다. link()는 파일에 대해서만 새 이름을 생성하며, 생성된 이름으로 같은 파일을 사용할 수 있습니다. 즉, 리눅스에서는 하나의 파일에 여러 이름을 지정할 수 있으며, 생성된 이름 어느 것으로 파일 내용을 수정하면 다른 이름으로 열어 보아도 수정된 내용으로 볼 수 있습니다.

헤더 unistd.h
형태 int link( const char *oldpath, const char *newpath)
인수 char *oldpath 이미 존재하는 파일 이름
char *newpath 만들고자하는 링크 이름
반환 int 성공:0 실패:-1
예제
#include <stdio.h>
#include <unistd.h>

int main()
{
   if ( -1 == link( "test.c", "sample.c"))
      printf( "링크 생성 실패n");
}
]$ ./a.out
]$ ls
a.out  sample.c  test  test.c

   마치 test.c를 sample.c로 복사된듯 보입니다만
   test.c를 수정하신 후 sample.c를 보시면 같은 파일임을 알 수 있습니다.