Manpages

이 름

link − 파 일 에 대 한 새 로 운 이 름 을 만 든 다 .

사 용 법

#include <unistd.h>

int link(const char *oldpath, const char *newpath);

설 명

link는 존 재 하 는 파 일 에 새 로 운 연 결 (하 드 링 크 로 알 려 진 )을 만 든 다 .

만 일 newpath가 존 재 한 다 면 그 것 은 덮 어 씌 우 지 않 는 다 . 새 로 운 이 름 은 어 떠 한 작 동 에 서 든 지 예 전 것 과 동 일 하 게 사 용 된 다 ; 두 개 의 이 름 은 같 은 파 일 (같 은 허 가 권 과 소 유 권 )을 참 조 하 며 어 떤 것 이 ’원 본 ’이 라 고 말 하 기 어 렵 다 .

반 환 값

성 공 시 , 0을 반 환 한 다 . 에 러 시 , −1을 반 환 하 며 , errno는 적 당 한 값 으 로 설 정 된 다 .

에 러

EXDEV

oldpathnewpath가 같 은 파 일 시 스 템 에 있 지 않 다 .

EPERM

oldpathnewpath을 포 함 하 는 파 일 시 스 템 은 하 드 연 결 의 생 성 을 지 원 하 지 않 는 다 .

EFAULT

oldpath 또 는 newpath 가 접 근 할 수 없 는 주 소 공 간 을 가 리 키 고 있 다 ."

EACCES

newpath를 포 함 하 는 디 렉 토 리 에 대 한 쓰 기 접 근 이 프 로 세 스 의 유 효 uid를 허 용 하 지 않 거 나 oldpath 또 는 newpath디 렉 토 리 중 하 나 가 탐 색 (실 행 ) 허 가 권 을 가 지 고 있 지 않 다 .

ENAMETOOLONG

oldpath 또 는 newpath가 너 무 길 다 .

ENOENT

oldpath 또 는 newpath에 있 는 디 렉 토 리 요 소 가 존 재 하 지 않 거 나 심 볼 릭 링 크 가 있 다 .

ENOTDIR

oldpath 또 는 newpath에 서 디 렉 토 리 로 사 용 된 요 소 가 사 실 은 디 렉 토 리 가 아 니 다 .

ENOMEM

이 용 할 수 있 는 커 널 메 모 리 가 충 분 하 지 않 다 .

EROFS

파 일 이 읽 기 -전 용 파 일 시 스 템 에 있 다 .

EEXIST

newpath가 이 미 존 재 한 다 .

EMLINK

oldpath를 참 조 하 는 파 일 이 연 결 할 수 있 는 최 대 수 이 다 .

ELOOP

너 무 많 은 심 볼 릭 링 크 를 oldpath 또 는 newpath에 서 만 났 다 .

ENOSPC

파 일 을 포 함 하 는 장 치 에 새 디 렉 토 리 를 위 한 공 간 이 더 이 상 없 다 .

EPERM

oldpath가 디 렉 토 리 이 다 .

EIO

I/O에 러 가 발 생 했 다 .

주 의

link에 의 해 만 들 어 진 하 드 연 결 은 서 로 다 른 파 일 시 스 템 사 이 로 연 결 할 수 없 다 . 파 일 시 스 템 사 이 를 연 결 할 려 면 symlink 를 사 용 해 라 .

호 환

SVr4, SVID, POSIX, BSD 4.3, X/OPEN. SVr4 문 서 는 ENOLINK 그 리 고 EMULTIHOP 에 러 조 건 을 추 가 적 으 로 기 술 했 다 ; POSIX.1는 ELOOP를 문 서 화 하 지 않 았 다 . X/OPEN 은 EFAULT, ENOMEM 또 는 EIO를 문 서 화 하 지 않 았 다 .

버 그

NFS 파 일 시 스 템 에 서 , NFS 서 버 가 연 결 생 성 을 하 고 그 렇 게 했 다 는 것 을 말 하 기 전 에 죽 을 경 우 반 환 값 은 틀 릴 수 있 다 . 연 결 이 생 성 됐 는 지 발 견 하 려 면 stat(2)를 사 용 해 라 .

관 련 항 목

symlink(2), unlink(2), rename(2), open(2), stat(2), ln(1)

역 자

정 강 훈 <skyeyes [AT] soback.net>, 2000년 5월 28일