Linux에서 TTY는 무엇입니까? (및 tty 명령 사용 방법)
뭐라고합니까 tty
명령은 무엇입니까? 사용중인 터미널의 이름을 인쇄합니다. TTY는 "텔레 타이프라이터"를 의미합니다. 사령부의 이름 뒤에 숨겨진 이야기는 무엇입니까? 좀 더 설명이 필요합니다.
1800 년대의 텔레 프린터
1830 년대와 1840 년대에 텔레 프린터로 알려진 기계가 개발되었습니다. 이러한 기계는 먼 위치에 "연결된"메시지를 입력 할 수 있습니다. 메시지는 보낸 사람이 일종의 키보드로 입력했습니다. 그들은받는 쪽에서 종이에 인쇄되었습니다. 그들은 이전에 모스와 유사한 암호에 의존했던 전신의 진화 단계였습니다.
메시지는 인코딩 및 전송 된 다음 수신, 디코딩 및 인쇄되었습니다. 메시지를 인코딩하고 디코딩하는 데 몇 가지 기술이 사용되었습니다. 가장 유명하고 가장 다작 중 하나는 1874 년 Émile Baudot에 의해 특허를 받았으며 그 이름을 보오율이라고합니다. 그의 문자 인코딩 체계는 ASCII보다 89 년 앞서 나왔습니다.
Baudot의 인코딩은 결국 텔레 프린터 인코딩의 표준에 가장 가까운 것이되었으며 대부분의 제조업체에서 채택했습니다. Baudot의 원래 하드웨어 디자인에는 피아노 건반과 비슷한 5 개의 건반 만있었습니다. 운영자는 각 문자에 대한 특정 키 조합을 학습해야했습니다. 결국 Baudot 인코딩 시스템은 전통적인 키보드 레이아웃과 결합되었습니다.
그 발전을 기념하기 위해 기계는 텔레 타이프라이터로 명명되었습니다. 이것은 텔레타이프와 결국 TTY로 단축되었습니다. 그래서 우리는 TTY라는 약어를 얻었지만 전신은 컴퓨팅과 무슨 관련이 있습니까?
ASCII 및 Telex
ASCII가 1963 년에 도착했을 때 텔레타이프 제조업체에서 채택했습니다. 발명과 전화의 광범위한 사용에도 불구하고 텔레타이프는 여전히 강력 해졌습니다.
Telex는 서면 메시지를 전 세계로 보낼 수있는 전 세계 텔레타이프 네트워크였습니다. 그들은 제 2 차 세계 대전 이후 1980 년대 팩스 붐에 이르기까지 서면 메시지를 전송하는 주요 수단이었습니다.
컴퓨터도 진화하고있었습니다. 그들은 실시간으로 사용자와 상호 작용하고 여러 사용자를 지원할 수있게되었습니다. 이전 배치 작업 방식은 불충분했습니다. 사람들은 결과를 위해 24 시간 이상 기다리기를 원하지 않았습니다. 천공 카드 더미를 만들고 하룻밤 동안 결과를 기다리는 것은 더 이상 허용되지 않습니다.
사람들은 지침을 입력하고 결과를 다시받을 수있는 장치가 필요했습니다. 사람들은 효율성을 원했습니다.
텔레타이프 용도 변경
텔레타이프는 입출력 장치로 완벽한 후보였습니다. 결국 메시지를 입력, 인코딩, 전송, 수신, 디코딩 및 인쇄 할 수 있도록 설계된 장치였습니다.
연결의 다른 쪽 끝에있는 장치가 다른 텔레타이프가 아닌 경우 텔레타이프는 무엇에 신경을 썼습니까? 동일한 인코딩 언어를 사용하고 메시지를 수신하고 메시지를 다시 보낼 수있는 한 텔레타이프는 행복했습니다.
그리고 물론 그것은 다소 표준 키보드를 사용했습니다.
하드웨어 에뮬레이트 된 텔레타이프
텔레타이프는 그 시대의 대형 미니 및 메인 프레임 컴퓨터와 상호 작용하는 기본 수단이되었습니다.
그들은 결국 전자 장치를 사용하는 전기 기계 기계를 에뮬레이트 하는 장치로 대체되었습니다 . 여기에는 종이 롤 대신 음극선 관 (CRT)이있었습니다. 그들은 컴퓨터에서 응답을 전달할 때 흔들리지 않았습니다. 그들은 화면에서 커서 이동, 화면 지우기, 텍스트 굵게 표시 등과 같이 지금까지 불가능한 기능을 허용했습니다.
DEC VT05는 가상 텔레타이프의 초기 예이며 유명한 DEC VT100의 조상이었습니다. 수백만 대의 DEC VT100이 판매되었습니다.
소프트웨어 에뮬레이트 된 텔레타이프
Linux 및 macOS와 같은 기타 Unix 유사 운영 체제의 데스크톱 환경에서 터미널 창과 x-term 및 Konsole과 같은 애플리케이션은 가상 텔레타이프의 예입니다. 그러나 이들은 전적으로 소프트웨어에서 에뮬레이션됩니다. 이를 가상 텔레 타입이라고합니다. 이것은 PTS로 단축되었습니다.
그리고 그것이 tty
들어오는 곳 입니다.
tty는 우리에게 무엇을 말할 수 있습니까?
Linux에는 모든 터미널 창 의사 전화 유형 (PTS)의 연결을 처리하는 의사 전화 유형 멀티플렉서가 있습니다. 멀티플렉서는 마스터이고 PTS는 슬레이브입니다. 멀티플렉서는 / dev / ptmx에있는 장치 파일을 통해 커널에 의해 주소 지정됩니다.
이 tty
명령은 가상 텔레 타입 슬레이브가 마스터와의 인터페이스에 사용하는 장치 파일의 이름을 인쇄합니다. 그리고 이는 사실상 터미널 창의 수입니다.
tty
터미널 창에 대한 보고서를 살펴 보겠습니다 .
tty
응답은 우리가 / dev / pts / 0에있는 장치 파일에 연결되었음을 보여줍니다.
텔레 타입 (TTY)의 소프트웨어 에뮬레이션 인 터미널 창은 의사 텔레 타입 (PTS)으로 의사 텔레 타입 멀티플렉서에 인터페이스됩니다. 그리고 그것은 숫자 0입니다.
사일런트 옵션
-s
(자동) 옵션의 원인 tty
에는 출력을 생성 없습니다.
tty -s
그러나 종료 값을 생성합니다.
- 0 : 표준 입력이 TTY 장치에서 오는 경우 에뮬레이트되거나 물리적입니다.
- 1 : 표준 입력이 TTY 장치에서 나오지 않는 경우.
- 2 : 구문 오류, 잘못된 명령 줄 매개 변수가 사용되었습니다.
- 3 : 쓰기 오류가 발생했습니다.
이것은 Bash 스크립팅에서 가장 유용 할 것입니다. 그러나 명령 줄에서도 터미널 창 (TTY 또는 PTS 세션)에서 실행중인 경우에만 명령을 실행하는 방법을 보여줄 수 있습니다.
tty -s && echo "tty에서"
TTY 세션에서 실행 중이므로 종료 코드는 0이고 두 번째 명령이 실행됩니다.
누가 명령
다른 명령은 TTY 번호를 표시 할 수 있습니다. 이 who
명령은 자신을 포함하여 로그인 한 모든 사용자에 대한 정보를 나열합니다.
Alec과 Mary는 Linux 컴퓨터에 원격으로 연결됩니다. 그들은 PTS 1과 2에 연결됩니다.
사용자 dave는“: 0”에 연결된 것으로 표시됩니다.
이것은 컴퓨터에 물리적으로 연결된 화면과 키보드를 나타냅니다. 화면과 키보드는 하드웨어 장치이지만 여전히 장치 파일을 통해 멀티플렉서에 연결되어 있습니다. tty
/ dev / pts / 2임을 나타냅니다.
WHO
tty
관련 : Linux에서 현재 사용자 계정을 확인하는 방법
TTY에 액세스
Ctrl + Alt 키를 누른 상태에서 기능 키 중 하나를 눌러 전체 화면 TTY 세션에 액세스 할 수 있습니다.
Ctrl + Alt + F3은 tty3의 로그인 프롬프트를 표시합니다.
로그인하여 tty
명령을 실행하면 / dev / tty3에 연결된 것을 볼 수 있습니다.
이것은 (소프트웨어에서 에뮬레이트 된) 의사 텔레 타입이 아닙니다. 가상 텔레타이프 (하드웨어에서 에뮬레이션)입니다. 컴퓨터에 연결된 화면과 키보드를 사용하여 DEC VT100과 같은 가상 텔레타이프를 에뮬레이트합니다.
기능 키 F3 ~ F6과 함께 기능 키 Ctrl + Alt를 사용할 수 있으며 원하는 경우 4 개의 TTY 세션을 열 수 있습니다. 예를 들어 tty3에 로그인하고 Ctrl + Alt + F6을 눌러 tty6으로 이동할 수 있습니다.
그래픽 데스크탑 환경으로 돌아가려면 Ctrl + Alt + F2를 누르십시오.
Ctrl + Alt + F1을 누르면 그래픽 데스크탑 세션의 로그인 프롬프트로 돌아갑니다.
한 번에 Ctrl + Alt + F1에서 Ctrl + Alt + F6까지 누르면 전체 화면 TTY 콘솔이 열리고 Ctrl + Alt + F7은 그래픽 데스크톱 환경으로 돌아갑니다. 이전 Linux 배포판을 실행중인 경우 시스템이 이렇게 작동 할 수 있습니다.
이것은 Manjaro, Ubuntu 및 Fedora의 현재 릴리스 에서 테스트되었으며 모두 다음과 같이 작동했습니다.
- Ctrl + Alt + F1 : 그래픽 데스크탑 환경 로그인 화면으로 돌아갑니다.
- Ctrl + Alt + F2 : 그래픽 데스크탑 환경으로 돌아갑니다.
- Ctrl + Alt + F3 : TTY 3을 엽니 다.
- Ctrl + Alt + F4 : TTY 4를 엽니 다.
- Ctrl + Alt + F5 : TTY 5를 엽니 다.
- Ctrl + Alt + F6 : TTY 6을 엽니 다.
이러한 전체 화면 콘솔에 액세스하면 Linux의 명령 줄 만 설치하고 많은 Linux 서버가 이러한 방식으로 구성되어있는 사용자가 여러 콘솔을 사용할 수 있습니다.
그래픽 데스크탑 환경이있는 Linux 시스템에서 작업 한 적이 있는데 세션이 중단되는 원인이 있습니까? 이제 상황을 바로 잡을 수 있도록 TTY 콘솔 세션 중 하나로 이동할 수 있습니다.
top
및 ps
을 사용 하여 실패한 응용 프로그램을 식별 한 다음을 사용 kill
하여 종료하거나을 사용 shutdown
하여 컴퓨터 상태가 허용하는 한 정상적으로 종료 할 수 있습니다.
관련 : Linux 터미널에서 프로세스를 종료하는 방법
많은 역사를 가진 세 개의 작은 편지
이 tty
명령은 1800 년대 후반부터 장치에서 이름을 얻었으며 1971 년에 Unix에 등장했으며 오늘날까지 Linux 및 Unix와 유사한 운영 체제의 일부입니다.
작은 녀석은 그 뒤에 상당한 이야기를 가지고 있습니다.