본문 바로가기

stty 명령어로 터미널의 키보드 설정을 변경하기 (backspace, erase)

IT 인터넷/Unix Linux by 하루하나공부시간 2012. 7. 2.

stty명령어로 키 설정 변경하기
stty명령어로 키 설정 변경하기


  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)

 

 

숙취해소제 알유21(ru21) - 내돈내산 5년 후기

숙취해소제 ru21은 몇 년째 우리 집 서랍장의 지정석에 있는 물품이에요. 오늘은 남편이 술을 마실 때 꼭 찾는 ru21의 개인적인 후기를 남겨봅니다. 몇 년 전에 ru21 포스팅을 했었는데, 블로그를 정

jungit.tistory.com

 

내 인생 화장품이 된 리톤72 - 내돈내산 1년 사용후기

(2022년 9월 현재도 사용 중) 이제껏 딱 맞는 화장품을 만나본 적이 없어 좋다는 거 눈에 띄면 사는 편이었어요. 리톤72에 정착한 지금도 기초는 아직 정착하지 못했고요. 근데 리톤72를 한 달 써

jungit.tistory.com

이 블로그의 도움되는 글들을 추천합니다.

댓글