When running commands in Linux Shell, each process is associated with three open files and uses file descriptors to reference these files. Because the file descriptor is not easy to remember, shell also provides the corresponding file name.
Standard Input: 0 (the default value is the keyboard. If the value is 0, it is the output of a file or other commands)
Standard output: 1 (screen by default, file when 1 is used)
Standard Error: 2 (screen by default, file when 2 is used)
The system actually has 12 file descriptors, which can be arbitrarily used 3 to 9.
File redirection:Change the Input Source and output location of the program running
Command> filename # redirects the standard output to a new file.
Command> filename # redirects the standard output to a file (append)
Command> filename 2> & 1 # redirect standard output and errors to a file.
Command> filename 2> & 1 # redirect standard output and errors to a file (append)
Command 2> filename # redirects a standard error to a file
Command 2> filename # redirects the standard output to a file (append)
Command <FILENAME # command uses the filename file as the standard input
Command <delimiter # Read from standard input, knowing that the delimiter Delimiter is encountered
Command> & M # redirects standard output to file descriptor m
Command <&-# Disable Standard Input
N <&-indicates that the input N is disabled <&-indicates that the standard input (keyboard) is disabled n> &-indicates that the output N is disabled> &-indicates that the standard output is disabled.