이전 글...
[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준)
표준 스트림
표준 스트림(Standard Stream)은 Posix 표준을 따르는 OS의 표준 입출력 통로를 말한다.
Unix 계열 운영체제에서 컴퓨터 프로그램과 여러 입출력 장치 간에 통로(Stream)
스트림은 프로그램을 드나드는 데이터를 바이트의 흐름(byte stream)으로 표현된 것이다.
Unix 기반 운영체제에서는 이 스트림을 이용해서 각 장치를 파일처럼 다루고, 모든 파일과 데이터를 표준 입력과 표준 출력으로 나타내며 이들 사이의 상호작용을 pipe를 통해 조합, 연결하여 사용한다.
즉, 표준 입출력 + pipe로 모든 동작을 정의한다.
표준 입력(stdin) / 표준 출력(stdout) / 표준 에러(stderr)
표준 스트림은 일반적으로 표준 입력, 표준 출력, 표준 에러의 3가지로 나뉜다.
이 3가지가 표준 스트림으로, 운영체제에서 기본적으로 제공하는 추상화된 입출력 장치를 말한다.
표준 스트림 | 파일 디스크립터 숫자 |
표준 입력(stdin, Standard Input) - 키보드 | 0 |
표준 출력(stdout, Standard Output) - 모니터 | 1 |
표준 에러(stderr, Standard Error) - 모니터 | 2 |
기본적으로 입력은 키보드, 출력은 모니터로 설정되어 있다.
표준 입력
표준 입력(stdin)은 프로그램에 입력되는 데이터의 출처를 말한다. 이 입력은 사용자가 Shell과 같은 UI를 통해 키보드로 입력한 데이터가 될 수도 있고, 어떤 파일이 될 수도 있다.
표준 출력 / 표준 에러
표준 출력(stdout)은 프로그램에서 출력(반환)되는 데이터의 방향을 말한다. 이 출력은 기본적으로 Shell과 같은 콘솔로 설정되어 있다. 사용자는 모니터를 통해 이 콘솔에서 표준 출력(stdout) 또는 표준 에러(stderr)를 확인할 수 있다.

