셸(Shell)란?
사용자가 입력한 명령을 읽어 해석하고, 프로그램을 시작하거나 결과를 표시하는 프로그램. Linux에서는 bash나 zsh가 자주 쓰인다. 와일드카드 확장, 변수, 리다이렉션이나 파이프, 작업 제어 등의 기능을 가지며, 명령을 나열한 파일(셸 스크립트)을 실행하여 작업을 자동화할 수도 있다. OS의 중심 부분인 커널을 감싸는 '껍데기(shell)'로서 사용자와의 사이에 선다는 데서 이 이름으로 불린다.
일본어 명칭: シェル
셸(Shell)은(는) Linux와 커맨드 라인 기초, 링커, 로더, 실행 파일 등 2개 분야의 연습 문제 10개에 나와요.
분야: Linux와 커맨드 라인 기초
자주 묻는 질문
셸과 터미널은 무엇이 다른가요?
터미널(터미널 에뮬레이터)은 문자를 표시하고 키보드 입력을 받는 창 역할을 하는 프로그램입니다. 셸은 그 안에서 동작하며, 받은 문자열을 명령으로 해석하여 실행합니다. 같은 터미널 안에서 bash에서 zsh로 바꿔 사용할 수도 있습니다.
'source 파일 이름'과 './파일 이름'으로 실행하는 것은 무엇이 다른가요?
./파일 이름으로 실행하면 새로운 셸 프로세스가 스크립트를 실행하므로, 그 안에서 바꾼 변수나 현재 디렉터리는 끝나면 원래 셸에 남지 않습니다. source(또는 .)는 현재 셸 안에서 파일의 내용을 실행하므로, 환경 변수 설정 등이 그대로 남습니다. 도구의 환경을 갖추는 설정 파일을 source로 읽어 들이는 것은 이 때문입니다.