마이컴 1993년 12월호 - 도스 길라잡이 2
카멜레온 같은 ANSI.SYS의 기능

ANSI.SYS란 무엇인가?
'Ansi.sys(앤시 점 시스라고 읽는다)'는 도스가 꼭꼭 숨겨둔 디바이스 드라이버의 일종으로, 화면과 키보드의 작동 상태에 관여한다. 가지고 있는 화려한 기능에 비해 Ansi.sys의 명성은 그리 높지 않다. 존재조차 모르거나, 알더라도 다루기 어려운 과 일이란 생각때문에 사용자들이 외면 하는 파일이다.
미국 국가 표준 연합회(ANSI : American National Standards Institute), 앤시란 거창한 이름도 이 파일에 다가서지 못하게 하는 한 요인이다. 이 연합회는 키보드와 모니터 다루기에 필요한 명령의 표준안을 만들었고, 이를 기준으로 동작하는 파일이 바로 앤시 점 시스인 것이다.
Ansi.sys는 카멜레온처럼 형형색색의 변화를 가능케 함으로써 똑같은 환경이 주는 지루함을 덜어준다. 글자 형식, 색깔, 화면 배경색이나 늘상 왼쪽 끝에 있는 커서의 자리도 옮길 수 있다. 키보드 상에서 키를 누르면 나타나는 정해진 글자도 바꿀 수 있다. 즉, 'A'키에 A부터 J까지 사용자 마음대로 정의할 수 있다는 말이다.
Ansi.sys중에서 키보드 다루기는 색 다루기와는 달리 고난도 기술을 요한다. 먼저 이번 호를 통해 앤시를 익히고 난 다음, 도전해 보기로 하자.
Ansi.sys 로딩하기
Ansi.sys를 사용하려면, 시스템상에 앤시 파일이 로딩되어 있어야만 한다. Ansi.sys가 로딩됐는지를 확인하려면 Config.sys 파일을 들여다보면 된다.
C:\>Type config.sys
라고 입력하면 확인할 수 있다. Ansi.sys 파일이 없으면, 새 Config.sys 파일을 작성해야 한다. 가장 간단한 예를 하나 들어보자. 도스 명령 라인상태에서 입력해야 한다.
c:\>copy con config.sys
files=20
buffers=20
device=c:\dos\ansi.sys
^Z
각 줄을 입력하고 나서는 반드시 엔터키를 쳐야 한다(너무 쉬운 내용을 반복한다구요? 잊지마시라고 드리는 말씀입니다). 맨 마지막에 ^Z 는 <Ctrl>와 <Z>키를 함께 눌러주라는 것으로 이렇게 하고나면 이 내용을 저장할 수 있다.
앤시 발사 카운트다운
앤시로 작업할 때는, 사용자가 할 일부터 알려줘야 한다. 앤시 에스케이프 시퀀스(Escape Sequences)는 바로 컴퓨터에게 키보드나 모니터의 상황을 바꿔주는 명령이다. 에스케이프의 명칭은 그 시퀀스가 문자에 부여하는 역할에서 따왔다. 여기서 문자란 보통 아스키 코드를 뜻한다.
이 시퀀스는 'ESCAPE(ESC)' 문자로 시작된다. Ansi.sys는 에스케이프 문자 다음에 적혀 있는 문자를 관찰해 이 명령들을 키보드나 화면용 명령으로 해석해 낸다.
에스케이프 시퀀스를 시작하는 것은 에스케이프 키 한번 입력으로 되지 않는다. 두번째 단계로는 화면 다음 줄로 커서를 옮긴다. 도스 시스템은 대부분 사용자가 보낸 메시지를 Ansi.sys가 알게 해주는 에스케이프 명령과 코드 및 종류를 필요로 한다. PROMPT, TYPE, ECHO 등이 사용 가능한 세가지이다.
PROMPT는 도스 프롬프트에서 에스케이프 명령을 나타내는 짧은 문자열을 입력하도록 해 준다. 예를 들어 설명하면 이렇다. 화면이 문자로 가득한 상태라 화면을 깨끗이 지워버리고 싶을 때는 'prompt $e[2j'라고 명령을 주면 된다. 그리고 나서 엔터키를 치면 커서는 화면의 왼쪽 가장자리로 옮겨진다.
도스 명령어, 'CLS'를 입력한 것과 같은 효과가 난다. 컴퓨터는 앤시 명령어, 'ESC[2j'로서 이 명령 라인을 입력하게 된다. 그리고 화면은 깨끗해진다.
'prompt $e[k' 다음에 엔터키를 입력하면, 화면에 있던 내용이 모두 지워지면서 커서가 줄의 맨 끝으로 이동한다. PROMPT에서 불편한 점이라면, 도스 프롬프트가 화면에서 아예 사라져버려 다른 드라이브나 디렉토리로 이동할 때 위치를 알 수 없 다는 점이다.
Autoexec.bat 파일에 'Prompt $p$g'와 같은 명령이 없다면, 도스 프롬프트 상태에서 입력해도 'C:\>'와 같은 상태로 변한다.
화면 색 바꾸기

