본문 바로가기
운영체제/리눅스

I/O 리다이렉션 이해하기

by 안드레날린 2016. 11. 26.

[ I/O 리다이렉션의 이해 ]

​1. 리다이렉션(redirection)

 : 표준 스트림을 사용자가 지정한 위치로 우회할 수 있도록  명령이다.

    (다양한 셸과 명령어 인터프리터​의 일반적인 명령)


2. 표준 스트림

 : 특정 프로그래밍 언어 인터페이스 뿐만 아니라 유닉스 및 유닉스 계열 운영 체제에서 컴퓨터 프로그램과 그 환경(일반적으로 단말기 또는 터미널) 사이에 미리 연결된 입/출력 통로를 가리킨다.

 : 일반적으로 유닉스에서 동작하는 프로그램은 실행 시 세 개의 스트림이 자동으로 열린다.

이를 표준 스트림이라고 부른다.

(Standard Input, STDIN, 0), (Standard Output, STDOUT, 1), (Standard Error, STDERR, 2)

 : 보통 입/출력은 물리적으로 연결된 시스템 콘솔의 키보드와 모니터를 통해 일어나는데, 표준 스트림은 이것을 추상화한 것이다.

 : 자식 프로세스는 부모 프로세스의 표준 스트림을 상속 받는다.

통상, 터미널에 로그인 셸 기동 -> 사용자 인증이 끝나면 대화형 셸(이때 자동으로 부착된 세 개의 표준 스트림이 상속된다.) -> 셸에서 실행되는(exec) 모든 명령들은, 셸을 부모 프로세스로 삼아 세 개의 표준 스트림을 다시 상속 받는다.

 : 표준 C 실행 라이브러리의 <stdio.h>헤더에서 stdin, stdout, stderr로 정의 되며, <unistd.h>에 의해 파일 디스크립터 0, 1, 2 로 표현하기도 한다.


출처: https://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%EC%8A%A4%ED%8A%B8%EB%A6%BC


3. 파이프(pipe)

  : 운영체제에서 지원하는 프로세스 간 통신 방법이다.

    (즉, 한 프로세스의 표준 출력을 다른 프로세스의 표준 입력으로 넘긴다.)



[ I/O 리다이렉션의 활용 ] 

명령어 > 파일

명령어 < 파일

명령어 < 파일 > 파일

명령어 >> 파일


명령어 | 명령어

명령어 | 명령어 | ... | 명령어

명령어 < 파일 | 명령어


명령어 2> 파일

명령어 2>&1 > 파일

(축약: 명령어 &> 파일)


※ 참고 사항

 0: 표준 입력(stdin)

 1: 표준 출력(stdout)

 2: 표준 에러(stderr)


'운영체제 > 리눅스' 카테고리의 다른 글

echo 명령어 활용  (0) 2017.06.03
cd 명령어 활용  (0) 2017.06.02
find 명령어 활용  (0) 2016.11.26
맨 페이지 활용  (0) 2016.11.26
셸의 종류  (0) 2016.11.26