☞ stat, fstat, lstat, chown, fchown, umask, getumask, chmod, fchmod, access, utime, truncate, ftruncate int stat(const char *filename, struct stat *buf); int fstat(int filedes, struct stat *buf); int lstat(const char *filename, struct stat *buf); int chown(const char *filename, uid_t owner, gid_t group); int fchown(int filedes, uid_t owner, gid_t group); mode_t umask(mode_t mask); mode_t getumas..
☞ link, symlink, readlink, realpath int link(const char *oldname, const char *newname); int symlink(const char *oldname, const char *newname); ssize_t readlink(const char *filename, char *buffer, size_t size); char *realpath(const char *name, char *resolved); 하나의 파일은 여러개의 이름을 가질 수 있는데 이를 하드 링크(Hard Link)라고 하고 동일한 파일 시스템이라면 서로 다른 디렉토리에 여러개의 하드 링크를 둘 수 있습니다. 각 하드 링크는 실제 파일 내용을 복사하지는 않고 이름만을 생성합니다...
☞ getcwd, chdir, mkdir, rmdir, unlink, remove, rename char *getcwd(char *buffer, size_t size); int chdir(const char *filename); int mkdir(const char *filename, mode_t mode); int rmdir(const char *filename); int unlink(const char *filename); int remove(const char *filename); int rename(const char *oldname, const char *newname); 디렉토리를 생성하거나 파일 삭제나 이름변경등 디렉토리와 파일 단위의 제어에 사용하는 함수들입니다. getcwd()는 현재의 ..
☞ fcntl, dup, dup2, ioctl int fcntl(int filedes, int command, ...); int dup(int old); int dup2(int old, int new); int ioctl(int filedes, int command, ...); fcntl() 함수는 열려진 파일 디스크립터에 대해서 자세한 제어를 수행할 때 사용합니다. 두번째 인수 command로는 다음과 같은 명령들을 사용할 수 있습니다. 여기에서 언급하는 함수들은 운영 체제에 따라서 옵션과 동작 방식이 다를 수 있으므로 사용전 확인이 필요합니다. F_DUPFD : 파일 디스크립터 복사 F_GETFD : 파일 디스크립터와 연관된 플래그 읽기 F_SETFD : 파일 디스크립터에 플래그 설정 F_GETFL ..
☞ select, FD_ZERO, FD_SET, FD_CLR, FD_ISSET int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); void FD_ZERO(fd_set *set); void FD_SET(int filedes, fd_set *set); void FD_CLR(int filedes, fd_set *set); int FD_ISSET(int filedes, const fd_set *set); 아파치 웹서버처럼 여러 클라이언트의 동시 접속 요구를 대응해야 하거나 직렬 통신 서비스를 처리하는 프로그램의 경우 일반적인 프로그램 흐름을 방해 받지 않으면서 입력 처리할 데이터가 있..
☞ open, creat, close, read, write, lseek, fdopen, fileno int open(const char *filename, int flags[,mode_t mode]); int creat(const char *filename, mode_t mode); int close(int filedes); ssize_t read(int filedes, void *buffer, size_t size); ssize_t write(int filedes, const void *buffer, size_t size); off_t lseek(int filedes, off_t offset, int whence); FILE *fdopen(int filedes, const char *opentype)..