리눅스 쉘 사용법 이해 - 리다이렉션과 파이프

SummerToday·2024년 1월 29일

도커, 서버 기술

목록 보기
4/34
post-thumbnail

Standard Stream (표준 입출력)

리눅스의 쉘에서 Command로 실행되는 프로세스는 다음 세가지 스트림을 가지고 있다.

  • 표준 입출력 스트림 (Standard Input Stream) - stdin
  • 표준 출력 스트림 (Standard Output Stream) - stdout
  • 오류 출력 스트림 (Standard Error Stream) - srderr

리다이렉션 (Redirection)

표준 입력이나 표준 출력을 키보드나 화면으로 한느 것이 아니라 방향을 바꿔(리다이렉션) 파일로 입력을 받거나 파일로 출력하도록 변경하는 행위를 의미한다.

  • (명령) > (파일) : 표준 출력으로 출력하는 것을 화면이 아닌 특정 파일로 출력.
    ex. ls > files.txt
    : ls 로 출력되는 표준 출력 스트림의 방향을 files.txt 로 바꾼다. (files.txt 에 ls 로 출력되는 결과가 저장됨)

  • (명령) >> (파일) : 명령의 결과를 기존 파일의 끝 부분부터 추가.
    ex. head < files.txt
    : 기존에 있는 files.txt 파일 끝에, ls 출력 결과를 추가한다.

  • (명령) < (파일) : 표준 입력으로 입력 받는 것을 키보드가 아닌 다른 파일로부터 입력.
    : files.txt 의 파일 내용이 head 라는 파일의 처음부터 10 라인까지 출력해주는 명령으로 넣는다. (files.txt 의 앞 10 라인이 출력됨)

파이프 (Pipe)

'|'를 사용하여 어떤 프로세스의 표준 출력을 다른 프로세스의 표준 입력으로 사용하게 하는 것이다.

ex. ls | grep files.txt
ls 명령을 통한 출력 내용이 grep 명령의 입력 스트림으로 들어간다. grep files.txt 는 grep 명령의 입력 스트림을 검색해서 files.txt 가 들어 있는 입력 내용만 출력해준다.
따라서, 해당 명령어는 ls명령으로 해당 디렉토리/파일 중에 files.txt 파일이 있는지를 출력하는 명령어이다.

  • grep : 검색 명령어
    grep [-option][pattern] [file or directory name]

    [option]
    -i : 영문의 대소문자를 구별하지 않는다.
    -v : pattern을 포함하지 않는 라인을 출력한다.
    -n : 검색 결과의 각 행의 선두에 행 번호를 넣는다(first line is 1).
    -l : 파일명만 출력한다.
    -c : 패턴과 일치하는 라인의 개수만 출력한다.
    -r : 하위 디렉토리까지 검색한다




해당 글은 다음 강의의 내용을 참고한 글임을 밝힙니다. 자세한 내용은 다음 강의에서 확인해볼 수 있습니다. 인프런, 잔재미 코딩, ⌜풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]⌟
profile
블로그 이관했습니다.

0개의 댓글