ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서버 기술 기초 요약 - 리눅스 쉘 사용법 이해 2
    CS지식/운영체제 2022. 5. 1. 11:47

    리다이렉션과 파이프

     

    Standard Stream (표준 입출력)

    • command로 실행되는 프로세스는 세가지 스트림을 가지고 있음
      • 표준 입력 스트림(Standard Input Stream) - stdin
      • 표준 출력 스르림 (Standard Output Stream) - stdout
      • 오류 출력 스트림(Standard Error Stream) - stderr
    • 모든 스트림은 일반적인 plain text로 console에 출력하도록 되어 있음

    리다이렉션(redirection)

    • 표준 스프림 흐름을 바꿔줄 수 있다.
      • >,< 을 사용함
      • 주로, 명령어 표준 출력을 화면이 아닌 파일에 쓸 때

     [입력프로그램] > [빈 파일명]

    위 와 같이 명령어를 쓰면, 입력프로그램 명령으로 인한 표준 출력이 화면이 아니라 통로가 바뀌어서 파일 안으로 들어 가게된다.

    예)

    ls > files.txt

    • ls로 출력되는 표준출력 스트림의 방향을 files.txt로 바꿔 준다.(files.txt에 ls로 출력되는 결과가 저장됨)
    • 다시 ls -al > files.txt 를 하면 앞전에 file에 넣었던 내용이 덮어 쓰여진다.
    • ls -al >> files.txt 라고 쓰면 원래 있던 내용에 이어서 내용이 출력된다.
      • 도커를 실행하고 나서 특정 결과를 file로 저장하고 싶다면, 사용할 수 있는 명령어이다.

    head < files.txt

    • files.txt의 파일 내용이 head로 인해 파일의 처음 부터 10라인까지 출력되어 명령으로 넣어진다. (files.txt의 앞 10라인이 출력됨)

     

    파이프(pipe)

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

    응용프로그램의 출력을 그 다음 프로그램의 입력으로 바꿀 때 많이 사용한다.

     

    ls -al | grep bash  : ls -al이 명령어고, grep이 또 명령어 이다. 즉 ls -al의  출력 결과가 grep의 입력 으로 들어 가는데,  ls -al을 출력 데이터 중에서 grep의 뒤에 오는 키워드와 같은 키워드를 가지는 라인을 출력한다라고 생각하면 된다.

     

    ps aux | grep bash
    위와 같은 명령어를 많이 사용한다.
    지금 이 리눅스 서버에 실행되고 있는 프로그램 중에 특정 프로그램이 있는지 확인하기 위해서이다.

    ps aux : 프로그램의 실행 중 인 전체 리스트를 의미한다.

    | grep bash : 그 실행 중인 리스트에서 내가 찾고자하는 프로그램이 있는지 확인할 때 사용되는 명령어 이다.


     

    참고 : grep 명령어

    grep : 검색 명령

    - grep [-option][pattern][file or directory name]

     

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

     

    [출처 - https://www.inflearn.com/course/%EC%84%9C%EB%B2%84%EA%B8%B0%EC%88%A0-%ED%92%80%EC%8A%A4%ED%83%9D-3/dashboard]

    댓글

Designed by Tistory.