당신이 할 경우 :
stty eol =
다음에 제시된 데모 실행 편집을 , 당신은 볼 수 foo는 바 의 출력에 test.out . 터미널의 라인 원칙은 입력에서 각 특수 eol 문자를 읽을 때 출력을 리더로 플러시합니다 .
Linux 표준 모드 터미널 은 다음과 같은 특수 입력 문자를 처리 stty icanon
하거나 구성 할 수 있습니다 stty sane
.
- eof
- 태만:
^D
- 입력 라인을 종료하고 출력을 리더로 플러시합니다. 입력에서 제거되므로 행에서 유일한 문자로 입력되면 널 읽기 또는 파일 끝으로 리더에 전달됩니다.
- ol
- 기본값 : 할당되지 않은
- 또한 입력 라인을 종료하지만 입력에서 제거되지는 않습니다.
- 죽이다
- 태만:
^U
- 버퍼링 된 모든 입력을 지 웁니다.
- 삭제
- 기본값 :
^H
(또는 가능 @
하거나 ^?
일부 시스템에서)
- 마지막으로 버퍼링 된 입력 문자를 지 웁니다.
때 iexten가 도 설정 -처럼에게 stty icanon iexten
또는, 다시, 아마 stty sane
, 정식 리눅스 터미널도 처리 할 ...
- eol2
- 기본 : 할당되지 않은
- 또한, 또한 , 입력 라인을 종료하고, 또한 입력에서 제거되지.
- 웨 라세
- 태만:
^W
- 마지막으로 버퍼링 된 입력 단어를 지 웁니다 .
- rprnt
- 태만:
^R
- 버퍼링 된 모든 입력을 재 인쇄합니다.
- 다음
- 태만:
^V
- 라인 제어가 바로 뒤 따르는 입력 문자에 관한 한 특별한 의미를 제거합니다.
이러한 문자는 입력 스트림에서 제거하고 ( eol 및 eol2 제외) , 즉 처리 된 스트림을 리더로 전달하기 전에 연관된 특수 기능을 수행합니다 (일반적으로 쉘이지만 포 그라운드 프로세스 그룹이 될 수 있음). .
유사하게 처리되지만 임의의 icanon 설정과 독립적으로 구성 할 수있는 다른 특수 입력 문자 는 isig 세트 stty isig
를 포함하며 아마도 제정신 구성 에도 포함될 수 있습니다.
- 떠나다
- 태만:
^\
- 버퍼링 된 모든 입력을 플러시하고 ( noflsh 가 설정되지 않은 경우 ) SIGQUIT를 포 그라운드 프로세스 그룹으로 보냅니다. 코어 덤프가 생성 될 수 있습니다.
- 서스펜션
- 태만:
^Z
- 버퍼링 된 모든 입력을 플러시하고 ( noflsh 가 설정되지 않은 경우 ) SIGTSTP를 포 그라운드 프로세스 그룹으로 보냅니다. 일시 중단 된 프로세스 그룹은 가능성 중 하나를 사용하여 다시 시작할 수 있습니다
kill -CONT "$!"
하거나 fg
A의 ( set -m
) 작업 제어 쉘.
- intr
- 태만:
^C
- 버퍼링 된 모든 입력을 플러시하고 ( noflsh 가 설정되지 않은 경우 ) SIGINT를 포 그라운드 프로세스 그룹으로 보냅니다.
그리고 IXON의 세트 - 같은 구성 stty ixon
도 보통에 포함 제정신의 설정 :
- 중지
- 태만:
^S
- 입력에서 시작 을 읽을 때까지 또는 ixany 가 설정되어 있을 때 하나 이상의 문자를 읽을 때까지 리더에 대한 모든 출력을 중지합니다 .
- 스타트
- 태만:
^Q
- stop으로 이전에 중지 된 경우 출력을 다시 시작합니다 .
- 처리시 중지 및 시작 이 모두 입력에서 제거되지만 ixany 가 설정 될 때 입력 문자로 인해 출력이 다시 시작되면 해당 문자가 제거되지 않습니다.
Linux 이외의 다른 시스템에서 처리되는 특수 문자에는 다음이 포함될 수 있습니다.
- 플러시
- 태만:
^O
- 버퍼링 된 입력의 삭제 및 플러시를 토글하고 입력에서 제거됩니다.
- dsusp
- 기본 : 할당되지 않은
- 리더가 지정된 특수 입력 문자를 읽은 다음 SIGTSTP를 보낼 때만 버퍼링 된 모든 입력을 플러시합니다.
그리고 아마도 ...
- swtch
- 기본값
^@
( \0
또는 의미 NUL
)
- 포 그라운드 쉘 레이어를 전환합니다. 일부 시스템 에서
shl
쉘 계층 응용 프로그램 과 함께 사용 합니다.
- 의 구현
shl
멀티 플렉스의 ptys 및 작업 제어가 아닌 원래의 구현의과 호환되는 에서 swtch 의존 동작은 자유롭게에서 가지게 될 수있다 heirloom-toolchest
툴 스위트.
이러한 입력 기능을 처리 하는 방법과 이유 (및 어쩌면 왜 그렇지 않은지)에 대한 명확한 그림을 보려면를 참조하십시오 man 3 termios
.
적용 가능한 경우 위의 모든 기능을 할당 (또는 재 할당) 할 수 있습니다 stty
function assigned-key
. 단일 기능을 비활성화하려면을 수행하십시오 . GNU, AST, 또는 가보의 모든과 상기 라인 편집의 모든 기능에 대한 과제와 다양한 시도로 또는 구현을 표시하는 것, 당신은 또한 수 로 NUL의 모든 기능에 대한 할당으로 설정 동일시하는 것 같다 할당되지 않은 내 리눅스에 체계.stty
function
^-
stty
stty
function
^@
아마 당신이 입력 할 때이 문자 들의 에코 를 보았을 것입니다 ( [-] ctlecho 로 구성 될 수 있습니다 ) . 그러나 이것은 당신이 어디에서했는지 보여주기위한 마커 일뿐입니다-입력을받는 프로그램은 그것들을 입력하고 ( 즉, eol [2] 제외 ) , 선 분야가 효과를 적용한 입력 사본 만받습니다.
터미널이 다양한 라인 편집 기능을 처리 한 결과, 사용자가 지시 한 기능을 수행하기 위해 입력을 어느 정도 버퍼링해야하므로 입력의 무한한 공급이 불가능합니다. 당신은 언제든지 죽일 수 있습니다. 라인 버퍼는 더 정확하게이다 킬 버퍼입니다.
당신은 설정하면 EOL 또는 EOL2 둘 줄 바꿈 또는 리턴 문자, 예를 들면없는 경우에도 - - 당신은 할 수있을 것입니다 입력에서 발생하는 일부 구분 문자 죽일 가 마지막으로 발생하는 시점까지가 당신의 킬 버퍼 이 중 다음 줄 또는 개행 (또는 icrnl 이 설정되고 igncr 이 설정 되지 않은 경우 리턴 ) 까지 입력에서 입력 될 때까지 확장됩니다 .