컴퓨터 세상/LiNuX

셸 기본 사용법 - 셸 변경, 셸 내장 명령

Jimin Daddy 2022. 1. 18. 12:46

* 본셸, 콘셸, 배시셸은 기본 프롬프트가 $ 이고, C셸은 %이다.

* 사용자가 로그인하면 자동으로 실행되는 셸을 로그인 셸이라 부른다.

* 기본셸 변경하기 : chsh
  원래 로그인 셸은 사용자가 마음대로 바꿀 수 없고 시스템 관리자에게 요청해야 하나 리눅스는 chsh라는 명령을 사용하여 사용자가 자신의 로그인 셸을 바꿀 수 있다.
  - chsh [옵션] [사용자명]
  - 옵션 
    -s shell : 지정하는 셸(절대 경로)로 로그인 셸을 바꾼다. 사용 예) chsh -s /bin/sh user1 (꼭 절대경로를 사용하여야 한다.)
    -l : etc/shells 파일에 지정된 셸을 출력한다. 사용 예) chsh -l

* 사용자는 프롬프트에서 다른 셸을 실행할 수 있는데 이렇게 새로 생성된 셸을 서브 셸이라고 한다. 서브셸은 또 다른 서브 셸을 생성할 수 있으며, 여러 개의 셸이 사슬처첨 연결될 수 있다. 서브셸을 종료하는 명령은 ^d(Ctrl+d), exit 등으로 일반 셸의 로그아웃 명령과 같다. 서브 셸이 종료되면 서브 셸을 실행했던 이전 셸 환경으로 돌아가며, 로그인 셸에서 로그아웃을 하면 접속이 해제된다.

* 셸 내장 명령
  셸은 자체적으로 내장 명령을 가지고 있다. 일반적인 리눅스 명령들이 /bin이나 /usr/bin 디렉토리에 별도의 실행 파일로 있는 것과 달리, 셸 내장 명령은 별도의 실행 파일이 없고 셸 안에 포함되어 있다.
대표적인 셸 내장 명령은 cd 인데 /usr/bin 디렉토리를 보면 cd 명령이 파일로 존재한다.
  - file /usr/bin/cd로 확인 가능
셸 스크립트는 텍스트 파일이므로 파일의 내용을 볼 수 있다. 아래 처럼 확인 가능하다.
  - cat /usr/bin/cd로 확인 가능