file_descriptor A file descriptor is the lowest portable access to the file system a C program may make. file descriptors are used with open, read, write, close, etc... A file descriptor is unbuffered (that is, every operation goes to the kernel and does not get buffered locally). Remember that a file descriptor is different from a STDIO file pointer (see the file_pointer manual page) and an AmigaDOS file handle.