입출력 리다이렉션
표준입출력(Standard I/O)기능은 입력/출력을 다루는 기본적인 방법을 제공한다. 기본 입출력 스트림에는 표준입력, 표준츨력 그리고 표준에러 세 가지 종류가 있다.
- 표준출력(stdout) = 정상적인 출력
- 표준에러(stderr) = 에러메세지
- 표준입력(stdin) = 특별한 지정이 없으면 키보드로부터 입력을 읽어들임\
- 특별한 지정이란? cat afile bfile처럼 파일명을 지정하면 프로그램은 표준입력을 무시한다.
$ cat afile bfile
this is a file
this is b file
$ cat afile bfile >cfile
$ cat cfile
this is a file
this is b file
표준출력을 cfile로 리다이렉트한 예이다.
아래 표는 표준 I/O를 리다이렉션 하는 일반적인 방법을 보여주고 있다.
기능 | 명령어 |
---|---|
stdout을 file로 보냄 | prog > file |
stderr를 file로 보냄 | prog 2> file |
stdout과 stderr를 file로 보냄 | prog > file 2>&1 |
stdin을 file로부터 가져옴 | prog < file |
stdout을 file의 끝으로 보냄 | prog » file |
stderr를 file의 끝으로 보냄 | prog 2» file |
stdout과 stderr를 file의 끝으로 보냄 | prog » file 2>&1 |
c가 나올 때까지 키보드에서 stdin을 읽음 | prog « c |
stdout을 prog2로 파이프 | prog | prog2 |
stdout과 stderr를 prog2로 파이프 | prog 2>&1 |& prog2 |