Provided by: freebsd-manpages_12.2-2_all bug

NAME

     fd, stdin, stdout, stderr — file descriptor files

DESCRIPTION

     The files /dev/fd/0 through /dev/fd/# refer to file descriptors which can be accessed
     through the file system.  If the file descriptor is open and the mode the file is being
     opened with is a subset of the mode of the existing descriptor, the call:

           fd = open("/dev/fd/0", mode);

     and the call:

           fd = fcntl(0, F_DUPFD, 0);

     are equivalent.

     Opening the files /dev/stdin, /dev/stdout and /dev/stderr is equivalent to the following
     calls:

           fd = fcntl(STDIN_FILENO,  F_DUPFD, 0);
           fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
           fd = fcntl(STDERR_FILENO, F_DUPFD, 0);

     Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are ignored.

IMPLEMENTATION NOTES

     By default, /dev/fd is provided by devfs(5), which provides nodes for the first three file
     descriptors.  Some sites may require nodes for additional file descriptors; these can be
     made available by mounting fdescfs(5) on /dev/fd.

FILES

     /dev/fd/#
     /dev/stdin
     /dev/stdout
     /dev/stderr

SEE ALSO

     tty(4), devfs(5), fdescfs(5)