1. 터미널(단말) |
유닉스 환경에서 터미널이란 사용자가 조작하는 셸의 입출력 인터페이스를 의미합니다.
현재는 터미널이라고 하면 대부분 터미널창을 생각하면 됩니다.
이것은 터미널 에뮬레이터라고 부르는 소프트웨어로 다음과 같은 종류가 있습니다.
환경 | 소프트웨어 명칭 |
Windows | TetaTerm, PuTTY, Poderosa |
Linux, FreeBSD | xterm, kterm, gnome-terminal, Konsole |
Mac | Teminal.app, iTerm2 |
하지만 원래 터미널이란 이런 소프트웨어뿐만 아니라 더 넓은 의미입니다. 예를 들어 시리얼 포트를 통해서 이용하는 텔레타입(teletype, 전동 타이프라이터)도 터미널로 이것은 지금도 유닉스 tty 디바이스라는 명칭에 이름이 남아 있습니다.
터미널 조작을 위해 stty 명령어를 이용하는데 이 stty 명령어에는 보드레이트(baud rate, 변조 횟수)나 패러티를 설정하는 기능이 있습니다. 이것은 시리얼 포트에 덤 터미널 등을 연결할 때 각종 설정을 하기 위해 남아 있는 기능입니다.
2. 가상 터미널 |
터미널 에뮬레이터로 유닉스에 로그인하면 가상 터미널을 이용하게 됩니다.
다음처럼 tty 명령어를 실행하면 현재 사용하고 있는 가상 터미널의 디바이스명을 확인할 수 있습니다.
$ tty
/dev/pts/0
일반적으로 터미널 디바이스명은 tty가 물리 디스플레이와 키보드, pts는 가상 터미널을 가리킵니다.
여기서 한 가지 간단한 실험을 해봅시다.
터미널창을 두 개 열어서 각각 같은 유닉스 머신에 로그인해 보기 바랍니다.
그리고 한쪽 창에서 tty 명령어를 실행하고 할당된 가상 터미널 디바이스명을 확인합니다.
여기서는 /dev/pts/1이 할당된다고 가정합니다.
이어서 다른 한쪽 창에서 "Hello"라는 문자열을 표시하는 echo 명령어를 실행합니다.
여기서 앞서 확인한 가상 터미널 디바이스 파일에 출력을 리다이렉트합니다.
$ echo "Hello" > /dev/pts/1
그러면 다음처럼 다른 한쪽 창에 "Hello"가 표시됩니다.
[가상터미널 /dev/pts/1]
$ tty
/dev/pts/1
$
[가상터미널 /dev/pts/0]
$ echo "Hello" > /dev/pts/1
[가상터미널 /dev/pts/1]
$ Hello
이렇듯 유닉스는 디바이스 파일에 터미널을 할당합니다.
이 실험을 통해 터미널과 그 동작을 이해하는데 도움이 되었으면 합니다.
'IT 이야기 > Linux' 카테고리의 다른 글
[RHEL 공통] crontab을 활용한 스크립트 수행 (0) | 2021.02.19 |
---|---|
[RHEL 공통] 유닉스 명령어 옵션 (0) | 2021.02.18 |
[RHEL 공통] NFS 관련 로그가 발생 (0) | 2020.10.20 |
[RHEL 공통] 시스템 리소스 사용 제한 (0) | 2020.10.20 |
[RHEL 공통] 사용하는 네트워크 프로세스가 많을 때 네트워크 파라미터 튜닝하기 (0) | 2020.10.20 |
댓글