함수 기능
symlink
심볼릭 링크를 생성하는 시스템호출
link를 통해 만들어진 하드 링크의 한계를 해결하기 위해 만들어진 것
readlink
심볼릭 링크를 읽는 시스템 호출
심볼릭링크
링크 연결로 원본 파일을 직접 사용하는 것과 같은 효과를 내는 링크
함수 원형
#include <unistd.h>
int symlink(const char *existingpath, const char *newpath);
ssize_t readlink(const char *filepath, void *buf, size_t bufsize);
함수 파라메터
actualpath
실제 파일의 경로 이름, 존재하지않아도됨
sympath
심볼릭 링크의 이름
pathname
링크로 연결된 원래파일
bufsize
문자열 저장될 버퍼크기
함수 예제
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main(int argc, char *argv[]){
if(argc !=3){
fprintf(stderr,"usage : %s<actualname><symname>\n",argv[0]);
exit(1);
}
if(symlink(argv[1],argv[2])<0){
fprintf(stderr,"symlink error\n");
exit(1);
}
else
printf("symlink: %s-> %s\n",argv[2],argv[1]);
exit(0);
}
symlink의 인자위치 주의
함수 결과
리눅스시스템 프로그래밍 - 홍지만 저
교재 내에 있는 예제를 바탕으로 작성한 글 입니다.
'C & LINUX' 카테고리의 다른 글
C / LINUX chdir(2) fchdir(2) (0) | 2022.05.02 |
---|---|
C / LINUX mkdir(2) rmdir(2) (0) | 2022.05.02 |
C / LINUX remove(3) rename(2) (0) | 2022.05.02 |
C / LINUX putenv(3) (0) | 2022.05.02 |
C / LINUX link() unlink() (0) | 2022.05.02 |