본문 바로가기

정보보안/시스템 보안

[UNIX/Linux 기본학습] 입출력 재지정(I/O Redirection) 기능

입출력 재지정(I/O Redirection) 기능

입출력 재지정 구성도(출처:나)

입출력 재지정 과정

1) 프로그램(명령어)을 실행하면 커널(운영체제)에 의해 프로세스(Process)라는 친구가 생긴다.

2) 프로세스라는 친구는 기본적인 입출력(I/O)을 위한 다음 3개의 파일(통신 채널)을 오픈한다.

표준 입력(STDIN, FD:0) : 키보드로부터 입력받기 위한 파일(통신 채널)
표준 출력(STDOUT, FD:1) : 수행 중에 발생한 정상 메시지를 모니터(터미널 화면)로 출력하기 위한 파일(통신 채널)
표준 에러(STDERR, FD:2) : 수행 중에 발생한 에러 메시지를 모니터(터미널 화면)로 출력하기 위한 파일(통신 채널)

3) 입출력 재지정 기능은 프로세스의 표준 입력, 표준 출력, 표준 에러를 키보드나 모니터(터미널 화면)가 아닌 파일로 재지정 하는 기능을 말한다.

입력 재지정(Input Redirection) : 표준 입력을 키보드가 아닌 파일에서 읽도록 재지정 하는것
출력 재지정(Output Redirection) : 표준 출력이나 표준 에러를 모니터(터미널 화면)가 아닌 파일로 저장하는 것

 

문법
문법 입력 재지정 : command [0]<file_name
출력 재지정 : command [1 or 2]>file_name (1: 표준출력, 2: 표준에러, default: 표준출력)
예문 command <test.dat
#test.dat에서 읽은 내용을 command에 입력
id >test.dat 
#'id' 명령의 표준 출력을 'test.dat' 파일에 overwrite 모드로 재지정
# overwrite 모드(>) : 기존 파일 내용을 지우고 새롭게 씀
# 파일번호(FD) 미지정 시 표준 출력(1) 의미
id 1>>test.dat
#'id' 명령의 표준 출력을 'test.dat'파일에 append 모드로 재지정
# append 모드(>>) : 기존 파일 내용에 추가해서 작성
id 2>test.dat
# 'id' 명령의 표준 에러를 'test.dat' 파일에 overwrite 모드로 재지정