STTY(1)

명칭
stty - 단말의 설정을 행한다

서식
stty [-a | -e | -g] [-f file] [operands]

해설
stty (은)는, 표준 입력이 되어 있는 디바이스의 단말 속성을 설정 혹은 표시한다 프로그램입니다. 옵션이나 인수를 지정하지 않았던 경우, 설정되어 있는 속성의 일부나, 기본값와 다른 값이 설정되어 있는 속성 (을)를 표시합니다. 지정했을 경우는, 지정된 인수에 따라 단말 상태를 변경합니다. 터미널의 종류에 따라서는 서로 배타적인 인수의 편성도 있습니다.

옵션으로서는 이하의 것이 있습니다.

-a  p1003.2 에 규정된 형식에서, 현재의 단말 속성을 모두 표준 출력에 출력합니다.

-e  BSD 의 전통적인 ``all''나 ``everything''의 형식에서, 현재의 단말 속성을 모두 표준 출력에 출력합니다.

-f  표준 입력이 아니고, file 그리고 지정된 단말을 사용합니다. 이 파일은 open() 함수에 O_NONBLOCK 플래그를 붙여 오픈되므로, 단말의 설정이나 표시를 블록 되지 않고 에 행할 수가 있습니다.

-g  단말 변경 후에 단말 상태를 복귀 당하도록(듯이), stty 의 인수로서 지정할 수 있는 형식에서, 현재의 단말 속성을 표준 출력에 출력합니다. 이 형식은 p1003.2 에 규정되고 있습니다.

단말 속성의 설정에는, 이하의 인수를 사용할 수 있습니다.

  제어 모드:

제어 모드의 플래그는 단말과 관련하는 하드웨어의 속성 에 영향을 줍니다. 이것은 termios 구조체의 c_cflag 에 상당합니다.

parenb (-parenb)
    패리티 생성 및 검출을 유효 (무효)로 합니다.

parodd (-parodd)
    홀수 패리티 (짝수 패리티)로 합니다.

cs5 cs6 cs7 cs8
    가능하면 1 캐릭터의 비트폭을 설정합니다.

number
    가능하면, 단말의 baud rate를 number (으)로 설정합니다. 0 을 지정했을 경우는, 모뎀의 제어를 자릅니다.

ispeed number
    가능하면, 입력의 baud rate를 number (으)로 설정합니다. 0 을 설정했을 경우는, 출력의 baud rate와 같은 값으로 설정됩니다.

ospeed number
    가능하면, 출력의 baud rate를 number (으)로 설정합니다. 0 을 설정했을 경우는, 모뎀의 제어를 자릅니다.

speed number
    ispeed (와)과 ospeed 의 양쪽 모두를 number (으)로 설정합니다.

hupcl (-hupcl)
    그 디바이스를 오픈하고 있는 프로세스가 클로우즈 처리를 실시했을 때, 그 외 에 이 디바이스를 오픈하고 있는 프로세스가 없으면, 모뎀의 제어 기능에 보다 절단 처리를 실시합니다 (실시하지 않습니다).

hup (-hup)
    hupcl (-hupcl) (와)과 같습니다.

cstopb (-cstopb)
    stop bit를 2 비트 (1 비트)로 합니다.

cread (-cread)
    수화기를 유효 (무효)로 합니다.

clocal (-clocal)
    회선에 대해서 모뎀 제어가 불필요하다 (필요하다)로 간주합니다.

crtscts (-crtscts)
    RTS/CTS flow control를 유효 (무효)로 합니다.

  입력 모드:
이것은 termios 구조체의 c_iflag 에 상당합니다.

ignbrk (-ignbrk)
    입력의 브레이크 신호를 무시합니다 (무시하지 않습니다).

brkint (-brkint)
    브레이크를 수신했을 때, 시그널 INTR (을)를 냅니다 (내지 않습니다).

ignpar (-ignpar)
    패리티 에러를 무시합니다 (무시하지 않습니다).

parmrk (-parmrk)
    패리티 에러를 마크 합니다 (마크 하지 않습니다).

inpck (-inpck)
    입력의 패리티 검사를 유효 (무효)로 합니다.

istrip (-istrip)
    입력한 캐릭터의 8 비트째를 버려 7 비트로 합니다 (8 비트째 (을)를 버리지 않습니다).

