※ 본 내용은 따배런님의 영상을 기반으로 하였습니다.
개인적인 정리이기 떄문에 명령어 관련해서 오류가 있을 수 있음
1. Quoting Rule
2. Nesting commands
3. Alias
4. Prompt
1.Quoting Rule
Metacharacters
- Shell에서 특별히 의미를 정해놓은 문자들
- ? {} $ ... * % () [] 등
Quoting Rule : 메타문자의 의미를 제거하고 단순 문자로 변경
- Backslash(\)
- \ 바로 뒤의 메타 문자만 특별한 의미를 제거
Double Quotes(" ")
- " " 내의 모든 메타문자의 의미를 제거. 단 $, ` ` 은 제외
Single Quotes('')
- ' ' 내의 모든 메타문자의 의미를 제거
ls
echo * (* All Character 의미, 전체 파일)
echo B* (B로 시작하는 파일을 모두 보여줘!)
단어를 찾을 때 유용하게 사용
echo *a , ehco *a*, echo ?????, echo B??????
파일 생성시 {1..3} 같이 사용시 순차적으로 생성
2. Nesting commands
Command 치환
- 명령어의 실행 결과를 치환하여 명령을 실행
Nesting Commands
$(command)
'command'
$ echo "Todaty is $(date)"
$ echo "Today is `date`"
다 동일
커맨드 명령 실행 후 echo 명령어 실행
date --help
date 와 관련된 옵션들을 모두 보여줌
추가 옵션을 붙일 수 있음
date +%Y%m%d 날짜 형태를 지정
Nesting Command를 사용해서 출력할 수 있음
alias
- Shell의 명령에 새로운 이름을 부여
- 명령들을 조합하여 새로운 이름의 명령을 생성
alias 관리 명령
- alias 등록 : alias name='command'
- alias 확인 : alias or alias name
- alias 삭제 : unalias name
alias 현재 등록된 모든 alias 출력
ll -> ls -alF (파일을 자세하게 출력)
F는 파일의 속성을 의미 '/' 로 끝나면 디렉토리 '*'로 끝나면 실행파일 의미
alias 하나만 찾고 싶을 때
alias [이름]
clear 명령어를 'c' 단축키로 등록 후 사용
rm 명령어를 그냥 사용하면 사용자 동의없이 바로 실행
rm -i [파일명] 사용시 재차 확인
-i 권장사용
rm='rm -i' 도 alias 등록
history (과거 사용했던 명령어 출력)
이것도 alias 등록 후 사용
alias 삭제 예시
whoami <- 로그인되어있는 유저
user : 유저
ubuntu : 호스트네임
~ 현재 작업 디렉토리
3.Shell의 Prompt란?
- PS1 변수를 이용해 shell의 기본 프로프트 모양을 설정
- Bash shell에서만 Prompt 모양에 적용가능한 특수문자가 존재
특수 문자 | 의미 |
/h | 호스트 이름 |
/u | 사용자 이름 |
/w | 작업 디렉토리 - 절대경로 |
/W | 작업 디렉토리 - 상대경로 |
/d | 오늘 날짜 |
/t | 현재시간 |
/$ | $ 또는 #프롬프트 모양 |
디렉토리 변경시 작업할 수 있는 Prompt 공간이 적어짐
echo $PS1 <= 현재 Prompt 모양
프롬프트 모양을 변경한다
PS1=[\u@\h \W]\$
alias나 PS1 같이 환경변수를 설정되고 유지되는 건 현재 쉘이 살아있는 동안만 유지됨
로그아웃시 다 초기화됨
그러므로 계속 유지하고 싶을 시 .bashrc 파일에 직접 넣어줘야 함
exit 후 다시 재실행또는 로그인 시 적용
'공부 > Shell' 카테고리의 다른 글
[따배쉘] 4. Bash shell과 Rules(2) (0) | 2024.09.10 |
---|---|
[따배쉘] 2. Bash shell과 변수 (0) | 2024.09.07 |
[따베쉘] 1. Linux Shell이란? (0) | 2024.09.07 |
[따배쉘] linux Shell Programming Go~ (0) | 2024.09.04 |