터미널 에뮬레이터

터미널 에뮬레이터

나는 bash를 리눅스에 명령을 입력할 수 있는 창으로 이해합니다. Wikipedia를 읽으면서 역사 전반에 걸쳐 다양한 쉘 응용 프로그램이 있었다는 것을 알게 되었습니다. 첫째, 나는 bash를 명령을 입력하고 응답을 받는 것으로 이해했습니다. 무언가를 입력하고 Enter를 누를 때마다 다른 텍스트 줄로 응답합니다. 하지만 여기서 끝나지 않습니다. 실제로 Bash에서 "애플리케이션"을 만들 수 있습니다. 예를 들어 텍스트 편집기인 nano와 vim이 있습니다. 따라서 실제로 창 내에서 일부 그래픽을 제어할 수 있는 것처럼 보입니다.

또 다른 예는 Raspberry Pi의 raspi-config 명령에 나타나는 이 창입니다. 이 명령을 입력하면 퍼티 창 안에 나타납니다. 그것은 무엇입니까? bash에 색상이 있는 직사각형 항목을 표시하는 방법은 무엇입니까?

무슨 일이 일어나고 있는지 알고 싶습니다. bash는 Linux 내에서 어디에서 실행됩니까? 시스템과 어떻게 통신합니까? 저는 어려서 컴퓨터 터미널의 역사에 대해 아무것도 몰랐고, GUI가 등장하면서 모든 것이 어떻게 변했는지 전혀 몰랐습니다.

여기에 이미지 설명을 입력하세요.

답변1

몇 개 있어요추상화 수준제공된 스크린샷에 표시된 내용을 시연하는 데 참여하세요. 상당히 광범위한 주제이지만 요약해 보겠습니다.

터미널 에뮬레이터

설명 내용:

리눅스에 명령어를 입력할 수 있는 창

실제로 강타하지는 않으며 적어도 그 자체를 강타하지는 않습니다. 당신은 보고 있다터미널 에뮬레이터쉘(아마도 /bin/bash)을 실행하십시오.

자주 인용되는 터미널 에뮬레이터의 예는 xterm거의 모든 데스크톱 Unix 및 Linux 시스템에 포함되어 있는 것입니다. 그러나 많은 터미널 에뮬레이터가 있으며 그 중 일부는 xterm추가 마우스 컨트롤, 탭(브라우저 탭과 유사) 등과 같이 터미널 에뮬레이터보다 더 많은 기능을 가지고 있습니다.

Linux 콘솔(일명 "텍스트 모드")

Linux 머신처럼 사용할 수도 있습니다.물리적 터미널이는 그래픽 환경 없이 Linux/Unix 시스템을 부팅할 때 표시되는 것입니다(서버로 구성된 많은 시스템의 경우와 같습니다). Linux는 여전히 이러한 기능을 어느 정도 추상화하지만(물리적 컴퓨터에서 여러 가상 터미널 허용) 실제로는 사용자와 유사한 전용 "텍스트 전용" 모니터입니다.

껍데기

터미널 에뮬레이터는 원하는 명령줄 프로그램을 실행할 수 있습니다. 기본적으로 대화형 셸(예: bash, sh, csh, ksh 등)만 실행됩니다. 그렇다면 조개껍데기는 무엇인가요?

간단히 말해서, 쉘은 다른 프로그램과 마찬가지로 명령줄 프로그램입니다. 대화형 모드에서 실행하면(즉, 미리 프로그래밍된 쉘 스크립트를 실행하지 않음) 프롬프트(보통 와 같은 type_outcast:~$)가 표시되고 사용자가 입력하는 내용을 받아들이고 자체 규칙(언어) 세트에 따라 해석합니다. 각 껍질은 약간 다르지만 대부분의 일반적인 껍질은 대략 유사합니다.

명령을 입력하면 어떻게 되나요?

명령(예: )을 입력하고 ls -lEnter를 누르면 쉘은 사용자가 입력한 문자열을 보고 수행할 작업을 결정합니다. 이 경우 변수 ls에서 호출된 프로그램을 찾고 $PATH, 찾으면 자식 프로세스( fork()exec() 시스템 호출내부 구조)와 제공한 매개변수( )를 알고 싶은 경우 -l.

기본적으로 명령의 출력( stdout"표준 출력", stderr"표준 오류"라고도 함)이 터미널에 연결되므로 프로그램의 출력을 볼 수 있습니다. 또한 stdin("표준 입력")이 기본적으로 연결되어 있으므로 대화형 프로그램에서 입력을 입력할 수 있습니다. (때때로 프로그램은 터미널을 더 직접적으로 제어합니다. 이는 중급 프로그래밍 주제입니다.)

주문하다'입력과 출력을 리디렉션할 수 있습니다., 이는 그 자체로 또 다른 상당히 광범위한 주제입니다.

저 화려한 색상과 메뉴는 어떨까요?

대부분의 터미널 에뮬레이터는 색상과 다양한 제어 코드(보통ANSI 이스케이프 시퀀스, 일부 터미널별 코드). 이 코드는 스크린샷에 보이는 대화 상자와 같은 다채로운 인터페이스를 그리는 데 사용할 수 있습니다.

즉, 여기에는 명백한 새로운 마법이 없습니다. 내 시스템은 1980년대 초반(Windows 이전)에 ANSI 코드를 이해하고 유사한 대화 상자를 표시했으며 당시 내 터미널은 80x25 컬러(EGA) 모니터였습니다.

그럼 무엇이 바뀌었나요?

그 이후로 사람들이 더 큰 터미널 크기를 즐기고 터미널을 그래픽 응용 프로그램과 함께 실행할 수 있도록 터미널 에뮬레이터 응용 프로그램에 영감을 준 그래픽 데스크탑의 광범위한 인기를 제외하고는 상대적으로 거의 변하지 않았습니다. 80x25 또는 80x43 텍스트 전용 모니터.

관련 정보