Linux의 리디렉션에 대한 종합적인 분석

巴扎黑
풀어 주다: 2017-08-07 13:22:04
원래의
2361명이 탐색했습니다.

이 글은 주로 리눅스의 리디렉션 문제에 대한 간략한 분석을 소개합니다. 필요한 친구들은 참고하면 됩니다

Introduction

컴퓨팅 분야에서 리디렉션은 다양한 명령줄 해석기의 기능입니다. 표준 스트림을 사용자가 지정한 위치로 리디렉션할 수 있는 Unix 셸 유형입니다. Unix 계열 운영 체제의 프로그램은 dup2 시스템 호출을 통해 또는 덜 유연하지만 더 높은 수준의 freopen(3) 및 popen을 통해 리디렉션을 수행할 수 있습니다. ​​​​​​출력을 파일이나 장치로 리디렉션하면 원본 파일을 강제로 덮어씁니다.

>> 원본 파일을 추가하는 파일이나 장치로 출력 리디렉션

< 원본 파일 b-shell2>> 표준 오류 출력을 파일이나 장치로 리디렉션 원본 파일에 추가2>&1 표준 오류 출력을 표준 출력 주석으로 리디렉션:1은 아마도 표준 출력을 의미합니다. > 명령 리디렉션 예

bash 명령을 실행하는 동안 세 가지 주요 입력 및 출력 조건이 있습니다. 1. 표준 입력은 0 또는 stdin입니다. 표준 출력: 코드는 1입니다. 또는 stdout은 1>

3입니다. 오류 출력: 코드는 2>




[test @test test]# ls -al > list.txt
로그인 후 복사

입니다. list.txt 파일에 해당 파일이 있으면 대체됩니다!

[test @test test]# ls -al >> list.txt
로그인 후 복사
표시된 결과를 list.txt 파일에 누적하면 누적되어 오래된 데이터가 유지됩니다!



[test @test test]# ls -al 1> list.txt  2> list.err
로그인 후 복사

표시된 데이터를 list.txt에 올바르게 출력하고, 잘못된 데이터를 list.err

[test @test test]# ls -al 1> list.txt 2> &1
로그인 후 복사
표시된 데이터를 옳고 그름에 관계없이 list.txt에 출력하세요! 오류가 있는 파일과 올바른 파일이 같은 파일로 출력된다면 반드시 위의 방법으로 작성해야 합니다! 다른 형식으로 작성할 수 없습니다!

[test @test test]# ls -al 1> list.txt 2> /dev/null
로그인 후 복사

는 올바른 데이터를 list.txt에 출력하고 잘못된 데이터는 삭제합니다! /dev/null은 블랙홀 장치라고 할 수 있습니다. 비어 있으면 저장되지 않습니다.

1.4 명령 출력 리디렉션을 사용하는 이유


• 화면에 출력되는 정보가 중요하고 이를 저장해야 하는 경우

• 백그라운드에서 실행되는 프로그램이 정상적인 작동을 방해하는 것을 원하지 않습니다. 결과를 출력할 때

• 일부 시스템 루틴 명령(예: /etc/crontab에 작성된 파일)의 실행 결과를 저장하고 싶을 때

• 일부 실행 명령의 경우 발생할 수 있는 오류 메시지를 이미 알고 있습니다. . 그래서 "2> /dev/null"로 버리고 싶을 때

• 오류 메시지와 올바른 메시지를 별도로 출력해야 할 때.

위 내용은 Linux의 리디렉션에 대한 종합적인 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