쉘이란?
쉘(Shell)
은 스크립트 언어로 명령어의 해석을 통해 사용자와 리눅스 커널 사이에서 중간자 역할을 수행합니다. 윈도우에서의 프롬프트 명령어를 실행하는 것과 비슷해 보이지만 리눅스의 쉘은 더 강력한 기능을 제공합니다. 쉘 명령어로 구성된 쉘 스크립트 프로그램을 작성하면 쉘이 스크립트 파일을 읽어 일련의 명령을 수행할 수 있습니다. 쉘은 운영체제의 일부이며 커널과는 분리된 프로그램입니다. 쉘의 종류에 따라 alias 설정, 초기화 파일, 스크립트 작성 등에서 다른 특성을 가질 수 있습니다. 리눅스 사용자는 자신이 선호하는 쉘을 기본 쉘로 설정하여 사용할 수 있으며 가장 많이 사용하는 언어는 배쉬(Bash) 쉘입니다.
현재 쉘 확인
$ grep cent /etc/passwd
seunghwan:x:500:500:seunghwan:/home/seunghwan:/bin/bash
grep 명령은 파일(/etc/passwd) 에서 문자열(seunghwan) 가 포함된 라인을 보여줍니다.
seunghwan 는 계정명이며 /etc/passwd 는 계정 정보가 저장된 파일입니다.
/bin/bash가 출력된 것으로 보아 /bin/bash가 현재 설정된 쉘임을 알 수 있습니다.
쉘 변경
$ chsh
chsh 명령어는 셸을 변경하는 명령어로 chsh 를 입력하고 password를 입력합니다. 그후 변경하려는 셸의 종류를 입력하면 됩니다. 변경가능한 셸의 종류는 아래와 같이 확인할 수 있습니다.
쉘 목록 확인
$ cat /etc/shells
etc 디렉터리는 시스템 설정 파일이 존재하는 디렉터리 이며 리눅스 시스템에서 가장 중요한 디렉터리입니다. 그 안에는 shells 가 있는데 cat 명령어 를 사용하며 해당 파일을 읽게되면 Shell 목록을 알수있습니다.