• logo

      SeolMyeongTang

  • 나의 소중하고 자그마한 쉘

    2021년 8월 04일

    UNIX 환경에서 작업을 많이 하는 저한테는 터미널 사용이 필수 불가결한 프로그램입니다. 터미널을 많이 사용하다보니 터미널 환경에 신경을 쓰는 편입니다. 이번에는 터미널 환경설정을 다루는 방법에 대해 설명드리겠습니다.

    터미널 쉘은 종류가 많습니다. 가장 기본적인 쉘인 sh부터 대부분 UNIX 환경에서 쓰이는 bash, 많은 기능을 제공해주는 zsh. 모든 쉘에서 rc로 끝나는 설정파일이 있습니다. sh라면 .ashrc bash라면 .bashrc zsh라면 .zshrc 이름으로 존재합니다. 리눅스 우분투라면 /root 위치에 맥 이라면 /Users/[USER NAME] 위치에 있을 겁니다. 이제 이 파일을 vi나 에디터를 열고 설정해봅시다. 제가 처음 터미널을 사용하면 꼭 설정하는 2가지 항목이 있습니다. 대중적으로 많이 쓰이는 bash을 기준으로 작성하겠습니다.

    1. 명령프롬프트 변수(PS1) 설정하기

      처음 터미널을 열면 하이라이팅 없이 밋밋한 하얀색 글씨의 터미널을 볼 수 있습니다. 사용자 계정명이나 현재 디렉터리 위치를 색깔로 구분하여 보여준다면 가독성 있게 볼 수 있을겁니다.

      before shell

      .bashrc 파일을 열어 수정을 해봅시다. ~ 위치는 .bashrc가 존재하는 위치이니 현재 디렉터리 위치를 굳이 안 쳐도 된다는 점! .bashrc 파일이 없더라도 새로 생성해서 작업하도록 합시다.

      BASH
      vi ~/.bashrc
      
      # .bashrc 맨 마지막에 다음과 같이 추가
      export PS1="\[\033[38;5;11m\]\u\[$(tput sgr0)\]@\[$(tput sgr0)\]\[\033[38;5;6m\]\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;206m\]\w\[$(tput sgr0)\] > \[$(tput sgr0)\]"
      # 저장 후 vi 나오기
      
      source ~/.bashrc
      

      after shell

      그런데 PS1 내용을 보니 어마무시합니다. 쉘 프로그래밍으로 작성된 내용인데 단지 색깔 추가를 위해 일일이 하나 씩 배울 수 없는 노릇입니다. 다행히도 PS1 작성을 도와주는 사이트 있으니 참고하시면 좋을 것 같습니다.

      .bashrc generator: create your .bashrc PS1 with a drag and drop interface

    2. 단축어(alias) 설정하기

      PS1 변수 다음으로 설정하는것이 단축어 지정입니다. 리눅스 명령어 중 현재 위치의 파일 및 디렉터리 정보를 보는 ls 명령어가 있습니다. 보통 옵션과 같이 쓰여 ls -al 식으로 씁니다. ls 가 UNIX 환경에서 자주 쓰이는 명령어인데 세부 정보를 보고 싶을 때마다 ls -al를 쓴다면 불편할 겁니다. 이를 피하기 위해 단축어를 설정하는것을 강력히 추천 드립니다.

      단축어도 .bashrc 파일에 적어 설정하면 됩니다.

      BASH
      vi ~/.bashrc
      
      # .bashrc 맨 마지막에 다음과 같이 추가
      alias l='ls -CF'
      alias ll='ls -alF'
      alias c='clear'
      # 저장 후 vi 나오기
      
      source ~/.bashrc
      

      제가 필수적으로 설정하는 단축어는 3개 입니다. lls -CFllls -alFcclear로 설정합니다. 이 세 명령어는 쉘에서 자주 쓰이는 명령어로, 단축어로 설정하면 작업하는데 큰 도움이 됩니다. 자주 쓰는 명령어(예를 들어 특정 디렉터리 이동이라던가 docker start 명령어라던가)를 alias로 설정하면 일 하는데 큰 도움이 되겠죠?

    매일 모니터를 보고 쉘을 키고 컴퓨터를 하는 사람들은 자신한테 맞는 설정을 하는것도 중요한 일입니다. 오늘 소개한 터미널 설정은 보기엔 사소하지만 감히 삶의 질을 올려주는 설정이라 말할 수 있을 것 같습니다. 이번 기회에 통해 쉘을 꾸며보는것도 어떨까요?