Bash 리다이렉트 vs 파이프
1. 리다이렉트
프로그램의 결과 혹은 출력(output)을 파일이나 다른 스트림으로 전달
$ ps -ef > text.txt
- 왼쪽 명령어의 결과(output)를 text.txt파일에 남김, 즉 좌측의 stdout을 우측의 파일에 남김
- Redirection이란 IPC(Interprocess Communication)중에 하나로 사진과 같이 standard stream을 유저가 정의한 형태(파일 형태)로 redirect해주는것을 의미
2. 파이프
프로세스 혹은 실행된 프로그램의 결과를 다른 프로그램으로 넘겨줄 때 사용
$ ps -ef | grep bash
- 왼쪽 명령어의 결과(output)을 오른쪽에 있는 명령어에 입력(input)으로 전달, 즉 좌측의 stdout을 우측의 stdin으로 전달
- Pipe이란 IPC(Interprocess Communication)중에 하나로 사진과 같이 한 프로그램의 stdout을 다른프로그램의 stdin으로 전달하는 방법. 즉, 한 프로그램의 출력을 다른 프로그램의 입력값으로 전달해주는 방법.
참고 : https://twpower.github.io/133-difference-between-redirect-and-pipe
3. grep
입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어
- 정규 표현식(Regular Expression)에 의한 패턴 매칭(Pattern Matching) 방식을 사용해 단순 문자열 비교보다 더 고급 검색을 사용한다