본문 바로가기

Work & Study/Study

리눅스 쉘의 이해와 변경

반응형
쉘을 설명하면서 흔히 커널과 같이 설명을 하고는 한다. 하지만 쉘은 운영체제의 전부라고 할 수 있는 커널의 한 부분이 아닌 독립된 하나의 유틸 또는 프로그램으로써, 쉘이라는 그이름과 같이 운영체제의 핵심인 커널을 둘러싸고 있는 껍데기에 불과하다.

간단히 그림으로써 나타내고자 한다면, 왼쪽의 그림과 같은 형태를 이루고 있다고 생각하면 되겠다.

우리가 운영체제를 사용하는데 있어서 작은 작업 하나에도 명령어들이 발생하고 그렇게 발생하는 명령어들을 처리해야 하는데 있어서 쉘의 역할은 바로 유저와 커널간의 통역이라고 생각하면 간단하겠다.

유저가 내린 명령은 쉘을 통하여 커널에 전달되어지고 커널은 쉘을 통해 전달된 명령어를 통해서 시스템을 제어할수가 있게 되는것이다.

리눅스에서 사용하고 있는 쉘의 종류는 다양하며 /etc/shells 에 사용이 가능한 쉘의 목록이 들어있다.


또한 현재 자신이 사용하고 있는 쉘을 확인하는 방법으로 echo $SHELL 을 입력하면 현재 사용중인 쉘을 확인할수가 있다.


쉘의 변경은 각 쉘의 패키지가 설치되어 있는 상태에서 쉘의 이름을 치면 바뀌게 된다.
이때 exit 나 다른 쉘을 실행시키면 변경이 되는것을 프롬프트를 통해 확인할수 있다.


그 외에도 /etc/passwd 에 설정되어 있는 쉘 옵션을 변경함으로써 부팅시 실행되는 기본쉘을
사용자의 임의에 따라서 변경이 가능하다.



반응형