-
서버 기술 기초 요약 - 리눅스 쉘 사용법 이해 2CS지식/운영체제 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 : 하위 디렉토리까지 검색한다.'CS지식 > 운영체제' 카테고리의 다른 글
서버 기술 기초 요약 - 리눅스 사용법 이해 4 (0) 2022.05.01 서버 기술 기초 요약 - 리눅스 쉘 사용법 이해 3 (0) 2022.05.01 서버 기술 기초 요약 - 리눅스 쉘 사용법 이해 1 (0) 2022.04.30 리눅스5-쉘과 프롬프트 (0) 2022.01.12 리눅스4-우분투 설치(서버 버전) (0) 2022.01.12 - command로 실행되는 프로세스는 세가지 스트림을 가지고 있음