Terminal과 Shell
Terminal(Emulator)이란
대표적인 터미널 몇 개를 나열해보자면 terminal
, iterm
, xterm
, konsole
과 같은 프로그램이 있습니다.
리눅스와 같은 환경에서는 이러한 터미널을 통해서 쉘을 실행시켜고 여러 작업을 하게 됩니다. PC를 키면 터미널 프로그램부터 찾게 되죠ㅎㅎ. 세상에는 여러 터미널이 있는데 서로 지원해주는 기능도 다르고 각각의 특색이 있습니다. 사람마다 선호하는 것이 다릅니다.
이러한 터미널로 우리는 심심하게 보일 검은창을 꾸미고 (아니면 오히려 텍스트만 보이도록 하거나) 기능을 확장시킬 수 있습니다.
그래서 터미널 에뮬레이터라고도 부르는 것 같습니다.
저는 iterm2
를 사용합니다.
제 터미널 창을 보시면 상단에 "배터리, CPU, RAM" 상태와 SNIPPET을 실행시킬 수 있는 버튼을 둔걸 확인할 수 있습니다. 모두 iterm2에서 제공해주는 기능입니다. 그 외로 현재 보이는 창의 폰트나 투명배경이나 명령어 자동완성 기능 등도 터미널 에뮬레이터에서 제공해주는 기능입니다. 직접적으로 OS에 명령을 내리고 그런 것은 아니지만 외관적인 부분을 이쁘게 꾸밀 수 있고 Shell의 환경변수 같은 것을 읽어서 작업할 때 편리하게 해주는 역할을 합니다.
현재 창에 커서가 깜박이고 있는데 Shell에서 입력을 받길 기다리고 있다는 뜻입니다.
Shell이란
대표적인 터미널로 zsh
, bash
, fish
, csh
등이 있습니다.
Shell이 바로 우리가 주는 명령어를 수행하고 스크립트를 실행하는 주체입니다.
셸(shell)은 운영체제 상에서 다양한 운영체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램이다. 셸(번역: 껍데기)은 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 그러한 이름이 붙었다.
출처: https://ko.wikipedia.org/wiki/%EC%85%B8
우리가 어떤 디렉터리에 있는 것들을 나열하는 프로그램인 'ls'를 호출하고 싶다고 합시다. 저는 보통 iterm2 터미널을 열고 (그리고 터미널은 shell을 열어서 입력 받을 수 있게 만들고) 우리는 여기에 ls라고 타이핑해서 ls라는 프로그램을 실행하고 결과를 확인합니다. 굳이 저 터미널이 아니라 xterm이라는 터미널을 통해 명령어를 입력해서 실행하고 있는 셸이 명령을 실행하기 때문에 결과는 동일합니다.
정리하자면 우리가 주는 명령어를 읽고 해석하고 운영체제에게 '이거 해줘'라고 하는 것은 shell이고 명령어를 편하게 입력하게 해주고 출력을 이쁘게 보여주는 프로그램은 터미널 에뮬레이터입니다.
댓글
이 글 공유하기
다른 글
-
Vim에서 Vundle 삭제하기
Vim에서 Vundle 삭제하기
2021.03.31 -
[WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기
[WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기
2020.05.16 -
[리눅스] apt, apt-get의 사용법 비교
[리눅스] apt, apt-get의 사용법 비교
2020.05.01 -
[리눅스] scp 기본 사용법
[리눅스] scp 기본 사용법
2020.04.15