LINK
Section: 리눅스 프로그래머 매뉴얼 (2)
Updated: 1997년 12월 10일
Index
Return to Main Contents
이름
link - 파일에 대한 새로운 이름을 만든다.
사용법
#include <unistd.h>
int link(const char *oldpath, const char *newpath);
설명
link는
존재하는 파일에 새로운 연결(하드 링크로 알려진)을 만든다.
만일
newpath가
존재한다면 그것은 덮어 씌우지 않는다.
새로운 이름은 어떠한 작동에서든지 예전 것과 동일하게 사용된다;
두 개의 이름은 같은 파일(같은 허가권과 소유권)을 참조하며 어떤 것이
`원본'이라고 말하기 어렵다.
반환값
성공시, 0을 반환한다. 에러시, -1을 반환하며,
errno는
적당한 값으로 설정된다.
에러
- EXDEV
-
oldpath 과 newpath가
같은 파일 시스템에 있지 않다.
- EPERM
-
oldpath 과 newpath을
포함하는 파일 시스템은 하드 연결의 생성을 지원하지 않는다.
- 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@soback.kornet.net>, 2000년 5월 28일
Index
- 이름
-
- 사용법
-
- 설명
-
- 반환값
-
- 에러
-
- 주의
-
- 호환
-
- 버그
-
- 관련 항목
-
- 역자
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:00 GMT, March 25, 2004