The predefined input/output channels which every Unix process is initialised with. Standard input is by default from the terminal, and standard output and standard error are to the terminal. Each of these channels (controlled via a file descriptor 0, 1, or 2 - stdin, stdout, stderr) can be redirected to a file, another device or a pipe connecting its process to another process. The process is normally unaware of such I/O redirection, thus simplifying prototyping of combinations of commands.
The C programming language library includes routines to perform basic operations on standard I/O. Examples are "printf", allowing text to be sent to standard output, and "scanf", allowing the program to read from standard input.