inlcr (-inlcr)
    입력의 NL (을)를 CR (으)로 변환합니다 (변환하지 않습니다).

igncr (-igncr)
    입력의 CR (을)를 무시합니다 (무시하지 않습니다).

icrnl (-icrnl)
    입력의 CR (을)를 NL (으)로 변환합니다 (변환하지 않습니다).

ixon (-ixon)
    제어 코드의 START/STOP (을)를 사용한 출력 flow control를 유효 (무효)로 합니다. 시스템으로부터 단말에의 출력에 대해, 시스템이 STOP (을)를 수신하면(자) 출력을 중단해, START (을)를 수신하는지, ixany 하지만 설정되어 있는 경우는 어떠한 캐릭터를 수신하면(자), 출력을 재개하게 됩니다.

ixoff (-ixoff)
    시스템의 입력 큐가 하늘/만배에 가까워지면(자), 각각 START/STOP (을)를 출력하도록(듯이) 합니다 (가까워져도, 출력하지 않습니다).

ixany (-ixany)
    어떤 캐릭터가 와도 ( START 하지만 왔을 경우만) 출력을 재개합니다.

imaxbel (-imaxbel)
    시스템에 의해 입력 큐의 MAX_INPUT (일반적으로는 255)의 최대 캐릭터수가 규정되고 있어 imaxbel 하지만 세트 되고 있으면(자), 입력 큐의 제한을 넘은 입력에 대해서 ASCII BEL 캐릭터를 출력 큐에 보냅니다 (단말이 웁니다). imaxbel 하지만 세트되어 있지 않아서 입력 큐가 가득하게 되었을 경우, 다음의 캐릭터 입력으로 모든 입력, 출력 큐는 버려집니다.

  출력 모드:
이것은 termios 구조체의 c_oflag 에 상당합니다.

opost (-opost)
    프로세스 후의 처리를 실시한 다음 출력을 합니다 (프로세스 후의 처리를 실시하지 않고 출력합니다. 이 지정을 하면(자), 다른 모든 출력 모드가 무시됩니다).

onlcr (-onlcr)
    출력의 NL (을)를 CR-NL (으)로 변환합니다 (변환하지 않습니다).

ocrnl (-ocrnl)
    CR (을)를 NL 에 MAP 합니다 (MAP 하지 않습니다).

oxtabs (-oxtabs)
    출력의 탭을 스페이스에 전개합니다 (전개하지 않습니다).

onocr (-onocr)
    자리수 0 에 대해 CR 를 출력합니다 (출력하지 않습니다).

onlret (-onlret)
    단말상에서 NL 가 CR 의 기능을 실행합니다 (실행하지 않습니다).

  로컬 모드:

로컬 모드의 플래그 (lflags)는 단말 처리의 다양한 속성에 영향을 줍니다. 역사적으로는,"local" 라는 이름이 붙여진 새로운 작업 컨트롤 기능 (은)는 Jim Kulp 에 의해 IIASA 의 Pdp 11/70 에 실장되었습니다. 그 후 이 드라이버는, Evans Hall, UC Berkeley 의 최초의 VAX 위에서 달렸습니다. 그 때 작업 컨트롤의 세부는 큰폭으로 변경되었습니다만, 구조체의 정의와 이름은 근본적으로는 바뀌지 않았습니다. lflag 의 'l'의 2 번째의 해석은, termios 구조체의 c_lflag 에 상당하는 ``line discipline flag''(행 제어 규칙 플래그)입니다.

isig (-isig)
    특수한 제어 캐릭터 INTR, QUIT, SUSP 에 대한 처리를 유효 (무효)로 합니다.

icanon (-icanon)
    ERASE (와)과 KILL 처리에 의한 입력 제어를 유효 (무효)로 합니다.

iexten (-iexten)
    icanon, isig, ixon 로 제어에 사용되고 있는 것 이외의 특수한 제어 캐릭터의 처리를 유효 (무효)로 합니다.

echo (-echo)
    타입 된 캐릭터를 반향 합니다 (반향 하지 않습니다).

echoe (-echoe)
    ERASE 캐릭터의 입력이 있었을 경우, 가능하면 디스플레이상으로 보이는 현재의 출력행의 마지막 캐릭터를 지웁니다 (지우지 않습니다).

echok (-echok)
    KILL 캐릭터의 입력이 있었을 경우, 그 후에 NL (을)를 출력합니다 (출력하지 않습니다).

