쉘(SHELL)은 무엇일까?
이름 그 자체를 생각해보았을 때 무엇인가를 외부 요인으로부터 보호하기 위해 둘러싼 껍질이라는 게 떠올랐다.
껍질이 있으면 알맹이를 보는 게 어렵다.
그리고... 껍질은 외부와 알맹이 사이에 존재한다.
이것을 리눅스 커널과 사용자의 개념에 적용해본다면
쉘은 사용자(외부)로부터 커널(알맹이)를 보호하는 역할을 함과 동시에 둘 사이에 존재해서 상호작용을 할 수 있도록
만들어 주는 역할, 즉 사용자가 명령을 하면 그것을 커널에게 전달해주는 역할을 하는 것이 아닐까?
나의 기본 쉘 확인하기
나는 어떤 쉘을 쓰고 있는걸까?
/etc/passwd 파일에는 모든 사용자 계정 목록과 각 계정의 기본 쉘들이 지정되어 있다.
내가 쓰는 쉘을 알고 싶기 때문에
cat /etc/passwd | grep jseok
bash로 나의 기본 쉘이 지정되어 있는 것을 확인할 수 있다.
나의 기본 쉘 바꾸기
chsh 명령을 통해 bash를 csh로 기본 쉘을 바꾸어 보자.
Restart 후에 현재 쉘을 확인하면 /bin/csh로 바뀌었다.