Bash Shell의 Rules

이승현·2022년 9월 22일
0
post-thumbnail

Meta Characters

Shell에서 특별히 의미를 정해 놓은 문자들
\ ? () $ ... * % {} []

 - * (All Characters : 에스터리스크)
 - ? (Any Single Character) ex) echo ???? -> 4개의 문자를 가진 file 출력
 - {숫자1..숫자2} : 숫자1부터 2까지를 뜻함

1. Quoting Rule

메타문자의 의미를 제거하고 단순 문자로 변경

- BackSlash(\)
 \ 바로 뒤의 메타 문자는 특별한 의미를 제거

- Double Quotes("")
"" 내의 모든 메타문자의 의미를 제거. 단 $, ``은 제외

- Single Quotes('')
'' 내의 모든 메타문자의 의미를 제거


2. Nesting Commands

- Command 치환
명령어의 실행 결과를 치환하여 명령을 실행
- Nesting Commands
$(command)
`command`
리눅스 명령어 date : 현재 시각

$(date +%Y%m%d) :: YYYYmmdd형태로 현재 날짜 출력

3. Alias

- alias
Shell의 명령에 새로운 이름을 부여
명령들을 조합하여 새로운 이름의 명령을 생성
$alias
현재 등록된 모든 alias 출력

-alias 관리 명령
alias 등록 : alias name='command' 
ex) alias c='clear' alias h='history' alias rm='rm -i'
alias 확인 : alias or alias name
alias 삭제 : unalias name

확인

등록

rm -i filename
파일 지울건지 확인하는 옵션 -i

alias에 등록 rm=rm -i
rm '  '

삭제

4. Prompt

Shell의 Prompt란?
PS1 변수를 이용해 shell의 기본 프롬프트 모양을 설정
Bash Shell에서만 Prompt 모양에 적용 가능한 특수 문자가 존재

\h : 호스트 이름
\u : 사용자 이름
\w : 작업 디렉토리 - 절대 경로
\W : 작업 디렉토리 - 상대 경로
\d : 오늘 날짜
\t : 현재 시간
\$ : $또는 # 프롬프트 모양
로그인 되어 있는 유저 : ubuntu

프롬프트 모양

PS1 변경 후

alias와 PS1은 exit하고 다시 접속하면 없어짐
따라서 .bashrc 파일에 등록해야지 다음에도 사용할 수 있음

5. Redirection

  • 파일에 대해서 입출력 방향을 전환시켜줌

Communication Channels

표준 입력 채널 0번: 키보드로 연결됨
표준 출력 채널 1번 : 터미널로 연결됨
표준 에러 출력 채널 2번 : 터미널로 연결됨

이러한 입출력 방향을 바꿀 수 있는 것이
-> Redirection

mailx [계정명]
계정에게 메일 보내기
-s : subject

6. Pipeline

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

$ls -l | wc -l
wc -l 총 라인 수 출력

$ cat /etc/passwd | cut -d: | sort | wc -l
유저들의 리스트 개수
cut -d: ':'을 분리 문자로 구분
sort

자주 쓰는 command는 앞서 했던 alias를 이용해 간단하게 사용할 수 있음

0개의 댓글