Mac에서 재설정하는 것은 Linux에서 재설정하는 것과 같습니다.

Mac에서 재설정하는 것은 Linux에서 재설정하는 것과 같습니다.

Mac에서 reset터미널의 명령은 거의 동일합니다 clear. Ubuntu Linux와 다른 Linux 버전에서 이 reset명령은 실제로 터미널을 "재설정"하므로 이전에 입력한 명령을 보기 위해 위로 스크롤하거나 뒤로 스크롤할 수 없습니다. resetMac에서 명령을 Linux의 명령과 동일하게 수행할 수 있는 방법이 있습니까 reset? 그렇다면 어떻게 해야 합니까?

답변1

실제로 (MacOS에서는) "정확히 같은 것"은 아닙니다(맨 페이지에 설명되어 있음)."분명한"와는 다르다"초기화").

MacOS에는 ncurses 5.7(9연도) 터미널 데이터베이스를 일부 업데이트했습니다. 더 새로운 것을 원한다면 MacPorts를 설치하면 ncurses를 현재(몇 달 미만) 버전으로 업데이트할 수 있습니다.

그건 그렇고, 이것은 일반적으로 개발 릴리스보다 6개월에서 2년 이상 뒤처지는 Ubuntu보다 최신입니다.

답변2

일종의 역사적 유물과도 같습니다. Unix 초기에는 time_t컴퓨터가 데이터 센터의 큰 상자였으며 터미널은 컴퓨터와 통신하는 데 사용되는 독립 실행형 하드웨어였습니다. 터미널은 반드시 컴퓨터와 동일한 제조업체에서 생산되는 것은 아니며, 각 터미널 제조사와 모델에는 고려해야 할 고유한 추가 기능과 특징이 있습니다.

curses이후 후속 버전은 ncurses터미널의 모든 제조업체 및 모델 관련 세부 정보를 숨기고 "화면 지우기" 또는 "터미널을 일반 기본 설정으로 재설정"과 같은 터미널 제어 작업을 수행하는 표준 방법을 제공하는 라이브러리입니다. 이러한 라이브러리는 환경 변수를 사용하여 TERM사용해야 하는 제어 시퀀스 세트를 결정합니다.

clear이러한 라이브러리 와 같은 명령 reset은 사용자가 요청한 작업을 터미널 모델별 제어 시퀀스로 변환하고 이를 터미널로 보냅니다. 이러한 모델별 제어 시퀀스는 termcap또는 terminfo파일에 저장됩니다. termcap이는 이전 스타일이며 terminfo입니다 ncurses.

요즘에는 "터미널"이 실제 컴퓨터와 동일한 물리적 하드웨어에서 실행되는 터미널 에뮬레이터인 것이 일반적입니다. 그러나 마치 별도의 하드웨어인 것처럼 여전히 제어됩니다.

이는 터미널 에뮬레이터 프로그래머에게 특정 기능을 구현하는 방법을 선택할 때 어느 정도의 자유를 제공합니다. 예를 들어, 프로그래머는 터미널을 재설정하면 스크롤백 버퍼가 지워지도록 그렇게 할 수 있습니다. 또는 스크롤백 버퍼가 사용자에게 "속하고" 어떤 애플리케이션도 그렇게 하면 안 된다고 믿는 경우 다른 방법을 선택할 수도 있습니다. 그것을 클리어하는 힘.

또는 터미널 에뮬레이터의 프로그래머가 스크롤백 버퍼를 지우거나 지우지 않고 터미널을 재설정하기 위한 다른 제어 시퀀스를 제공했을 수도 있습니다. 이 경우 운영 체제 배포용 터미널 제어 라이브러리를 패키징하는 사람은 다음과 같은 선택에 직면하게 됩니다. reset명령이 기본적으로 롤백을 취소해야 합니까? 선택에 따라 터미널 제어 라이브러리에서 사용되는 데이터 파일의 적절한 위치에 다양한 제어 시퀀스를 저장할 수 있습니다.

시스템 관리자는 언제든지 새 터미널 제어 시퀀스 세트를 termcap또는 terminfo파일에 추가하거나 기존 터미널 제어 시퀀스 세트를 수정할 수 있습니다. 일부 사이트의 엔드포인트 모델이 널리 알려지지 않았거나 표준 정의를 특정 사용 사례에 맞게 약간 조정해야 할 수도 있습니다. 해당 명령에서 사용되는 기본 제어 시퀀스가 ​​실제로 "롤백을 지우지 않고 터미널 재설정"인 것으로 밝혀지면 reset파일의 "터미널 및 롤백 재설정" 코드로 바꿀 수 있습니다.

관련 정보