표준 출력은 정상적인 출력이 반환되는 경우를 말하고, 표준 에러는 프로그램의 비정상 동작 시에 반환되는 경우를 말한다. 두 가지 모두 콘솔에 출력되게 된다.
파이프(pipe)
파이프는 하나의 표준 출력을 다른 명령의 표준 입력으로 사용하는 명령어이다.
" | " 문자를 이용한다. (키보드 \ 위에 적힌 문자, shift + '\')

(ex1) pipe / grep

위와 같이 ls 명령에 대한 표준 출력을 파이프('|')를 통해 grep 명령어의 표준 입력으로 사용한다.
(ex2) pipe / grep / sort /redirection
ls -al | grep test | sort -k6 > piperesult.txt
ls -al | grep test | sort -k6 > piperesult.txt





결과적으로 ls -al 중, test를 포함한 라인을 뽑아내고, 날짜 기준 정렬한 뒤에 piperesult.txt란 파일에 저장하는 명령이다.
필터(filter)
파이프에는 여러 가지 필터를 사용할 수 있다. 위의 예제에서 grep 명령어도 필터 중 하나이다.
grep명령어는 표준 입력으로부터 받은 데이터로부터 지정한 문자열을 포함한 라인을 찾아서 출력해 준다.
필터 종류

'[ Computer Science ] > Linux 리눅스' 카테고리의 다른 글
[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준) (0) | 2024.04.17 |
---|---|
[리눅스] VI 에디터 명령어 정리 (0) | 2023.07.21 |
[리눅스] 파일 복사, 하드 링크와 소프트 링크 (0) | 2023.07.10 |
[리눅스] 프로세스, 상태 확인하기 (0) | 2023.07.10 |
[리눅스] 리다이렉션과 파이프, grep 명령어 (0) | 2023.07.10 |
이전 글...
[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준)
표준 스트림
표준 스트림(Standard Stream)은 Posix 표준을 따르는 OS의 표준 입출력 통로를 말한다.
Unix 계열 운영체제에서 컴퓨터 프로그램과 여러 입출력 장치 간에 통로(Stream)
스트림은 프로그램을 드나드는 데이터를 바이트의 흐름(byte stream)으로 표현된 것이다.
Unix 기반 운영체제에서는 이 스트림을 이용해서 각 장치를 파일처럼 다루고, 모든 파일과 데이터를 표준 입력과 표준 출력으로 나타내며 이들 사이의 상호작용을 pipe를 통해 조합, 연결하여 사용한다.
즉, 표준 입출력 + pipe로 모든 동작을 정의한다.
표준 입력(stdin) / 표준 출력(stdout) / 표준 에러(stderr)
표준 스트림은 일반적으로 표준 입력, 표준 출력, 표준 에러의 3가지로 나뉜다.
이 3가지가 표준 스트림으로, 운영체제에서 기본적으로 제공하는 추상화된 입출력 장치를 말한다.
표준 스트림 | 파일 디스크립터 숫자 |
표준 입력(stdin, Standard Input) - 키보드 | 0 |
표준 출력(stdout, Standard Output) - 모니터 | 1 |
표준 에러(stderr, Standard Error) - 모니터 | 2 |
기본적으로 입력은 키보드, 출력은 모니터로 설정되어 있다.
표준 입력
표준 입력(stdin)은 프로그램에 입력되는 데이터의 출처를 말한다. 이 입력은 사용자가 Shell과 같은 UI를 통해 키보드로 입력한 데이터가 될 수도 있고, 어떤 파일이 될 수도 있다.
표준 출력 / 표준 에러
표준 출력(stdout)은 프로그램에서 출력(반환)되는 데이터의 방향을 말한다. 이 출력은 기본적으로 Shell과 같은 콘솔로 설정되어 있다. 사용자는 모니터를 통해 이 콘솔에서 표준 출력(stdout) 또는 표준 에러(stderr)를 확인할 수 있다.

표준 출력은 정상적인 출력이 반환되는 경우를 말하고, 표준 에러는 프로그램의 비정상 동작 시에 반환되는 경우를 말한다. 두 가지 모두 콘솔에 출력되게 된다.
파이프(pipe)
파이프는 하나의 표준 출력을 다른 명령의 표준 입력으로 사용하는 명령어이다.
" | " 문자를 이용한다. (키보드 \ 위에 적힌 문자, shift + '\')

(ex1) pipe / grep

위와 같이 ls 명령에 대한 표준 출력을 파이프('|')를 통해 grep 명령어의 표준 입력으로 사용한다.
(ex2) pipe / grep / sort /redirection
ls -al | grep test | sort -k6 > piperesult.txt
ls -al | grep test | sort -k6 > piperesult.txt





결과적으로 ls -al 중, test를 포함한 라인을 뽑아내고, 날짜 기준 정렬한 뒤에 piperesult.txt란 파일에 저장하는 명령이다.
필터(filter)
파이프에는 여러 가지 필터를 사용할 수 있다. 위의 예제에서 grep 명령어도 필터 중 하나이다.
grep명령어는 표준 입력으로부터 받은 데이터로부터 지정한 문자열을 포함한 라인을 찾아서 출력해 준다.
필터 종류

'[ Computer Science ] > Linux 리눅스' 카테고리의 다른 글
[Linux/Unix] POSIX란? (포직스, 이식 가능 운영체제 인터페이스, Unix 표준) (0) | 2024.04.17 |
---|---|
[리눅스] VI 에디터 명령어 정리 (0) | 2023.07.21 |
[리눅스] 파일 복사, 하드 링크와 소프트 링크 (0) | 2023.07.10 |
[리눅스] 프로세스, 상태 확인하기 (0) | 2023.07.10 |
[리눅스] 리다이렉션과 파이프, grep 명령어 (0) | 2023.07.10 |