Linux

[따배쉘] 3.Metacharacters, Quoting, Nesting, Alias, Prompt

finepiz 2022. 8. 15. 18:01

===

https://youtu.be/UlQ-xu-koR0

3.Bash Shell의 기능 (1)

 

===

 

===

Quoting Rule보기 전에 Metacharacters라는걸 이해해보자

 

===

* : All Characters

a* : a로 시작하는 파일을 모두 보여준다

? : Any Single Character, ????면 네개의 글자수를 갖고 있는 어떤 문자든 상관없이

{1..3} : 1부터 3까지  --더 설명 안하심

 

===

Qouting Rule은 저런 의미가 있는 문자들의 의미를 없애고 문자 자체로 인식 시켜주는 것

 

===

메타 캐릭터가 있는 파일은 single qoute 붙여서서 보여주고 있네요

blank는 커맨드와 옵션과 argument를 분리시켜주는 Metacharacter

 

===

Nesting Commands

command안에 또 다른 command

 

===

저 위치에서 커맨드를 실행하고 싶어요  ▽꼭 " " 안이 아니더라도 쓸 데 많다 아래 나온다

 

===

이렇게 하면 저게 먼저 실행돼서 치환된다

${ }안에다 리눅스 커맨드를 집어넣는다

` `사이에 커맨드를 집어넣는다

 

===

date --help

그럼 회사에서 업무상 문서 만들 때 끝에 마지막으로 편집한 날짜 집어넣을 때가 있을텐데

이런식으로 쓸 수 있다

 

===

" "는 안에 있는 $(), `` 얘네 살려주고, 나머지 Metacharacter의 의미는 제거

' ' 는 다 제거

 

===

Alias

길고 복잡한 명령을 새롭고 간단하게

alias name='command' : 오른쪽의 커맨드를 왼쪽으로 쓸 거야

alias : 현재 등록돼 있는 alias 보여줘

alias name : 얘만 자세히 보여줘

unalias name : 삭제해줘

 

===

egrep 을 실행하면 저 오른쪽에 저게 실행된다

저 중에 ls -alF 중에 F는

파일의 속성 출력해줄 때

  디렉토리 끝에 /

  실행파일인 경우에 *

하나만

 

===

이제 c누르면 clear된다

 

===

활용 예

rm은 안물어봐. 좀 위험해. -i쓰면 물어봐 줘

이렇게 된다

i : interactive mode, copy할때도 move할때도 쓰인다.

 

===

history : 내가 실행했던 명령어 리스트를 보여준다

 

===

Prompt

PS1이라는 변수에다 적용할 수 있는 특수문자!

bash prompt검색하면 저런 Metacharacter가 많이 나온다. 다른 말로 escape character

 

===

login돼 있는 유저 @ host네임 : 현재작업디렉토리

로 구성 돼 있다

 

===

prompt모양도 바꿔볼 수 있다

PS1이라는 환경변수에 들어있다

 

데비안 루트를 빼놓고 저 하이라이팅 된것으로 적용 돼 있다

u가 username

h가 hostname

w가 작업디렉토리

 

===

바꿔보면

$는 그냥 프롬프트 모양

[]는 단순한 문자

대문자 W는 현재 작업 디렉토리, full PATH가 아니라

 

바꾸니까 현재 위치인 local만 보여

▽그리고 []가 생겼고 띄어쓰기가 돼 있어

▽single quote가 무효화를 안 시켰네?

 

===

한칸 띄어쓰기 적용 됨~

 

===

근데 exit하고 다시 log in 해보면 prompt모양이 원래 모양대로 바뀌었다

alias나 환경변수는 로그인 돼 있는 시점에만 적용이 된다

그래서 많이 쓰는 alias는, PS1는

여기다 등록해주면 된다

 

===

맨 아래에다가 써주면 된다

▽시작할때마다 실행하고 시작하는건가? 맨 마지막시간에 로그인할 때 적용되는 파일을 정리해준대

다 적용됨

alias나 PS1같은건 .bashrc파일에 등록해놔야 한다