====== UNIX 시스템 함수 핵심 가이드 ====== 리눅스를 포함한 유닉스 시스템 상에서 C 언어로 프로그래밍 시, 사용가능한 시스템 함수들에 대한 설명을 담고 있다. 차후 프로그래밍을 할 때, 레퍼런스 역할을 할 것으로 기대한다. ====== 시스템 함수 목록 ====== 여기서 다룰 시스템 함수 목록은 아래 표와 같다. | 번호 | 함수명 | 설명 | | 1 | abort | 열린 파일 닫고 프로세스 정보 저장 | | 2 | accept | 클라이언트의 요청 수락(통신 관련 함수) | | 3 | access | 파일에 대한 접근 권한 설정 | | 4 | alarm | 알람 시그널 발생 | | 5 | assert | 디버깅할 때 유용(조건에 따른 수행 가능) | | 6 | atexit | 여러 개의 수행 함수 등록 | | 7 | bind | 소켓 식별자와 네트워크 주소 연결(통신 관련 함수) | | 8 | calloc | 메모리할당(객체 수 지정 가능) | | 9 | cfsetispeed, cfsetospeed, cfgetispeed, cfgetospeed | 단말기 입출력 속도 설정 | | 10 | chdir, fchdir | 디렉토리 변경 | | 11 | chmod | 파일에 대한 접근 권한 변경(파일명 이용) | | 12 | chroot | 최상위 디렉토리로 설정 | | 13 | close | 파일 종료 | | 14 | closedir | 디렉토리 종료 | | 15 | connect | 클라이언트에 연결 요청(통신 관련 함수) | | 16 | creat | 파일 생성 | | 17 | difftime | 두 시간의 차 반환 | | 18 | dup | 새로운 파일 지시자 생성 | | 19 | execl | 실행 파일 수행 | | 20 | execle | 실행 파일 수행(환경 변수를 인자로 넘겨줌) | | 21 | execlp | 현재 디렉토리의 실행 파일 수행 | | 22 | execv | 실행 파일 수행(배열에 인자 저장) | | 23 | execve | 실행 파일 수행(환경 변수를 인자로 넘겨줌, 배열에 인자 저장) | | 24 | execvp | 현재 디렉토리의 실행 파일 수행(배열에 인자 저장) | | 25 | exit | 실행 파일 종료 | | 26 | fchmod | 파일에 대한 접근 권한 변경(파일 지시자 이용) | | 27 | fclose | 파일 스트림 종료 | | 28 | fcntl | 파일에 대한 제어와 설정 | | 29 | fdopen | 파일 지시자를 파일 스트림으로 변환 | | 30 | feof | 파일 스트림 끝 검사 | | 31 | ferror | 파일 스트림 에러 검사 | | 32 | fflush | 출력 버퍼의 내용 파일 스트림에 저장 | | 33 | fgets | 파일 스트림을 읽기(오버 플로우 처리 가능) | | 34 | fopen | 파일 열기 | | 35 | fork | 프로세스 생성 | | 36 | fpathconf | 파일 지시자 제한값 반환(파일 지시자 이용) | | 37 | fprintf | 파일 스트림의 형식화된 출력 | | 38 | fputc | 파일 스트림에 문자 출력 | | 39 | fputs | 파일 스트림에 문자열 출력(개행문자 첨가하지 않음) | | 40 | fread, fwrite | 버퍼단위의 읽기와 쓰기 | | 41 | free | 메모리 블록 해제 | | 42 | fscanf | 파일 스트림을 특정한 형식으로 읽기 | | 43 | fseek | 파일 스트림의 포인터 위치 변경 | | 44 | fstat | 열린 파일의 정보 반환(파일 지시자 이용) | | 45 | fstatvfs | 열린 파일의 시스템 정보 반환(파일 시스템 지시자 이용) | | 46 | fsync | 지정 파일 디스크에 저장 | | 47 | ftell | 파일 포인터의 위치 반환(바이트 단위) | | 48 | ftok | 키값 적용 | | 49 | ftw | 재귀적인 함수 적용 | | 50 | getc | 파일 스트림에서 한 문자 읽기 | | 51 | getchar | 한 문자 읽어 출력 | | 52 | getcwd | 현재의 작업 디렉토리 출력 | | 53 | getenv | 환경변수 값 변경 | | 54 | gethostbyname, gethostbyaddr, inet_addr, inet_ntoa | 호스트 정보 변환 | | 55 | gethostname, sethostname | 호스트명 획득과 변환 | | 56 | getlogin, cuserid | 사용자 로그인명 변환 | | 57 | getpgrp | 프로세스 그룹 ID 반환 | | 58 | getpid, getppid, getuid, geteuid, getgid | 호출한 프로세스 ID 반환 | | 59 | getpwent | 패스워드 정보 반환 | | 60 | getpwnam, getpwuid | 사용자 찾기(사용자 로그인명과 ID 이용) | | 61 | gets | 문자열 읽기 | | 62 | getsid | 세션 ID 반환 | | 63 | getsockopt, setsockopt | 열린 소켓 정보의 획득과 변환 | | 64 | getutent, getutid | 파일 검색 | | 65 | htons, htohs, htonl, ntohl | 데이터 저장 순서 관련 함수 | | 66 | inet_addr | IP 주소 이진 형식으로 변환 | | 67 | inet_aton | IP 주소 이진 형식으로 변환 | | 68 | ioctl | 하드웨어의 시스템 파일 제어 | | 69 | kill | 프로세스에 시그널 전송 | | 70 | link | 링크 생성 | | 71 | listen | 연결 요청 인자(통신 관련 함수) | | 72 | localtime, ctime, gmtime | 시간 정보의 변환 | | 73 | lseek | 파일 포인터 이동 | | 74 | lstat | 파일 정보 반환(링크 파일은 링크 자체 정보 반환) | | 75 | malloc | 동적 메모리 할당 | | 76 | memset, memcpy, memmove, memcmp, memchr | 메모리 관련 함수 | | 77 | mkdir | 디렉토리 생성 | | 78 | mkfifo | FIFO 생성 | | 79 | mmap | 메모리와 디스크 연결(대량의 데이터 입출력시 유용) | | 80 | msgctl | 메시지 큐 제어 | | 81 | msgget | 메시지 큐 생성 | | 82 | msgrcv | 메시지 큐에서 메시지 읽기 | | 83 | msgsnd | 메시지 큐에서 메시지 쓰기 | | 84 | nice | 프로세스 진행시간 제어 | | 85 | open | 파일 열기 | | 86 | opendir | 디렉토리 열기 | | 87 | pathconf, sysconf | 제한값 정보 반환 | | 88 | pause | 프로세스의 실행 일시 중지 | | 89 | perror | 시스템이 에러 자동으로 파악 | | 90 | pipe | 파이프 생성 | | 91 | popen | 명령어 수행(파이프 생성) | | 92 | printf | 형식화된 출력 | | 93 | putc | 파일 스트림에 문자 출력 | | 94 | putchar | 하나의 문자 표준 출력 | | 95 | puts | 문자열 표준 출력 | | 96 | raise | 자신의 프로세스에 시그널 전달 | | 97 | read | 파일 읽기 | | 98 | readdir | 디렉토리 읽기 | | 99 | readlink | 심볼릭 링크 읽기 | | 100 | realloc | 메모리 블록의 크기 변경 | | 101 | recv | 데이터 수신(연결 지향성 함수) | | 102 | recvfrom | 데이터 수신(비연결 지향성 함수) | | 103 | remove | 파일이나 디렉토리 삭제(ANCI C) | | 104 | rename | 파일명 변경 | | 105 | rewind | 파일 포인터를 맨 처음으로 되돌림 | | 106 | rewinddir, telldir, seekdir | 디렉토리 포인터 관련 함수 | | 107 | rmdir | 디렉토리 삭제(빈 디렉토리에만 적용) | | 108 | scanf | 형식화된 입력 | | 109 | select | 입력 다중화 | | 110 | semctl | 세마포어 제어 | | 111 | semget | 세마포어 집합의 식별자 반환 | | 112 | semop | 세마포어 관련 연산 | | 113 | send | 데이터 전송(연결 지향성 함수) | | 114 | sendto | 데이터 전송(비연결 지향성 함수) | | 115 | setbuf, setvbuf | 버퍼 관련 설정 | | 116 | setenv | 환경 변수 지정(변수와 값 분리) | | 117 | setpgid | 프로세스 그룹 ID 설정 | | 118 | setsid | 세션 ID 설정 | | 119 | setuid, setgid | 실사용자와 그룹 ID설정 | | 120 | shmat | 공유 메모리와 연결 | | 121 | shmctl | 공유 메모리에 대한 다양한 연산 | | 122 | shmdt | 공유메모리와의 연결 끊기 | | 123 | shmget | 공유 메모리의 생성과 접근 | | 124 | sigaction | 신뢰성 있는 시그널 관리 | | 125 | sigemptyset | 시그널 초기화 | | 126 | sigprocmask | 시그널 마스크 제어 | | 127 | sigsetjmp, siglongjmp | 장거리 goto | | 128 | socket | 통신점 생성(통신 관련 함수) | | 129 | sprintf | 형식화된 배열 쓰기(NULL 포함) | | 130 | sscanf | 형식화된 배열 읽기 | | 131 | stat | 파일 정보 반환 | | 132 | statvfs | 파일 시스템 정보 반환| | 133 | strdup | 문자열에 대한 메모리 할당 | | 134 | string 계열 | 문자열 관련 연산 | | 135 | sync | 일정시간 마다 디스크에 저장 | | 136 | sysinfo | 시스템 정보 반환 | | 137 | system | 명령어 수행 | | 138 | tcflush, tcdrain, tcflow | 단말기 제어 | | 139 | tcgetattr | 단말기 정보 반환 | | 140 | tcsetattr | 단말기 정보 반환 | | 141 | time | 시간 반환(초 단위) | | 142 | times | 프로세스 수행 시간 측정 | | 143 | truncate, ftruncate | 파일 길이 조정 | | 144 | ttyname, isatty | 단말기 관련 정보 반환 | | 145 | ulimit | 프로세스 제한값 제어 | | 146 | umask | 파일 생성 시 허가비트 설정 | | 147 | uname | 시스템 관련 정보 반환 | | 148 | ungetc | 파일 스트림에 문자 삽입 | | 149 | unlink | 링크 삭제 | | 150 | va_start, va_arg, va_end | 가변 인자 관련 함수 | | 151 | wait | 프로세스 종료 기다리기 | | 152 | waitpid | 특정 프로세스 종료 기다리기 | | 153 | write | 파일에 쓰기 | ---- {{indexmenu>:#1|skipns=/^(wiki|etc|diary|playground)$/ skipfile=/^(todays|about|guestbook)$/ nsort rsort}} ----