심볼릭 링크가 연결되어 있는 원본의 파일명을 얻는다.
#include <unistd.h> int readlink(const char *path, char *buf, size_t bufsize);
readlink 는 심볼릭:::링크(:12)인 path 가 가르키는 원본의 파일이름을 돌려준다. 알아낸 원본파일의 이름은 buf 에 저장된다. bufsize 는 buf 의 저장 크기이다.
만약 buf 의 크기가 원본파일의 이름을 담기에 충분히 크지 않다면 나머지 부분은 잘리게 된다. readlink 는 원본파일의 완전한 경로 를 가져온다.
성공할경우 버퍼에 들어 있는 문자의 갯수가 반환되며, 에러가 발생했다면 -1 이 리턴되며 적당한 errno 코드가 설정된다.
경로가 디렉토리(:12)가 아니다.
bufsize 가 양수가 아닐경우
경로이름이 너무 길경우
명명된 파일이 존재하지 않을경우
path 에 접근하기 위한 디렉토리 권한이 없을경우
파일이 심볼릭 링크가 아닐때
#include <unistd.h> int main() { char buf[255]; memset(buf, 0x00, 255); readlink("/proc/2184/exe", buf, 255); printf("%s\n", buf); }
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
1장. readlink(2)
심볼릭 링크가 연결되어 있는 원본의 파일명을 얻는다.
1.1절. 사용법
1.2절. 설명
readlink 는 심볼릭:::링크(:12)인 path 가 가르키는 원본의 파일이름을 돌려준다. 알아낸 원본파일의 이름은 buf 에 저장된다. bufsize 는 buf 의 저장 크기이다.
만약 buf 의 크기가 원본파일의 이름을 담기에 충분히 크지 않다면 나머지 부분은 잘리게 된다. readlink 는 원본파일의 완전한 경로 를 가져온다.
1.3절. 반환값
성공할경우 버퍼에 들어 있는 문자의 갯수가 반환되며, 에러가 발생했다면 -1 이 리턴되며 적당한 errno 코드가 설정된다.
1.4절. 에러
경로가 디렉토리(:12)가 아니다.
bufsize 가 양수가 아닐경우
경로이름이 너무 길경우
명명된 파일이 존재하지 않을경우
path 에 접근하기 위한 디렉토리 권한이 없을경우
파일이 심볼릭 링크가 아닐때
1.5절. 예제
Recent Posts
Archive Posts
Tags