컬러 모니터 사용자라면, Ansi.sys의 가치를 충분히 느낄 수 있다. 색을 바꾸려면 Ansi.sys에게 다음과 같은 형식을 취해야 한다.
prompt $e[code:code'...m
앞 명령에서 'code' 부분은 전경색(글자색), 배경색, 혹은 속성값 등을 대표한다. Ansi.sys와 관련된 속성을 보여주는 각종 코드표를 다음에 실었다.
숫자 30~37까지는 전경색, 40~47까지는 배경색, 0, 1, 4, 5, 7, 8은 다른 문자 속성을 표시한다. 파랑색 바탕에 굵은체의 초록색 글자로 컴퓨터를 사용하고 싶다면, 다음처럼 명령을 주면 된다.
prompt Se[1;32;44m
도스 프롬프트에서 엔터키를 눌러주면, 이제 파랑색 바탕에 초록색 글자가 나타난다.
도스 프롤프트와 커서 개조하기

화면색은 이제 바꿨다. 커서 위치까지 마음대로 결정하고 싶다면, 다음 명령 형식을 취한다.
prompt $e[열;행
열은 1부터 25까지, 행은 1부터 80까지 지적할 수 있다. 이 명령을 응용하면 매일 날짜와 시간도 프롬프트로 나타낼 수 있다.
prompt $e[s$e[; 50h$d$t$h$h$h$h$h$e[u$p$g
굉장히 복잡해 보이지만, 간단한 원리에 의한 것이다. 하나하나 설명을 듣다보면 앤시 명령의 형식을 얼마쯤 이해할 수 있을 것이다.
제일 앞쪽의 '$e[s'까지는 현재 커서 위치를 저장해 두는 명령이다. '$e[;50h'는 화면의 오른쪽 꼭대기로 커서를 옮긴다. 그런 다음, '$d$t'에 의해 현재 시간과 날짜가 표시된다.
'$h'는 백스페이스더러 움직이라는 명령이다. 이 명령을 6번쯤 하면서 초 부분이 지워진다. 마지막 '$e[u'는 커서를 본래 위치로 돌려주면서 $p$g가 작동해 전형적인 도스 프롬프트 'C:>'를 보여주고 마치는 명령이다.
화면을 꾸며주는 프롬프트 명령들
$b 문자 하나
$d 현재 날짜
$e 에스케이프 문자
$g >문자
$h 백스페이스(제일 마지막 글자 지음)
$i <문자
$n 현재 드라이브
$p 현재 드라이브와 디렉토리
$q = 문자
$t 현재 시간
$v 도스 버전 숫자
$$ $문자
$... 캐리지 리턴/라인 피드(새 줄로 바꿔줌)
Ansi.sys로 커서를 관리할 때 쓰는 에스케이프 시퀀스
$e[s 커서의 현 위치를 저장한다.
$e[u $e[s로 저장해 두었던 커서의 마지막 위치를 다시 불러낸다.
$e[xxA 커서를 xx열 위쪽으로 옮긴다.
$e[xxB 커서를 xx열 아래쪽으로 옮긴다.
$e[xxC 커서를xx열 오른편으로 옮긴다.
$e[xxD 커서를 xx열 왼편으로 옮긴다.
$e[xx;yyH 커서를xx열, yy형으로 옮긴다.
$e[H 커서를 화면의 왼편 제일 위쪽으로 옮긴다.
앞에 보이는 에스케이프 시퀀스들을 참고해 신나는 앤시 활용을 즐기자. 이렇게 친해진 앤시로 다음 달에는 키보드를 고치고 만지는 일에 빠질거다.
| 이글은 지금은 없어진 컴퓨터 잡지, 마이컴 1993년 12월호 기사에서 발췌한 내용입니다 |
글이 마음에 드시면 아래 공감♡버튼 살짝 눌러주세요.
공감과 댓글은 저에게 큰 힘이 됩니다.
'컴퓨터관련 > 마이컴 1993년 12월호' 카테고리의 다른 글
| 마이컴 1993년 12월호 - 게임시장을 잡아라 II, 시에라 온라인 (1) | 2023.04.23 |
|---|---|
| 마이컴 1993년 12월호 - 이달의 게임 BEST10, 게임소프트웨어 정보 (2) | 2023.04.17 |
| 마이컴 1993년 12월호 - 매킨토시를 알자, 교육용 소프트웨어 (0) | 2023.04.07 |
| 마이컴 1993년 12월호 - 특별 기고, 유니코드와 국내소프트웨어 산업의 미래 (0) | 2023.04.03 |
| 마이컴 1993년 12월호 - 뿌리를 찾아서2, PC의 세상살이 (2) | 2023.03.26 |
| 마이컴 1993년 12월호 - 새내기들 보세요6, 컴퓨터의 잘 생긴 얼굴, 모니터 (2) | 2023.03.21 |
| 마이컴 1993년 11월호 - 한글날 기념, 한민족 한글 정보화 학술대회 (3) | 2023.03.14 |
| 마이컴 1993년 12월호 - PC 통신, 이카루스의 꿈을 찾아서 (0) | 2023.03.02 |