echoke (-echoke)
    가능하면, KILL 캐릭터로 디스플레이상의 현재의 행을 지웁니다 (지우지 않습니다).

echonl (-echonl)
    echo 가 무효가 되어 있을 때에도 NL 캐릭터만은 반향 시킵니다 (반향 하지 않습니다).

echoctl (-echoctl)
    echoctl (을)를 세트 하면(자), 제어 캐릭터는 ^X 와 같이 표시됩니다. 세트 하지 않으면, 그 캐릭터 자신이 표시됩니다.

echoprt (-echoprt)
    프린터 단말에 대하는 것으로, 설정되었을 경우, 삭제된 캐릭터를 ``\''와 ``/''로 둘러싸 역방향으로 에코 합니다. 설정되어 있지 않으면, 이 기능을 무효로 합니다.

noflsh (-noflsh)
    INTR, QUIT, SUSP 의 나머지의 플래시 처리를 무효 (유효)로 합니다.

tostop (-tostop)
    백그라운드 작업이 출력을 실시하려고 했을 때에 SIGTTOU (을)를 보냅니다 (보내지 않습니다). 이것에 의해 백그라운드 작업은 화면 출력을 실시하려고 하면(자) 정지하게 됩니다.

altwerase (-altwerase)
    WERASE 캐릭터를 처리할 경우에, 다른 단어 소거 알고리즘을 이용합니다 (이용하지 않습니다). 이 알고리즘은 영숫자와 언더 스코아의 줄을 단어로 간주합니다. 또, 분류상 직전의 캐릭터를 스킵 합니다 (편의적으로, 직전의 캐릭터를 ERASE 한 글자로 지울 수가 있도록(듯이) 하기 위한(해)).

mdmbuf (-mdmbuf)
    세트 되면(자), CD 신호의 검출에 의한 flow control의 출력을 실시합니다. 세트 되지 않으면, CD 신호의 저하에 대해서 에러를 출력합니다 (캐리어 신호는 CLOCAL 플래그에 의해도 무시되지 않습니다).

flusho (-flusho)
    출력을 버립니다 (버리지 않습니다).

pendin (-pendin)
    입력을 비표준 (non-canonical) 모드로부터 표준 (canonical) 모드에 새로 바꾸었다 그리고, 입력을 보류합니다 (보류하지 않습니다). 읽기가 보류되었을 때, 또는 더욱 입력이 있었을 때에 재입력됩니다.

  제어 캐릭터:

control-character string
    string 에 control-character (을)를 할당합니다. 만약 string 가 1 캐릭터 뿐이라면, 그 캐릭터에 control-character 하지만 할당할 수 있습니다. string 가 2 캐릭터의 "^-" 혹은 "undef" 의 경우는 control-character (은)는 무효로 됩니다 (즉, {_POSIX_VDISABLE} (이)가 됩니다).

    인식되는 제어 캐릭터:

    제어 캐릭터 | 기호 | 설명
    _________ | _________ | _______________
    eof | VEOF | EOF character
    eol | VEOL | EOL character
    eol2 | VEOL2 | EOL2 character
    erase | VERASE | ERASE character
    erase2 | VERASE2 | ERASE2 character
    werase | VWERASE | WERASE character
    intr | VINTR | INTR character
    kill | VKILL | KILL character
    quit | VQUIT | QUIT character
    susp | VSUSP | SUSP character
    start | VSTART | START character
    stop | VSTOP | STOP character
    dsusp | VDSUSP | DSUSP character
    lnext | VLNEXT | LNEXT character
    reprint | VREPRINT | REPRINT character
    status | VSTATUS | STATUS character

min number

time number
    min 혹은 time 의 값을 number (으)로 합니다. MIN (와)과 TIME (은)는 비표준적인 모드 (-icanon)에서의 입력 처리에 사용됩니다.

  복합 모드:

saved settings
    현재의 단말 속성을 -g 옵션에 의해 보존된 속성으로 합니다.

evenp or parity
    parenb 와 cs7 를 유효하게 해, parodd 를 무효로 합니다.

oddp
    parenb, cs7, parodd 를 유효하게 합니다.

-parity, -evenp, -oddp
    parenb 를 무효로 해, cs8 를 세트 합니다.

nl (-nl)
    icrnl 를 유효 (무효)로 합니다. 거기에 더해, -nl 는 inlcr 와 igncr 를 해제합니다.

