Data stream

JH공원·2025년 1월 23일

즉석노트

목록 보기
18/32
post-thumbnail

직역하면 데이터의 흐름 인데

데이터의 흐름에 대해 설명하자면

사람과 컴퓨터 사이에는 운영체제가 존재한다

사람 <----> 운영체제 <----> 컴퓨터

그리고

사람 <----> 운영체제 <----> 컴퓨터
------------------------------>

사람에게서 컴퓨터로 데이터가 흘러가는걸 우리는 입력이라고 한다.

사람 <----> 운영체제 <----> 컴퓨터
<------------------------------

또한 컴퓨터의 처리값이 화면에 표시되고 사람에게 전달되는것을 우리는 출력이라고 한다.

이를 영어로는 input stream, output stream 이라고 한다.

그리고 리눅스 에서는 이러한 input과 output을 표준으로 정해놓는다.

그렇기에 이번포스트는 표준입력,표준출력,표준에러 이 세가지를 다룰것이다.

standard input stream
standard output steam
standard error

영어로는 이렇게 적을 수 있다.

별다른 지장이 없다면 우리가 키보드로 쉘에 입력하는 것들을 표준입력이라고 볼 수 있다.

또한 컴퓨터에서 정보를 출력하는 방식중에 모니터 쉘을 통해서 정보를 출력하는 방식을 우리는 표준 출력이라고 볼 수 있다.

화면에서는 ls가 표준입력에 해당하고 밑에 처리된 결과값들이 표준출력인 것이다

표준에러 또한 우리가 없는 명령어를 입력했을때 자연스럽게 나오는 해당 경고문들을 우리는 표준 에러라고 본다.

리눅스는 이 세가지 각각의 요소들을 파일 디스크립터 (fd) 라고 부른다

리눅스에서는 모든 데이터와 장치를 파일로 관리를하는데
입력,출력,에러 또한 이 파일에 해당하는것이다.

그렇기에 파일디스크립터는 해당 파일을 처리해주는 아이디인 것이다.

각각의 fd는 표준입력(0),표준출력(1),표준에러(2) 각 0,1,2 로 표현을 해놓은 것이다.

파일디스크립터는 앞으로도 친숙하게 만날 용어이다.

프로세서가 파일을 입력,출력,관리 할때 부여하는 식별자 즉 아이디라고 보면 되는것이다.

즉 입력의 아이디는 0 ,출력의 아이디는 1, 에러의 아이디는 2 이런식으로 간단하게 이해할수도 있지만 권장하지는 않는다.

profile
개발&해킹 일지 작성

0개의 댓글