This article mainly introduces a brief analysis of the redirection problem in Linux. Friends who need it can refer to it
Introduction
In computing Realm, redirection is a feature of most command line interpreters, including various Unix shells that can redirect standard streams to user-specified locations. Programs on Unix-like operating systems can accomplish redirection through the dup2 system call, or through the less flexible but higher-level freopen(3) and popen.
1Redirect
1.1 Redirect symbol
> ; Redirecting output to a file or device overwriting the original file
>! Redirecting output to a file or device forcing overwriting of the original file
>> Redirecting output to a file or device appending the original file File
< . Direct to a file or device and overwrite the original file b-shell
2>&1 Redirect a standard error output To the standard output annotation: 1 may be the standard output & gt; & Reset an error output of a standard to a file or device to cover the original file C-SHELL | & Send one standard error pipe to another to another Command as input
1.3 Command redirection example
In the process of bash command execution, there are three main input and output situations, namely :
1. Standard input; the code is 0; or stdin; the method used is <2. Standard output: the code is 1; or stdout; the method used is 1>3. Error output: code is 2; or stderr; the method used is 2>
[test @test test]# ls -al > list.txt
[test @test test]# ls -al >> list.txt
Accumulate the displayed results into the list.txt file. The file is cumulative and the old data is retained!
[test @test test]# ls -al 1> list.txt 2> list.err
Output the displayed data correctly to list.txt and incorrect data to list.err
[test @test test]# ls -al 1> list.txt 2> &1
Output the displayed data, whether correct or incorrect, to list.txt! If the error and correct files are output to the same file, they must be written in the above method! Cannot be written in other formats!
[test @test test]# ls -al 1> list.txt 2> /dev/null
Output the correct data to list.txt and discard the incorrect data! /dev/null can be said to be a black hole device. If it is empty, it will not be saved.
• When the information output on the screen is important and we need to save it ;
• Programs running in the background do not want them to interfere with the normal output of the screen;• The execution results of some system routine commands (such as files written in /etc/crontab) do not want them to interfere with the normal output results of the screen. When it can be saved; • For some execution commands, we already know its possible error messages, so when we want to throw them away with "2> /dev/null"; • The error messages and correct messages need to be output separately hour.
The above is the detailed content of Comprehensive analysis of redirection in Linux. For more information, please follow other related articles on the PHP Chinese website!