C,C++ & Linux

C/C++ symlink(2)

KyooDong 2020. 5. 18. 22:49
728x90

symlink 함수 기능

파일의 심볼릭링크를 만들어주는 함수입니다.

함수 원형

#include <unistd.h>

int symlink(const char *existingpath, const char *newpath);

매개변수

existingpath

심볼릭 링크를 만들고자 하는 대상 파일의 경로

 

newpath

심볼릭 링크 파일의 경로

반환값

성공 시 0 리턴

에러 시 -1 리턴하고 errno 설정

예제

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>

int main(int argc, char *argv[]) {

    // argv[1]의 심볼릭 링크 파일인 argv[2] 파일 생성
    if (symlink(argv[1], argv[2]) < 0) {
        fprintf(stderr, "%s symlink error\n", argv[1]);
        exit(1);
    }

    printf("%s -> %s\n", argv[1], argv[2]);
    exit(0);
}

 

결과

 

ls -l 로 sym_link.txt 를 보면 어느 파일을 가리키고 있는지 보입니다.

 

 

 

 

 

 

 

 

 

 

리눅스시스템프로그래밍 저자 : 홍지만
https://book.naver.com/bookdb/book_detail.nhn?bid=14623672

책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)