2013-10-20

맥 터미널 프롬프트를 예쁘게 만들어 보자!

맥 터미널은 너무 밉게 생겼다. 사용성도 불편하고 나쁘다. 좋게 만들어 보자. 

Screen Shot 2013 10 19 at 9 55 38 PM

 

철학:

1. 내가 사용하는 컴퓨터의 이름이 나와야 한다. 여러 대의 컴퓨터를 쓰기 때문에 어떤 컴퓨터에 로그인 한 건지 모르면 안 된다.

2. 절대경로가 보여서 어느 위치에 있는지 쉽게 알 수 있어야 한다.

3. 중요한 정보는 굵은 글씨와 색깔로 알기 쉽게 표현한다.

 

현재 터미널 상황을 살펴보자. 이것이 기본 셋팅이다.

Screen Shot 2013 10 19 at 9 27 53 PM

다음과 같은데, 구조는 컴퓨터이름:경로 사용자이름$ 이렇게 되어있다.

 

보이는 것은 이렇고 실제 어떻게 구성되어 있는지 보자. 터미널을 열고 아래를 입력해 보자. 프롬프트 셋팅, 즉 PS1을 확인하는 것이다.

echo $PS1

 

그러면 이렇게 나올 것이다. 

\h:\W \u$ 

 

이것의 의미는

\h 컴퓨터 이름을 의미한다. host

: 그냥 이 땡땡(콜론)을 표시한다는 의미다. 문자 그대로 보인다는 의미.

\W 디렉토리 경로를 표시한다. Where \W는 단축경로, \w는 절대경로이다.

\u 유저이름이다. 사용하는 계정 이름. user

$ 이것도 이 문자 그대로 보인다는 뜻이다.

 

PS1="프롬프트셋팅" 커맨드를 입력하면 바뀐다. 터미널 재 시작 하면 원래대로 돌아오니 마음 놓고 해보자.

 

자 이제 포맷을 알았으니 재 구성을 해보자 내가 할 구성은 이렇다.

사용자이름@컴퓨터이름 절대경로 $

 

재 구성해 보면 이렇게 된다.

\u@\h \w $

 

커맨드 명령어의 구조는 이렇다. 단순하다.

PS1="프롬프트내용"

 

다음 커맨드를 입력해 보자. 영원히 바뀌는 것이 아니라 일시적으로 바뀌는 것이기에 마음 놓고 해 보자. 재 시작 하면 다시 원래대로 된다.

PS1="\u@\h \w $ "

 

그러면 다음과 같이 절대 경로로 보인다! 단축 경로로 보여서 항상 내가 어디에 있는지 헷갈리던 상황을 벗어난다!

Screen Shot 2013 10 19 at 9 32 12 PM

 

중요한 내용을 굵게(Bold) 처리하는 방법을 알아보자. Bold를 하기 위한 문법은 이렇다.

\033[01;32m\]볼드시킬내용\033[00m\]

 

중요한 내용을 색깔로 알아보기 쉽게 하기 위한 문법은 이렇다. 0;34m은 보라색이다.

\e0;34m\색깔바뀌는내용\e[m

 

내가 만들고 싶은 프롬프트 구조는 이렇다.

1. 사용자이름과 컴퓨터 이름이 굵은 글씨로 나온다.

2. 절대경로는 색깔(보라색)으로 굵은 글씨로 나온다.

3. 마지막 $ 표시는 색깔을 다시 없앤다.

 

이것들을 기반으로 재 구성해 보면 이렇게 된다.

PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] $ "

 

명령어를 입력하면 이렇게 바뀐다.

Screen Shot 2013 10 19 at 9 45 47 PM

 

예쁘게 바뀌었다.

 

다시 비교해 보자. 원래 프롬프트다.

Screen Shot 2013 10 19 at 9 19 51 PM

 

내가 만든 형식이 적용된 프롬프트다.

Screen Shot 2013 10 19 at 9 20 35 PM

 

터미널을 껐다가 키면 이 셋팅이 사라지니까 영구히 저장해 보자.

 

맥에는 기본적으로 이 파일이 없으니 새로 만든다.

touch ~/.bash_profile

 

파일을 수정한다.

sudo nano ~/.bash_profile

 

이것을 추가한다.

export CLICOLOR=1

export CLICOLOR_FORCE=1

export LSCOLORS=Exfxcxdxbxegedabagacad

export PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] $ "

 

위에 내용 설명이다.

export CLICOLOR=1 이것은 터미널에서 칼라를 쓰겠다는 뜻이다. 기본적으로 꺼져 있다.

export CLICOLOR_FORCE=1 이것은 언제나 항상 칼라로 보여주겠다는 뜻이다. always로 동작하게 해 준다.

export LSCOLORS=Exfxcxdxbxegedabagacad 이것은 칼라 셋팅값이다. 바꿀 수 있다. LSCOLOR 값을 수정하면 되는데 좀 귀찮다.

export PS1="\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w\[\033[00m\] $ " 방금 위에서 내가 만든 값이다. export를 붙여줘야 자동으로 등록된다.

 

터미널을 껏다가 키면 설정이 저장된 것을 알 수 있다.

Screen Shot 2013 10 19 at 10 11 22 PM

 

다시 원 상태로 복구 하려면 만든 ~/.bash_profile을 삭제하거나, 추가한 명령어를 지우면 된다. 간단하게 지워도 된다. 왜냐면 맥 디폴트가 이 파일이 없기 때문이다.

sudo rm ~/.bash_profile

 

재 부팅하면 원래대로 돌아와 있을 것이다.

 

마지막으로 터미널 나의 터미널 preference는 이렇다. Homebrew사용하고 Use bold fonts 그리고 Use bright colors for bold test.

Screen Shot 2013 10 19 at 10 46 05 PM

 

 

참고:

http://itsmetommy.com/2011/02/09/mac-changing-your-shell-prompt/

http://osxdaily.com/2006/12/11/how-to-customize-your-terminal-prompt/

http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linux-prompt-like-angelina-jolie/

No comments:

Post a Comment