| HOME / 정보공유 / AIX 명령어 모음

setmaps
setmaps setmaps 명령 목적 터미널 맵 또는 코드 세트 맵을 설정합니다. 구문
입력 또는 출력 맵 파일을 지정하지 않고 setmaps를 사용하려는 경우
setmaps [ -v ] [ -c | -h ]
디폴트 디렉토리의 파일을 코드 설정 맵 파일로 선택하려는 경우
setmaps [ -v ] -s -i MapName
지정된 파일을 코드 설정 맵 파일로 선택하려는 경우
setmaps [ -v ] -s -I File1
디폴트 디렉토리의 파일을 입력 또는 출력 터미널 맵 파일로 선택하려는 경우
setmaps [ -v ] [ -D ] [ -k KeyName ] [ -d DirectoryPath ] { -i | -o } MapName
디폴트 디렉토리의 파일들을 입력 또는 출력 터미널 맵 파일들로 선택하려는 경우
setmaps [ -v ] [ -D ] [ -d DirectoryPath ] -t MapName
지정된 파일을 입력 또는 출력 터미널 맵 파일로 선택하려는 경우
setmaps [ -v ] [ -D ] [ -k KeyName ] { -I | -O } File1
차후에 사용하기 위해 디폴트 터미널 맵 파일을 로드하려는 경우
setmaps [ -v ] [ -D ] [ -k KeyName ] [ -r ] -l File2
차후에 사용하기 위해 지정된 터미널 맵 파일을 로드하려는 경우
setmaps [ -v ] [ -D ] [ -k KeyName ] [ -r ] -L File1
설명
주: 루트 사용자 권한없이 이 명령이 수행되면 코드 설정 맵이 로드되지 않고 디버그만 됩니다.
setmaps 명령은 터미널과 코드 세트 맵을 처리합니다. 코드 세트 맵에는 -s 플래그가 사용되어야 합니다. 운영 시스템은 입출력 터미널 맵을 사용하여 내부 데이터 표현을 비동기식 터미널이 지원하는 ASCII 문자로 변환합니다. 플래그없이 setmaps 명령을 입력하는 경우, 현재 입출력 터미널 맵의 이름을 표시합니다.
터미널 맵은 대체 문자열과 패턴 문자열을 연관시키는 규칙 리스트가 포함되어 있는 텍스트 파일입니다. 이 파일은 일반적으로 /usr/lib/nls/termmap 디렉토리에 있습니다. 운영 시스템은 입력 맵 파일을 사용하여 키보드에서 응용프로그램으로의 입력을 맵핑하고 응용프로그램에서 표시장치로의 출력을 맵핑합니다.
터미널 맵핑은 다음과 같이 작동합니다.
시스템은 맵 파일의 규칙이 지정한 패턴이 버퍼 안에 있는 서브스트링과 일치할 때까지 버퍼에 있는 문자를 수집합니다.
시스템은 규칙이 지정한 대체 문자열을 구성해서 리턴합니다.
이 처리는 버퍼 안에 남아 있는 모든 문자에 적용됩니다.
터미널 맵의 규칙은 패턴 프로세서의 상태를 테스트하고 변경할 수 있습니다. 상태는 단일 바이트 문자로 편의상 숫자(0-9)로 식별됩니다. 상태는 KILL 또는 INTR 문자를 처리할 때 또는 프로그램이 ioctl 시스템 호출을 발행할 때와 같이 시스템이 신규 맵을 로드하거나 터미널 입력 또는 출력 버퍼를 삭제할 때마다 초기 상태 0으로 재설정됩니다. 터미널 맵은 상태를 사용하여 다른 타스크간의 복수바이트 이스케이프 문자열을 발견합니다. 패턴에 @x를 지정하여 x 상태를 테스트할 수도 있고, 대체 문자열에 @x를 포함시켜 상태를 x로 설정할 수도 있습니다.
setmaps 명령은 -s 플래그 사용시 코드 세트 맵을 표준 입력 장치로 지정합니다. 운영 시스템은 코드 세트 맵을 사용하여 한 문자가 필요로 하는 메모리 바이트 수와 필요한 표시 열 수를 알아냅니다.
플래그
-c 이 터미널의 모든 맵핑을 지웁니다.
-d DirectoryPath DirectoryPath 변수가 MapName 변수가 포함되어 있는 디렉토리의 경로로 사용되도록 합니다. 이 플래그와 변수를 지정하면 /usr/lib/nls/termmap 디렉토리를 사용하지 않습니다.
-D 맵을 로드하기 전에 지정된 맵의 디버그 프로그램 출력을 표준 출력 장치로 보냅니다. 이를 사용하여 신규 맵에서 디버그 프로그램을 수행할 때, 맵이 실제로 로드되지 못하게 하기 위해 완전히 디버그될 때까지 루트 사용자 권한으로 수행하지 마십시오.
-h setmaps 명령(숙련된 사용자를 위해 -v 플래그와 함께 사용됨)의 사용법 정보를 인쇄합니다.
-i MapName /usr/lib/nls/termmap/MapName.in 파일을 입력 맵으로 선택합니다. 이 플래그를 -s 플래그와 함께 사용하면 터미널 코드 세트 맵 파일로 /usr/lib/nls/csmap/MapName 파일을 선택합니다.
-I File1 File1 변수의 내용을 입력 맵으로 선택합니다. File1 변수가 지정한 파일은 전체 경로 이름 또는 현재 작업 디렉토리와 상대적인 경로 이름이 될 수 있습니다. 이 플래그를 -s 플래그와 함께 사용하면 File1 변수의 내용을 터미널 코드 페이지 맵 파일로 선택합니다.
-k KeyName KeyName 변수의 내용을 선택된 맵으로 결합시킵니다. 이 키 이름은 보통 MapName 변수에 설정된 디폴트 키를 겹쳐씁니다.
-l File2 나중에 사용하기 위해 /usr/lib/nls/termmap/File2 파일을 로드합니다. File2 변수는 맵 파일의 전체 경로 이름과 접미사(있는 경우)를 포함합니다.
주: 이 플래그를 지정하려면 루트 사용자 권한이 있어야 합니다.
-L File1 나중에 사용하기 위해 지정된 맵을 로드합니다. File1 변수는 맵 파일의 전체 경로 이름과 접미사(있는 경우)를 포함됩니다.
주: 이 플래그를 지정하려면 루트 사용자 권한이 있어야 합니다.
-o MapName /usr/lib/nls/termmap/MapName.out 파일을 터미널 출력 맵으로 선택합니다.
-O File1 File1 변수의 내용을 터미널 출력 맵으로 선택합니다. File1 변수는 맵 파일의 전체 경로 이름과 접미사(있는 경우)를 포함됩니다.
-r 지정된 맵이 이미 로드되어 있어도 강제로 재로드합니다. 기존 맵을 사용하는 터미널은 로그오프되거나 그 맵을 명확하게 재설정할 때까지 기존의 맵을 사용합니다. 이 플래그를 지정하지 않으면 맵이 이미 커널에 로드하지 않은 경우에만 로드합니다.
주: 이 플래그를 지정하려면 루트 사용자 권한이 있어야 합니다.
-s 맵을 코드 설정 맵으로 간주합니다.
-t MapName /usr/lib/nls/termmap/MapName.in 파일을 터미널 입력 맵으로 선택하고 /usr/lib/nls/termmap/MapName.out 파일을 터미널 출력 맵으로 선택합니다.
-v 상세 출력을 선택합니다.
로드한 모든 맵은 고유한 이름을 가지고 있어야 합니다. -k 플래그를 사용하여 이름이 상충되지 않도록 하십시오. -i, -o 및 -t 플래그만이 암시적으로 접미사를 추가합니다. 맵 이름을 지정하는 다른 플래그에는 필요하다면 접미사를 포함해야 합니다. 요청되는 맵 이름이 이미 커널에 로드된 경우, 명령행에 제공된 경로 정보가 다른 맵을 의미하더라도 이미 로드된 맵이 사용됩니다.
코드 설정 맵을 원래 상태로 재설정하려면 /usr/lib/nls/csmap/sbcs 코드 설정 맵을 사용해야 합니다.
예제
이 터미널의 현재 맵 설정을 표시하려면 다음과 같이 입력하십시오.
setmaps
현재 터미널에 대한 모든 맵핑을 지우려면 다음과 같이 입력하십시오.
setmaps -c
ibm3161-C 터미널의 맵핑(입력 및 출력 맵 모두)을 설정하려면 다음과 같이 입력하십시오.
setmaps -t ibm3161-C
vt220 입력 맵을 fred 맵으로 커널에 로드하려면 다음과 같이 입력하십시오.
setmaps -k fred -i vt220
bob.dump라고 하는 파일 안에 bob라고 하는 신규 맵의 디버그 출력을 모으려면 다음과 같이 입력하십시오.
setmaps -D -L /tmp/bob > bob.dump
이 터미널의 IBM-932 코드 페이지와 일치하는 코드 설정 맵을 설정하려면 다음과 같이 입력하십시오.
setmaps -s -i IBM-932
이 터미널의 IBM-943 코드 페이지와 일치하는 코드 세트 맵을 설정하려면 다음을 입력하십시오.
setmaps -s -i IBM-943
이 터미널의 파일 myEUC에서 코드 설정 맵을 설정하려면 다음과 같이 입력하십시오.
setmaps -s -I myEUC
파일
/usr/bin/setmaps setmaps 명령이 포함되어 있습니다.
/usr/lib/nls/termmap/*.in 입력 맵 파일이 포함되어 있습니다.
/usr/lib/nls/termmap/*.out 출력 맵 파일이 포함되어 있습니다.
/usr/lib/nls/csmap/sbcs 단일 바이트 코드 페이지의 코드 설정 맵이 포함되어 있습니다.
/usr/lib/nls/csmap/IBM-943 IBM-943 코드 페이지의 코드 세트 맵을 포함합니다.
/usr/lib/nls/csmap/IBM-eucJP IBM-eucJP 코드 페이지의 코드 설정 맵이 포함되어 있습니다.
관련 정보
stty 명령.
setmaps 파일 형식, termios.h 파일.
setcsmap 서브루틴.