[컴퓨터공학] 시스템 프로그래밍 - 리다이렉션과 파이프

less than 1 minute read

시스템 프로그래밍 - 리다이렉션과 파이프

패스트캠퍼스 강의 보면서 정리하고 있습니다

표준 입출력(Standard Stream)

  • 표준 입력 스트림(STDIN, Standard Input Stream)
  • 표준 출력 스트림(STDOUT, Standard Output Stream)
  • 오류 출력 스트림(STDERR, Standard Error Stream)

리다이렉션(Redirection)

  • 표준 스트림 흐름을 바꿀 수 있음
    • >, <
    • 주로 명령어 표준 출력을 파일에 쓸 때 사용

리다이렉션 예

  1. ls > files.txt
    • ls로 출력되는 표준 출력 스트림의 방향을 files.txt로 바꿈 (files.txt에 ls로 출력되는 결과가 저장됨)
  2. head < files.txt
    • files.txt의 파일 내용이 head 명령으로 실행
      (files.txt의 앞 10라인이 출력)
  3. head < files.txt > files2.txt
    • files.txt의 파일 내용이 head로 실행
    • head의 출력 스트림이 files2.txt로 들어감
    • head는 files.txt 내용을 출력하지 않고 해당 출력이 다시 files2.txt에 저장
    • 결과적으로 files.txt의 앞 10라인이 files2.txt에 저장
  4. 기존 파일에 추가
    • , «

    • ls » files.txt
    • 기존에 있는 files.txt에 ls 출력 결과를 추가

파이프 (pipe)

  • 두 프로세스 사이에서 한 프로세스의 출력 스트림을 또 다른 프로세스의 입력 스트림으로 사용할 때

파이프 예

  • ls grep files.txt
    • ls 명령을 통한 출력 내용이 grep 명령의 입력 스트림으로 들어감
    • grep files.txt는 grep 명령의 입력 스트림을 검색해서 files.txt가 들어 있는 입력 내용만 출력
    • ls 명령으로 해당 디렉토리/파일 중 files.txt 파일이 있는지는 출력