파일 서술자

위키백과, 우리 모두의 백과사전.
(파일 핸들에서 넘어옴)

입력(stdin), 출력(stdout), 오류(stderr)를 나타내는 파일 서술자

컴퓨터 프로그래밍 분야에서 파일 서술자(file descriptor) 또는 파일 기술자는 특정한 파일에 접근하기 위한 추상적인 키이다. 이 용어는 일반적으로 POSIX 운영 체제에 쓰인다. 마이크로소프트 윈도우C 표준 입출력 라이브러리 환경에서 "파일 핸들"(file handle)이라는 말이 선호되지만 후자의 경우 기술적으로 다른 객체이다.

POSIX에서 파일 서술자는 정수, 곧 C형 int를 말한다. 모든 프로세스가 갖추어야 하는 표준 POSIX 파일 서술자는 다음과 같이 세 개가 있다.

정수값 이름
0 표준 입력 (stdin)
1 표준 출력 (stdout)
2 표준 오류 (stderr)

파일 서술자의 연산자[편집]

현대의 유닉스는 일반적으로 파일 서술자에 다음과 같은 연산자를 제공한다.

파일 서술자 만들기[편집]

  • open(), open64(), creat(), creat64()
  • socket()
  • socketpair()
  • pipe()

파일 서술자 가져오기[편집]

  • dirfd()
  • fileno()

한 개의 파일 서술자를 위한 연산자[편집]

  • read(), write()
  • readv(), writev()
  • pread(), pwrite()
  • recv(), send()
  • recvmsg(), sendmsg()
  • sendfile()
  • lseek(), lseek64()
  • fstat(), fstat64()
  • fchmod()
  • fchown()
  • fdopen()
  • gzdopen()
  • ftruncate()
  • fsync()
  • fdatasync()
  • fstatvfs()

여러 개의 파일 서술자를 위한 연산자[편집]

  • select(), pselect()
  • poll(), epoll()
  • kqueue(), kevent()

파일 서술자 테이블을 위한 연산자[편집]

  • close()
  • dup()
  • dup2()
  • fcntl (F_DUPFD)
  • fcntl (F_GETFD 및 F_SETFD)

프로세스 상태를 수정하는 연산자[편집]

  • fchdir()
  • mmap()

파일 잠금[편집]

  • flock()
  • fcntl (F_GETLK, F_SETLK 및 F_SETLKW)
  • lockf()

소켓[편집]

  • connect()
  • bind()
  • listen()
  • accept()
  • getsockname()
  • getpeername()
  • getsockopt(), setsockopt()
  • shutdown()

기타[편집]

새로 출시되는 연산자[편집]

새로운 일련의 파일 서술자의 연산자들이 수많은 C 라이브러리와 더불어 솔라리스와 리눅스에 추가되고 있다. 이로써 앞으로 출시될 POSIX 버전에 표준으로 자리잡게 된다.[1]

  • openat()
  • faccessat()
  • fchmodat()
  • fchownat()
  • fstatat()
  • futimesat()
  • linkat()
  • mkdirat()
  • mknodat()
  • readlinkat()
  • renameat()
  • symlinkat()
  • unlinkat()
  • mkfifoat()
  • fdopendir()

같이 보기[편집]

  • lsof - 공개 파일 연산자에 대한 정보를 보여 주는 유틸리티

각주[편집]

  1. 《Extended API Set, Part 2》. The Open Group. 2006년 10월. ISBN 1931624674.