본문 바로가기

Programming/C/C++

C/Linux/링크 파일 생성

반응형
링크 파일 생성
- 이미 있는 파일이나 디렉토리에 접근할 수 있는 새로운 이름
- 같은 파일/디렉토리지만 여러 이름으로 접근할 수 있게 한다
- 하드링크 : 기존 파일과 동일한 inode 사용, inode에 저장된 링크 개수 증가
- 심볼릭 링크 : 기존 파일에 접근하는 다른 파일 생성(다른 inode 사용)

- 하드링크 생성 : link(2)
  • 두 경로는 같은 파일시스템에 존재해야 함
>> CentOS 파일 시스템 변경됨 :XFS
  • cat /etc/fstab

link 함수 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
int main(void) {
    struct stat buf;
    stat("unix.txt"&buf);
    printf("Before Link Count = %d\n", (int)buf.st_nlink);
    link("unix.txt""unix.ln");
    stat("unix.txt"&buf);
    printf("After Link Count = %d\n", (int)buf.st_nlink);
    return 0;
}
 

실행 결과

- 심볼릭 링크 생성 : symlink(2)

sysmlink 함수 사용
1
2
3
4
5
6
7
8
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
 
int main(void) {
    symlink("unix.txt""unix.sym");
    return 0;
}

실행 결과


반응형

'Programming > C/C++' 카테고리의 다른 글

C/Linux/디렉토리 관련 함수  (0) 2017.11.09
C/Linux/심볼릭 링크 정보 검색  (0) 2017.11.09
C/Linux/파일 접근권한 변경  (0) 2017.11.09
C/Linux 파일 접근 권한 검색  (0) 2017.11.02
C/Linux 파일 종류 검색  (0) 2017.11.02