https://youtu.be/UlQ-xu-koR0?si=RDY-uD3Ae7YeKuYd 해당 강의 참고하였습니다.
- Metacharacters
- Shell에서 특별히 의미를 정해 놓은 문자들
\ ? ( ) $ ... * {} [] 등
- Shell에서 특별히 의미를 정해 놓은 문자들
1. Quoting Rule
- 메타문자의 의미를 제거하고 단순 문자로 변경
- Backslash (\) : \ 바로 뒤의 메타 문자는 특별한 의미를 제거한다
- touch * : *은 와일드카드 문자로서 현재 디렉토리에 일치하는 파일을 나타낸다. 그러므로 * 이름의 파일 생성이 안된다touch \* : 메타 문자 의미를 제거하여 * 이름의 파일 생성
- Double Quotes(" ") : " " 내의 모든 메타문자의 의미를 제거. 단 $, "은 제외한다
- Single Quotes(' ') : ' ' 내의 모든 메타문자의 의미를 제거한다
2. Nesting commands
- command 안에 또 다른 command 를 사용하려고 할때 사용한다.
- echo "Today is $(date)" : Double Quotes 룰 때문에 해당 내용 메타문자 의미가 제거 되지만 $() 문법 안에선 command가 실행된다.( ` ` : $(date) 대신 `date`도 같은 결과가 나온다)
3. Alias
- alias 등록 : alias name='command'
- alias c=clear : c 입력 시 clear 명령어 적용된다
- alias 확인 : alias or alias name
- alias 삭제 : unalias name
4. Redirection
- STDIN (0<, 0<<): 입력을 키보드가 아닌 파일을 통해 받음
mailx -s "SAMPLE MAIL" test.test@localhost 0< messages.txt
SAMPLE MAIL이라는 제목을 통해 메일을 보낼 경우 messages.txt 안의 내용으로 메일을 전달한다. - STDOUT(1>, 1>>) : 표준 출력을 터미널이 아닌 파일로 출력
ls -l > text.txt : ls -l 결과를 터미널 출력이 아닌 text.txt 파일에 저장한다. - STDERR(2>, 2>>) : 표준 에러 출력을 터미널이 아닌 파일로 출력
date2 > text.txt : date2는 없는 명령어 여서 error 가 발생하는데 해당 error 메세지를 text.txt 로 저장한다.
5. Pipeline
- 명령의 실행결과를 다음 명령의 입력으로 전달
- 리눅스의 명령어를 조합하여 사용
- command1 | command2 | command3
- ls -l | wc -l : ls -l 파일 및 폴더 의 개수를 확인하는 조합
'리눅스 > Bash Script' 카테고리의 다른 글
[Bash Script] Bash Script 프로젝트 : CloudUploader(AWS CLI, S3) (0) | 2023.11.12 |
---|---|
[Bash Script] 산술연산 및 looping(while,until,for) (0) | 2023.11.10 |
[Bash Script] Branching(exit, test, if-then-fi, case) (0) | 2023.11.08 |
[Bash Script] Input & output(echo, read) (0) | 2023.11.07 |
[Bash Script] 환경변수 및 Bash script (0) | 2023.10.30 |