K 개발자
링크 파일 생성 본문
하드 링크
하드 링크hard link는 파일에 접근할 수 있는 파일명을 새로 생성하는 것이다.
하드 링크는 기존 파일과 동일한 inode를 사용한다.
하드 링크를 생성하면 inode에 저장된 링크 개수link count가 증가한다.
하드 링크 생성 : link(2)
#include <unistd.h>
int link(const char *existing, const char *new);
// existing : 기존 파일의 경로, new : 새로 생성할 링크의 경로
심볼릭 링크
심볼릭 링크symbolic link는 기존 파일에 접근할 수 있는 다른 파일을 만든다.
기존 파일과 다른 inode를 사용하며, 기존 파일의 경로를 저장한다.
심볼릭 링크 생성 : symlink(2)
#include <unistd.h>
int symlink(const char *name1, const char *name2);
// name1 : 기존 파일의 경로, name2 : 새로 생성할 링크의 경로
심볼릭 링크의 정보 검색 : lstat(2)
#include <sys/types.h>
#include <sys/stat.h>
int lstat(const char *path, struct stat *buf);
// path : 심볼릭 링크의 경로, buf : 검색한 파일 정보를 저장할 구조체 주소
심볼릭 링크의 내용 읽기 : readlink(2)
#include <unistd.h>
ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsiz);
// path : 심볼릭 링크의 경로, buf : 읽어온 내용을 저장할 버퍼, bufsiz : 버퍼의 크기
원본 파일의 경로 읽기 : realpath(3)
#include <stdlib.h>
char *realpath(const char *restrict file_name, char *restrict resolved_name);
// file_name : 심볼릭 링크명, resolved_name : 경로명을 저장할 버퍼 주소
'유닉스(Unix) > 시스템 프로그래밍' 카테고리의 다른 글
시스템 관련 정보 검색과 설정 (0) | 2021.08.16 |
---|---|
디렉토리 관련 함수 (0) | 2021.08.16 |
파일 접근 권한 제어 (0) | 2021.08.16 |
파일 정보 검색 (0) | 2021.08.16 |
유닉스 파일의 특징 (0) | 2021.08.16 |
Comments