stty command로 터미널의 키보드 키 설정 변경법
유닉스(unix)나 리눅스(linux)의 터미널(프롬프트) 환경을 변경할 때 stty 명령어를 이용합니다. 다양하게 이용할 수 있으나 이 포스팅에서는 문자 치환 명령에 관해서만 다룹니다. 문자 치환을 하는 이유는 대체로 ksh, bash shell같이 키보드 설정이 다른 환경에서 key 지정을 해줌으로써 사용하기 편하도록 하기 위함입니다.
stty [설정할 내용] [설정할 키보드 key : 생략가능. 생략할 경우 default로 설정된 key로 설정됩니다.]
'설정할 키보드 key'를 누르면 '설정할 내용'의 작업이 수행됩니다. '설정할 키보드 key'는 default가 있는 경우 생략할 수 있습니다. 생략할 경우 default로 설정된 key를 누르면 실행됩니다.
예시) 프롬프트] stty erase ^H
한글자 삭제(erase)를 backspace(^H)로 설정합니다. 해당 설정을 하고나면 backspace key로 문자 삭제를 할 수 있습니다.
'stty erase z' 같이 일반 문자도 등록가능하지만, 적용 시 z key는 삭제키가 되므로 z 문자를 입력하는 용도로는 사용할 수 없습니다
위의 예시와 같이 프롬프트 상에서 적용한 경우 해당 로그인 상태에서만 유효하므로, 계속 접속할 때마다 사용하고 싶다면 .profile, .login, .cshrc 같이 터미널을 열 때 실행되는 shell에 등록해두어야 합니다
stty 명령어로 등록 가능한 key설정
1. earse : 입력된 한 문자를 삭제하는 key입니다.
default 설정키 : Delete key (^?)
변경한다면 backspace key (^H)로 주로 변경합니다.
2. werase (np) : 입력한 한 단어를 삭제하는 key입니다.
default 설정키 : ctrl+w (^w)
예시) 프롬프트] ls -al work^w (ctrl+w)
프롬프트] ls -al
3. kill : 입력된 한 라인을 삭제하는 key입니다.
default 설정키 : ctrl+u (^u)
예시) 프롬프트] ls -al work^u (ctrl+u)
프롬프트]
4. susp : 현재의 프로세스를 suspend (일시 중지)시키는 key입니다.
default 설정키 : ctrl+z (^z)
5. intr : 진행중인 프로세스를 종료시키는 key입니다.
default 설정키 : ctrl+c (^c)
4번, 5번 통합 예시)
프롬프트] man telnet
........... 내용이 계속 출력 ............................. ^z (ctrl+z) --- 잠시 중지
[1] + Stopped man telnet
프롬프트] jobs (중단된 명령 확인)
[1] + Stopped man telnet
프롬프트] fg (중단된 명령 계속 실행)
man telnet ...skipping... ........ 내용이 계속 출력 ............................ ^c (ctrl+c) --- 완전 중단
프롬프트]
6. stop : 화면으로의 출력을 중지하는 key입니다.
default 설정키 : ctrl+q (^q)
7. start : 화면으로의 출력을 시작하는 key입니다.
default 설정키 : ctrl+s (^s)
6번, 7번 통합 예시)
프롬프트] cat file_name
........... 내용이 계속 출력 ............................. ^q (ctrl+q) --- 잠시 중지
........... 계속 내용이 머물러있는 상태에서 ....... ^s (ctrl+s) --- 다시 시작
해당 명령어를 사용한 것과 같은 효과를 가집니다.
프롬프트] cat file_name | more
8. quit : core dump와 함께 현재의 프로세스를 중단하는 key입니다.
default 설정키 : ctrl+\ (^\)
9. eof : 파일의 끝을 알리며 입력을 종료하는 key입니다.
default 설정키 : ctrl +d (^d)
10. eol : 행의 끝을 알립니다.
11. eol2 : 한 행을 마치기위한 별도의 문자입니다.
12. swtch (np) : 다른 쉘 계층으로 스위칭하는 key입니다.
13. dsusp (np) : 입력을 flush 한 후 프로세스를 일시 중지하는 key입니다.
default 설정키 : ctrl +y (^y)
14. rprnt (np) : 화면을 다시 갱신하는 key입니다.
default 설정키 : ctrl +r (^r)
15. flush : stty 입력 및 출력을 즉시 버리는 key입니다.
default 설정키 : ctrl +o (^o)
16. inext (np) : 특수문자라 할지라도 다음 문자는 글자 그대로 입력하는 key입니다.
default 설정키 : ctrl +v (^v)
이 블로그의 도움되는 글들을 추천합니다.
'IT 인터넷 > Unix Linux' 카테고리의 다른 글
UNIX shell에 사용된 특수문자를 일반문자로 사용하고 싶을 때 ( ', ", \, ` ) (0) | 2013.04.16 |
---|
댓글