Bash Shell Programming

Bash Shell Programming(4)

Joon0464 2021. 7. 21. 22:11

본 글은 아래 영상을 통해 공부하고 작성했습니다. 제 글보다 영상 시청이 더 도움 될 것입니다.

https://youtu.be/lhtdmcYllfA

1. Redirection

- Communication Channels

stdin: 입력을 통해서 프로그램에게 전달하는 채널, 키보드를 사용, 리눅스는 0번 채널을 사용

터미널: 프로그램이 작업한 결과를 보여줄 때 사용하는 디바이스

stdout: 입력에 대한 결과를 사용자에게 전달하는 채널, 리눅스는 1번을 사용

stderr: 에러메시지를 사용자에게 전달하는 채널, 리눅스는 2번을 사용

- Redirection

Redirection 사용 예시

mailx를 사용하여 메일을 보내면 키보드를 통해 stdin(표준입력)을 받는다.
입력에 사용할 파일을 미리 생성하고 0< 을 사용하여 stdin을 키보드가 아닌 파일로 바꿔준다.

리다이렉션 0, 1은 생략이 가능하다.

 

date를 입력하면 결과값을 사용자에게 모니터로 출력해준다. date abce로 잘못 입력한 stderr도 사용자에게 모니터로 출력해준다.

> 를 사용하면 출력을 파일로 지정할 수 있다. 만약 기존에 date.out이라는 파일이 존재하면 해당 파일의 내용을 덮어씌우고 작성된다.
2> 를 사용하면 에러 메시지 출력을 파일로 지정할 수 있다.

>> 를 사용하면 출력 결과를 기존에 존재하는 파일의 내용 밑에 추가하는 방식으로 동작한다.

2. Pipeline

  • 명령의 실행 결과를 다음 명령의 입력으로 전달
  • 리눅스의 명령어를 조합하여 사용
  • 기호: command1 | command2 | commnand3

wc -l은 줄의 개수를 세어주므로 ls -l 의 결과의 줄 수가 33개라는 뜻이다. 즉 파일이 33개 존재한다는 의미이다.
ls -l 의 결과를 한 페이지씩 출력해줌
/etc/password 에서 :을 기준으로 1번째 필드의 내용만 출력해줌

'Bash Shell Programming' 카테고리의 다른 글

Bash Shell Programming(6)  (0) 2021.07.23
Bash Shell Programming(5)  (0) 2021.07.22
Bash Shell Programming(3)  (0) 2021.07.21
Bash Shell Programming(2)  (0) 2021.07.19
Bash Shell Programming(1)  (0) 2021.07.18