Home  >  Article  >  Operation and Maintenance  >  Comprehensive analysis of redirection in Linux

Comprehensive analysis of redirection in Linux

巴扎黑
巴扎黑Original
2017-08-07 13:22:042345browse

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
a4a4056caa87772acfcce3fe91a5e3f1> Redirect a standard error output to a file or device Append to the original file

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 8953a5a70382ff5831dd8d593f6695db3. Error output: code is 2; or stderr; the method used is 2>

[test @test test]# ls -al > list.txt

The displayed result output To the list.txt file, if the file exists, replace it!

[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.

1.4 Why use command output redirection


• 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn