표준 입출력

리눅스 커널은 사용자로부터 데이터를 입력받아, 사용자에게 결과를 출력해준다.

 

1. 표준 출력 (echo)

echo 명령어를 사용하여 hello 라는 문자열을 출력하도록 지시하면, 표준 출력인 모니터로 결과가 출력된다.

 

2. 표준 입출력 (cat)

cat 명령어로 인자를 부여하지 않으면, 표준 입력으로부터 데이터 입력을 받기 위해 대기한다.

사용자가 문자열을 입력하면, 표준 출력인 모니터로 결과가 출력된다. 

 

3. 표준 에러 (cat)

cat 명령어의 인자로 존재하지 않는 파일을 지정하면, 표준 에러 메시지가 모니터를 통해 출력된다.

 

 

Redirection 

프로그램의 표준 입출력 방향을 재지정하는 기능이다.

 

1) > 리다이렉션

 

> 리다이렉션을 통해, cat 명령으로 입력받은 1234 데이터가 a 파일로 출력된 것을 확인할 수 있다.

 

> 리다이렉션을 통해, cat 명령으로 입력받은 데이터가 a 파일로 출력된 것을 확인할 수 있다. 기존에 데이터가 있는 경우, 덮어쓰기 된다.

 

> 리다이렉션을 통해 기존 파일의 내용들이 병합된 것을 확인할 수 있다.

 

파일 병합 시, 파일 순서의 배치에 따라 내용이 뒤바뀌는 것을 확인할 수 있다.

 

1> 표준 출력 리다이렉션을 통해, 정상 출력 내용만이 c 파일로 출력된 것을 확인할 수 있다.

 

2> 표준 오류 리다이렉션을 통해, 오류 출력 내용만이 c 파일로 출력된 것을 확인할 수 있다.

 

cat a b d > c 결과인, 정상 출력물이 오류 처리되어 c 파일에 아무런 내용도 저장되지 않은 것을 확인할 수 있다.

 

1>&2 : 정상적인 표준 출력 내용도 오류 출력으로 처리한다.

 

cat a b d > c 의 오류 처리되었던 출력물이 정상 처리되어, c 파일에 오류 메시지까지 출력되는 것을 확인할 수 있다.

 

2>&1 : 표준 오류 출력 내용도 정상 출력으로 처리한다.

 

 

2) < 리다이렉션

 

< 리다이렉션을 통해, a 파일의 1234 데이터가 cat 명령의 입력으로 사용되었음을 확인할 수 있다. 따라서, 별도의 데이터 입력 과정이 생략되었다.

 

3) >> 리다이렉션

 

>> 리다이렉션을 통해 파일을 생성하며, 기존에 데이터가 있는 경우 내용이 추가된 것을 확인할 수 있다.

 

COMMENT