Shell에서 특별히 의미를 정해 놓은 문자들
\ ? () $ ... * % {} []
- * (All Characters : 에스터리스크)
- ? (Any Single Character) ex) echo ???? -> 4개의 문자를 가진 file 출력
- {숫자1..숫자2} : 숫자1부터 2까지를 뜻함
메타문자의 의미를 제거하고 단순 문자로 변경
- BackSlash(\)
\ 바로 뒤의 메타 문자는 특별한 의미를 제거
- Double Quotes("")
"" 내의 모든 메타문자의 의미를 제거. 단 $, ``은 제외
- Single Quotes('')
'' 내의 모든 메타문자의 의미를 제거
- Command 치환
명령어의 실행 결과를 치환하여 명령을 실행
- Nesting Commands
$(command)
`command`
리눅스 명령어 date : 현재 시각
$(date +%Y%m%d) :: YYYYmmdd형태로 현재 날짜 출력
- 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 ' '
삭제
Shell의 Prompt란?
PS1 변수를 이용해 shell의 기본 프롬프트 모양을 설정
Bash Shell에서만 Prompt 모양에 적용 가능한 특수 문자가 존재
\h : 호스트 이름
\u : 사용자 이름
\w : 작업 디렉토리 - 절대 경로
\W : 작업 디렉토리 - 상대 경로
\d : 오늘 날짜
\t : 현재 시간
\$ : $또는 # 프롬프트 모양
로그인 되어 있는 유저 : ubuntu
프롬프트 모양
PS1 변경 후
alias와 PS1은 exit하고 다시 접속하면 없어짐
따라서 .bashrc 파일에 등록해야지 다음에도 사용할 수 있음
Communication Channels
표준 입력 채널 0번: 키보드로 연결됨
표준 출력 채널 1번 : 터미널로 연결됨
표준 에러 출력 채널 2번 : 터미널로 연결됨
이러한 입출력 방향을 바꿀 수 있는 것이
-> Redirection
mailx [계정명]
계정에게 메일 보내기
-s : subject
명령의 실행결과를 다음 명령의 입력으로 전달
리눅스의 명령어를 조합하여 사용
기호 : 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를 이용해 간단하게 사용할 수 있음