[따배쉘] 4. Bash shell과 Rules(2)
※ 본 내용은 따배런님의 영상을 기반으로 하였습니다.
개인적인 정리이기 떄문에 명령어 관련해서 오류가 있을 수 있음
1. Redirection
2. Pipeline
- Communication Channels
- Redirection
Communication channels | Redirection characters | 의미 | |
STDIN | 0< | 0<< | 입력을 키보드가 아닌 파일을 통해 받음 |
STDOUT | 1> | 1>> | 표준 출력을 터미널이 아닌 파일로 출력 |
STDERR | 2> | 2>> | 표준 에러 출력을 터미널이 아닌 파일로 출력 |
mailx [계정명]
계정에게 메일 보내기
mailx가 없어서
sudo apt install mailutils
먼저 다운
다 쓰고 난 뒤
Ctrl + D
키보드 입력을 파일로 저장 (1> or >)
키보드의 입력이 아닌 파일을 통한 입력 (0< or <)
계정 변경 su - [계정이름]
mailx -> 받은 메일 확인
넘버링을 이용해서 지정된 메일 확인할 수 있음
q로 종료
※ 파일 입력(0)과 파일 출력(1)은 생략할 수 있음!
1과 2는 파일형태로 출력
기존의 파일이 없으면 생성, 있으면 덮어쓰기가 됨.
덮어쓰기가 아닌 지속적으로 내용이 누적되어 생성 (>>)
동시에 정상적으로 존재하는 파일은 정상적으로 표시, 존재하지 않는 파일은 에러메시지 출력
일반적으로 에러메시지는 아래와 같이 처리함.
/dev/null
소각장같은 파일임 <- 들어가면 다 없어짐
에러메시지 지우기 위함
이런 형태로 Redirection 사용
2. Pipeline
- 명령의 실행결과를 다음 명령의 입력으로 전달
- 리눅스의 명령어를 조합하여 사용
- 기호 : command1 | command2 | command3 ...
| -> (버티컬 바)
wc -l 명령어 : 총 라인 수 출력
버티컬 바를 기준으로 왼쪽의 명령 실행결과가 오른쪽 명령어 입력으로 들어감
버티컬 바를 이용하면 명령어를 묶어서 사용
more 명령어 : 한페이지씩 출력 - (이동) 스페이스 바 -
sort 명령어 : 정렬
uniq 명령어 : 중복제거
Pipeline의 제한된 길이는 없음. 일반적으로 자주 쓰이는 형태의 묶음 형태의 명령어를 alias로 만들어 놓으면 용이하게 사용할 수 있음.