표준스트림, 리다이렉션, 파이프라인

CHLEE·2023년 3월 10일
0

DevOps

목록 보기
4/24
post-custom-banner
  • 표준스트림과 stdin, stdout, stderr
    • 표준 스트림(standard stream) : 프로그램과 장치 간의 입출력에 대한 설정이 복잡해지는 것을 막기 위해 장치를 추상화해서 각 장치를 파일처럼 다뤄, 이 파일들이 드나드는 데이터의 흐름을 스트림이라고 합니다. 일반적으로 동작하는 프로그램은 실행 시, 세 개의 스트림이 자동으로 열리고, 이를 표준 스트림이라고 부릅니다.
    • stdin(standard input, 0) - 입력을 위한 스트림 (키보드부터 시작되서 프로세스까지의 스트림)
    • stdout(standard output, 1) - 출력을 위한 스트림 (프로세스부터 출력장치까지의 스트림)
    • stderr(standard error, 2) - 에러메시지 출력을 위한 스트림

  • 파이프라인과 리다이렉션

    • 리다이렉션은 프로세스의 입력 또는 출력을 파일로 사용하는 것으로 리다이렉션을 이용하면 각 스트림의 방향을 지정할 수 있습니다.

      종류기호사용법설명
      표준 출력(덮어쓰기)>명령어 > 파일명령어의 표준 출력 스트림의 도착 지점을 파일로 설정(덮어쓰기)
      표준 출력(추가)>>명령어 >> 파일명령어의 표준 출력 스트림의 도착지점 파일에 내용 추가
      표준 입력<명령어 < 파일파일로부터 입력 받음
    • 예를 들어, ls > hello.txt는 ls 명령어의 결과를 hello.txt에 저장하는 것을 의미합니다.

    • 파이프는 서로 다른 프로세스간 작동하는 방식입니다. 두 개 이상의 명령어를 연결해서 실행하는 방식입니다. ‘|’ 기호를 사용하여 A|B 라고 하면 A 커맨드의 표준 출력을 B 커맨드의 표준 입력으로 사용한다는 의미입니다.

    • 예를 들어, ps -ef | grep hello 는 ps -ef 명령어를 통해 나온 출력 결과 중 hello라는 문자를 포함하는 결과를 출력한다는 내용입니다. 참고로 ps 명령어는 실행중인 프로세스 목록을 보는 명령어이며, -e 옵션은 실행중인 모든 프로세스 정보를 표시, -f 옵션은 프로세스에 대한 자세한 정보를 출력한다는 옵션입니다.

      출처 : https://losskatsu.github.io/os-kernel/linux-redirection/#

profile
🤗
post-custom-banner

0개의 댓글