ek  ERASE, ERASE2, KILL 에 할당할 수 있고 있는 캐릭터를 시스템의 디폴트의 것에 되돌립니다.

sane
    모든 모드를 대화적인 단말 이용에 타당한 값에 리셋트 합니다.

tty 행 제어 규칙을 표준 단말의 규칙 TTYDISC (으)로 설정합니다.

crt (-crt)
    CRT 디스플레이용으로 적합하는 모드를 모두 유효 (무효)로 합니다.

kerninfo (-kerninfo)
    STATUS 캐릭터 (통상 ^T 로 설정되어 있습니다)에 묶을 수 있었다 시스템 스테이터스행의 생성을 유효 (무효)로 합니다. 이 스테이터스행은 시스템의 부하, 현재의 명령의 이름, 프로세스 ID, 프로세스가 기다리고 있는 이벤트 (혹은 프로세스 상태), 유저 시간과 시스템 시간, CPU 이용율, 현재의 메모리 사용 상황 매운은 있습니다.

columns number
    단말의 크기를 number 열로 합니다.

cols number
    columns 의 별명 정의입니다.

rows number
    단말의 크기를 number 행으로 합니다.

dec Digital Equipment Corporation systems 의 단말 설정으로 합니다. ( ERASE, KILL, INTR (을)를 각각 ^?, ^U, ^C로 해, ixany (을)를 무효, crt (을)를 유효하게 합니다)

extproc (-extproc)
    설정되면(자), 일부의 단말 처리가 단말 기기내지 pty 에 접속된 리모트측 그리고 행해지게 됩니다.

raw (-raw)
    단말 모드를 전혀 입출력 처리를 행하지 않는 모드로 합니다. 이것을 무효로 하면(자), 단말을 입출력 처리를 행하는 보통 모드에 되돌립니다. 주의해야 하는 것은, 단말용의 드라이버는 단일의 RAW 비트를 가지는 것은 아니기 때문에, raw 모드로 설정하기 전에 어떠한 플래그가 설정해 두었는지를 아는 것이로 기내라고 하는 것입니다. 즉, raw 모드를 해제하는 것 만으로는, raw 모드 설정전 상태에는 돌아오지 않습니다. 단말을 raw 상태로 해, 그것을 정확하게 바탕으로 되돌리기 위해서(때문에)는, 이하와 같은 쉘 명령을 사용하는 것을 추천합니다.

        save_state=$(stty -g)
        stty raw
        ...
        stty "$save_state"

size
    단말의 크기를 행, 열의 순서에 늘어놓은 1 행으로 표시합니다.

  호환 모드:

이하의 모드는 구버젼의 stty 명령와의 호환성 보관 유지를 위해서(때문에) 남겨지고 (이)라고 있습니다.

all 열람식에서 콘토르 캐릭터를 표시하는 이외는, stty -a (와)과 같게 단말 설정을 표시합니다.

everything
    all (와)과 같습니다.

cooked
    sane (와)과 같습니다.

cbreak
    brkint, ixon, imaxbel, opost, isig, iexten, -icanon (을)를 유효하게 합니다. 해제했을 경우는 sane (와)과 같습니다.

new tty (와)과 같습니다.

old tty (와)과 같습니다.

newcrt (-newcrt)
    crt (와)과 같습니다.

pass8
    parity 의 반대입니다.

tandem (-tandem)
    ixoff (와)과 같습니다.

decctlq (-decctlq)
    ixany 의 반대입니다.

crterase (-crterase)
    echoe (와)과 같습니다.

crtbs (-crtbs)
    echoe (와)과 같습니다.

crtkill (-crtkill)
    echoke (와)과 같습니다.

ctlecho (-ctlecho)
    echoctl (와)과 같습니다.

prterase (-prterase)
    echoprt (와)과 같습니다.

litout (-litout)
    opost 의 반대입니다.

tabs (-tabs)
    oxtabs 의 반대입니다.

brk value
    제어 캐릭터 eol (와)과 같습니다.

flush value
    제어 캐릭터 discard (와)과 같습니다.

rprnt value
    제어 캐릭터 reprint (와)과 같습니다.

진단

관련 항목
termios(4)

표준
stty 유틸리티는, p1003.2 호환입니다. -e (와)과 -f 의 플래그는 표준을 확장하고 있습니다.