우리는 운영 체제와 쉘을 통해 컴퓨터와 대화합니다 이 대화 과정에서 명령을 전달받은
운영 체제는 컴퓨터로 명령을 내려 데이터를 보내고 다시 사용자에게 출력 데이터를 보내게 됩니다
이번 시간에는 Data Stream에 대해 알아봅시다
Data Stream 이란
사용자가 컴퓨터에게 명령을 내릴 때 명령을 전달받은 운영체제가 컴퓨터 기계 장치로 향하는데 이를 입력 데이터라고 합니다 반대로, 컴퓨터 기계 장치에서 운영 체제를 통해 우리에게 전달되는 데이터를 출력 데이터라고 합니다
이때 입력되는 방향과 출력되는 방향의 데이터가 흘러가는데 이를 Data Stream이라 표현합니다
데이터 스트림은 크게 2가지가 있습니다 Input Stream, Output Stream
우리는 쉘을 통해 데이터를 주고받기 때문에 입력과 출력이 같은 데이터를 제어하는 개념이 필요했습니다
표준 입력 : 쉘에 명령어, 데이터를 입력하는 것
표준 출력 : 프로그램의 실행 결과를 쉘 화면에 보여주는 것
또한, 리눅스에서 이 표준 데이터 스트림을 3가지로 정의했습니다
표준 입력 | Standard Input Stream | 0 |
표준 출력 | Standard Output Stream | 1 |
표준 에러 | Standard Error Stream | 2 |
여기서 0,1,2 은 각각 File Descriptor(파일 디스크립터)값 입니다
파일 디스크립터 fd는 프로세스가 파일을 관리하기 위해 지칭한 식별값이라 생각하시면 됩니다
fd는 기본적으로 표준 입력과 표준 출력, 표준 에러이며 이들에게 각각 0, 1, 2라는 정수를 할당합니다
우선 리눅스 기초에 대해 공부하고 있기 때문에 fd를 깊숙이 다루지 않았고, fd는 프로세스가 파일에 접근하기 위한 값이라고 생각하시면 됩니다 (개인적으로 관심이 있으면 리눅스 File Descriptor를 구글링 해보세요!)
다음 시간에는 이 데이터는 흐름을 제어해 봅시다
[ 참고 사이트 ]