셸 - 사용자와 리눅스 커널 사이에서의 중간자 역할
우리가 사용하는 프로그램은 일반적으로 바이너리 형태의 명령어 집합체이며, 컴퓨터는 기본적으로 바이너리 형태의 정보들을 읽어들인다.
따라서 관리나자 사용자가 컴퓨터에 일정한 명령을 내리기 위해서는 매개체로서의 특정한 인터페이스가 필요했고 이런 역할을 하도록 하는 것이 쉘이다.
셸의 가장 기본적 기능으로서 셸은 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석,번역 기능을 제공한다.
사용자가 로그인하면 셸이 자동으로 실행되 사용자 명령을 기다리는데, 이를 로그인 셸이라 하고 etc/passwd 파일에 사용자별로 지정되어 있다.
사용자의 요청을 기다려서 요청 즉시 결과 값을 출력해주는 대화형 구조를 가진다.
프롬프트 : 셸이 사용자의 명령을 기다리고 있음을 나타내는 표시
셸 자체로 프로그래밍하여 프로그램을 만들 수 있다.
셸로 작성된 셸 프로그램을 셸 스크립트라고 부르기도 한다.
③사용자 환경 설정 기능 - 리눅스 세션(session)의 설정(Customization)
리눅스의 세션에 대한 변수들을 정의하여 사용자가 리눅스 환경을 자신이 원하는 상태로 설정할 수 있게 한다.
셸을 통해 다양한 사용자 환경을 설정할 수 있다.
파일, 디렉토리 등에 권한을 부여할 수 있고, 로그인시 실행되는 환경 등 여러가지 설정이 가능하다.