Standard streams
표준 스트림은 특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 유닉스 계열 운영 체제(어느 정도까지는 윈도에도 해당함)에서 컴퓨터 프로그램과 그 환경(일반적으로 단말기) 사이에 미리 연결된 입출력 통로를 가리킨다. 세 개의 입출력 연결이 있는데 표준 입력(stdin), 표준 출력 (stdout), 표준 오류(stderr)이 있다.
DEFINE
표준 C 실행 라이브러리의 stdio.h 헤더에서 stdin, stdout, stderr 로 정의되며, unistd.h에 의해 파일 디스크립터 0, 1, 2 로 표현하기도 한다.
유닉스의 영향을 강하게 받은 리눅스에서도 표준 스트림의 파일 서술자가 선점되어 있다.
표준 입출력 Pipe 속도 테스트
dd명령을 사용한다.
-
if=/dev/zero
- 0으로 채워진 데이터를 읽습니다. (Input File) -
bs=1M
- 1MB 블록 크기로 데이터를 읽습니다. -
count=1024
- 1024개의 블록을 읽습니다 (즉, 1GB 데이터를 읽습니다). -
of=/dev/null
- 데이터를 버립니다. (Output File)
다름과 같은 로그를 확인할 수 있다.
1024+0 records in
1024+0 records out
25769803776 bytes (26 GB, 24 GiB) copied, 36.7413 s, 701 MB/s
50331648+0 records in
50331648+0 records out
25769803776 bytes (26 GB, 24 GiB) copied, 36.7413 s, 701 MB/s
See also
- Python:StandardStreamsRedirection - Python 에서 표준출력/표준에러 Redirection 이슈 정리.
- pipe