터미널과 쉘이 동일합니까?


29

나는 이것이 어리석은 것처럼 들리지만 Linux 세계에서 사용되는 두 단어 사이에 실제로 다른 점이 있는지 알고 싶었습니다. 셸은 명령 줄 인터페이스이며 Bash, Korn 등과 같은 많은 변형이 있음을 알고 있습니다. 또한 Ctrl + Alt + T는 Ubuntu에서 터미널을 시작합니다. 이 두 점을 연결하고 싶습니다.

터미널이 열린 창이고 쉘이 창에 입력 된 명령을 해석하기 위해 실행되는 프로그램이라는 것을 의미합니까? 또는 터미널이 쉘 등의 개념을 추상화하는 데 사용되는 일반적인 용어 인 경우에도 동일합니까?

두 단어를 정확히 구별하는 것은 무엇입니까?

답변:


30

터미널 에뮬레이터 (종종 터미널이라고 함)는 "단지 창"입니다. 기본적으로 로그인 쉘 (우분투의 bash) 인 텍스트 기반 프로그램을 실행합니다. 창에 문자를 입력하면 터미널은 문자를 쉘 (또는 다른 프로그램)의 stdin으로 보내는 것 외에도 창에 문자를 그립니다. 쉘이 stdout으로 출력하고 stderr로 출력하는 문자는 터미널로 보내지며,이 문자는 차례로 창에 그려집니다.

그렇습니다. 셸과 터미널 에뮬레이터는 완전히 별개의 프로그램이므로 다른 프로그램없이 사용할 수 있습니다.


2
터미널없이 쉘을 어떻게 사용할 수 있습니까?
Koray Tugay 2016 년

5
@KorayTugay, cron 또는 데스크탑 실행기 ( "터미널에서 실행"을 선택하지 않은)를 통해 쉘 스크립트를 실행할 때 터미널없이 쉘을 사용하고 있습니다.
geirha 2016 년


6

예, 터미널 에뮬레이터와 셸은 서로 다른 두 프로그램입니다. 아시다시피, 차이점의 한 가지 예는 터미널 창을 시작하면 구성 한 내용 (bash, tcsh, ksh, ash, python!)에 따라 다른 쉘을 실행할 수 있다는 것입니다.

또 다른 차이점은 그놈 터미널, 여러 종류의 xterm, 곤솔 (KDE 용) 등 기본값보다 많은 터미널 에뮬레이터가 있다는 것입니다 ( http://www.howtogeek.com/howto/ubuntu/set- -default-terminal-emulator-on-ubuntu-linux / ). 모든 쉘은 이러한 어려움없이 터미널 에뮬레이터에서 실행될 수 있습니다.

세 번째 차이점은 셸 명령을 실행하는 것 외에도 터미널 에뮬레이터에서 특정 대화 형 응용 프로그램을 시작할 수 있으며 동일한 창에서 실행되며 실제 그래픽을 처리하기 위해 동일한 터미널 에뮬레이터 프로그램에 의존한다는 것입니다. vim 텍스트 편집기, nethack RPG 등 원하는 경우 터미널 에뮬레이터에서 새 탭을 열 때 자동으로 nethack을 시작하도록 프로파일을 설정할 수 있습니다. 쉘은 포함되지 않지만 터미널 에뮬레이터는 여전히 동일한 프로그램입니다.

네 번째 차이점은 터미널 창에서 ssh와 같은 프로그램을 사용하여 원격 로그인을 수행 할 수 있다는 것입니다. 이 경우, 쉘 (또는 원격으로 실행하는 모든 프로그램)이 다른 컴퓨터에서 실행되고 있고 ssh 프로그램은이를 컴퓨터에서 실행되는 로컬 터미널 에뮬레이터 프로그램에 연결하여 그래픽을 처리합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.