전체 글

전체 글

    C / LINUX mkdir(2) rmdir(2)

    함수 기능 mkdir 디렉토리를 생성 시스템호출 rmdir 디렉토리를 삭제 시스템 호출 함수 원형 #include #include #include int mkdir(const char *filepath, mode_t mode); int rmdir(const char *filepath) 함수 파라메터 윈도우에서 폴더 == 리눅스에서 디렉토리 filepath 디렉토리 경로 mode ex)0666같이 어떤 mode로 디렉토리 만들지 리눅스시스템 프로그래밍 - 홍지만 저 교재 내에 있는 예제를 바탕으로 작성한 글 입니다.

    C / LINUX symlink() readlink()

    함수 기능 symlink 심볼릭 링크를 생성하는 시스템호출 link를 통해 만들어진 하드 링크의 한계를 해결하기 위해 만들어진 것 readlink 심볼릭 링크를 읽는 시스템 호출 심볼릭링크 링크 연결로 원본 파일을 직접 사용하는 것과 같은 효과를 내는 링크 함수 원형 #include int symlink(const char *existingpath, const char *newpath); ssize_t readlink(const char *filepath, void *buf, size_t bufsize); 함수 파라메터 actualpath 실제 파일의 경로 이름, 존재하지않아도됨 sympath 심볼릭 링크의 이름 pathname 링크로 연결된 원래파일 bufsize 문자열 저장될 버퍼크기 함수 예제 #i..

    C / LINUX remove(3) rename(2)

    함수 기능 remove 파일이나 디렉토리를 unlink하는 시스템 호출, root권한 없는 unlink rename 파일 이름을 변경 할 때 호출하는 시스템 호출 함수 원형 #include int remove(const char *filepath); int rename(const char *oldname const char *newname); 리턴 값 : 성공시 0 에러 시 -1 함수 파라메터 filepath 파일의 경로 oldname 바뀌기전 구 이름 newname 바꿀 새로운 이름 함수 예제 remove #include #include #include int main(int argc, char *argv[]){ if(argc !=3){ fprintf(stderr,"usage : %s\n",argv[0..

    C / LINUX putenv(3)

    함수 기능 기존 환경 변수의 값을 변경하거나 새로운 환경변수를 등록 환경변수란? 환경변수란 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임 함수 원형 #include int putenv(const char *str); 함수 파라메터 str 이름 = 값 의 형식으로 처리 함수 예제 putenv1 #include #include #include #include void ssu_addone(void); extern char **environ; char glob_var[]="HOBBY=swimming"; int main(void){ int i; for(i = 0; environ[i]!=NULL; i++){ printf("environ[%d] :%s\n",i,environ[i]); } pu..

    C / LINUX link() unlink()

    함수 기능 link 기존 파일에 대한 링크를 생성하는 시스템호출 하드링크 unlink 기존 디렉토리 항목의 링크를 제거하는 시스템호출 함수 원형 #include int link(const char *existingpath, const char *newpath); int unlink(const char *filepath); 리턴 값 : 성공 시 0 에러시 -1 함수 파라메터 existingpath 현존하는 경로 newpath 새롭게 만들 경로 filepath 파일경로 함수 예제 link #include #include #include int main(int argc, char *argv[]){ if(argv

    C / LINUX chown() fchown() lchown()

    함수 기능 파일의 소유자 id와 그룹 사용자 id를 변경하기 위한 시스템호출 함수 함수 원형 #include #include int chown(const char *filepath, uid_t owner, gid_t group); int fchown(int fd, uid_t owner, gid_t group); int lchown(const char *filepath, uid_t owner, gid_t group); 함수 파라메터 pathname 소유자를 변경할 파일의 경로 filedes 파일 디스크립터 owner 파일의 새 소유자 group 파일의 새그룹 함수 예제 #include #include #include #include #define MODE_EXEC (S_IXUSR|S_IXGRP|S_IXOT..

    C / LINUX chmod(2) fchmod(2)

    함수 기능 파일의 접근 권한을 변경하는 함수 함수 원형 #include #include int chmod(const char *filepath, mode_t mode); int fchmod(int fd, mode_t mode); 리턴 값 : 성공 시 0 에러시 -1 함수 파라메터 filepath 파일의 경로이름 mode umask의 cmask와 동일 함수 예제 chmod1 #include #include #include #include int main(void){ struct stat statbuf; char *fname1 = "ssu_file1"; char *fname2 = "ssu_file2"; if(stat(fname1,&statbuf)

    C / LINUX umask()

    함수 기능 파일 또는 디렉토리가 생성될 때에 불필요하게 많은 권한을 갖지 않도록 통제하는 함수 함수 원형 #include #include Mode_t umask(mode_t cmask) 리턴 값 : 이전의 파일 모드 생성 마스크 함수 파라메터 cmask 원하는 mask 값 함수 예제 #include #include #include #include #define RW_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) int main(void){ char *fname1="ssu_file1"; char *fname2="ssu_file2"; umask(0); if(creat(fname1,RW_MODE)

    C / LINUX access()

    함수 기능 인자로 지정한 파일에 대해 사용자 , 프로세스 접근가능한지 판단하는 시스템호출 함수 원형 #include int access(const char *pathname, int mode) 리턴값 : 성공시 0 에러시 -1 리턴 함수 파라메터 pathname 인자로 지정한 파일 mode R_OK, W_OK, X_OK, F_OK 파일존재여부판정 함수 예제 access1 #include #include #include int main(int argc, char *argv[]){ int i; if(argc

    C / LINUX atexit(3)

    함수 기능 exit() 함수가 실행될 때 자동으로 실행될 함수들을 등록하는 함수 함수 원형 #include int atexit(void (*__func__)(void)); 함수 파라메터 __func__ 함수 포인터 함수 예제 #include #include void ssu_out(void); int main(void){ if(atexit(ssu_out)){ fprintf(stderr, "atexit error\n"); exit(1); } exit(0); } void ssu_out(void){ printf("atexit succeeded!\n"); } 리눅스시스템 프로그래밍 - 홍지만 저 교재 내에 있는 예제를 바탕으로 작성한 글 입니다.