STTY
Section: User Commands (1)
索引
jman
BSD mandoc
索引
名称
stty
- 端末の設定を行なう
索引
書式
[-a | -e | -g
]
[-f file
]
[operands]
索引
解説
は、標準入力になっているデバイスの端末属性を設定もしくは表示する
プログラムです。オプションや引数を指定しなかった場合、
設定されている属性の一部や、デフォルト値と違う値が設定されている属性
を表示します。
指定した場合は、指定された引数に従って端末の状態を変更します。
ターミナルの種類によっては相互に排他的な引数の組み合わせもあります。
オプションとしては以下のものがあります。
- -a
-
St -p1003.2
に規定された形式で、
現在の端末属性をすべて標準出力に出力します。
- -e
-
BSD の伝統的な ``all'' や ``everything'' の形式で、
現在の端末属性をすべて標準出力に出力します。
- -f
-
標準入力ではなく、
file
で指定された端末を使います。
このファイルは
Fn open
関数に
O_NONBLOCK
フラグを付けてオープンされるので、端末の設定や表示をブロックされず
に行なうことができます。
- -g
-
端末変更後に端末の状態を復帰させられるように、
の引数として指定できる形式で、現在の端末属性を標準出力に
出力します。
この形式は
St -p1003.2
に規定されています。
端末属性の設定には、以下の引数が使えます。
制御モード:
制御モードのフラグは端末と関連するハードウェアの属性
に影響します。これは termios 構造体の c_cflag に相当します。
- parenb (-parenb
)
-
パリティ生成および検出を有効 (無効) にします。
- parodd (-parodd
)
-
奇数パリティ (偶数パリティ) にします。
- cs5 cs6 cs7 cs8
-
可能なら 1 文字のビット幅を設定します。
- number
-
可能なら、端末のボーレートを
number
に設定します。0 を指定した場合は、モデムの制御を切ります。
- ispeed number
-
可能なら、入力のボーレートを
number
に設定します。0 を設定した場合は、出力のボーレートと同じ値に設定されます。
- ospeed number
-
可能なら、出力のボーレートを
number
に設定します。0 を設定した場合は、モデムの制御を切ります。
- speed number
-
ispeed
と
ospeed
の両方を
number
に設定します。
- hupcl (-hupcl
)
-
そのデバイスをオープンしているプロセスがクローズ処理を行ったとき、ほか
にこのデバイスをオープンしているプロセスがなければ、モデムの制御機能に
より切断処理を行います (行いません)。
- hup (-hup
)
-
hupcl
(-hupcl
)
と同じです。
- cstopb (-cstopb
)
-
ストップビットを 2 ビット (1 ビット) にします。
- cread (-cread
)
-
受話器を有効 (無効) にします。
- clocal (-clocal
)
-
回線に対してモデム制御が不要である (必要である) とみなします。
- crtscts (-crtscts
)
-
RTS/CTS フロー制御を有効 (無効) にします。
入力モード:
これは 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
を使った出力フロー制御を有効 (無効) にします。
システムから端末への出力において、システムが
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
へマップします (マップしません)。
- 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 信号の検出によるフロー制御の出力を行います。
セットされなければ、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 }
になります)。
認識される制御文字:
- 制御文字 Ta 記号 Ta 説明
-
- _________ Ta _________ Ta _______________
-
- eof Ta VEOF Ta EOF character
-
- eol Ta VEOL Ta EOL character
-
- eol2 Ta VEOL2 Ta EOL2 character
-
- erase Ta VERASE Ta ERASE character
-
- erase2 Ta VERASE2 Ta ERASE2 character
-
- werase Ta VWERASE Ta WERASE character
-
- intr Ta VINTR Ta INTR character
-
- kill Ta VKILL Ta KILL character
-
- quit Ta VQUIT Ta QUIT character
-
- susp Ta VSUSP Ta SUSP character
-
- start Ta VSTART Ta START character
-
- stop Ta VSTOP Ta STOP character
-
- dsusp Ta VDSUSP Ta DSUSP character
-
- lnext Ta VLNEXT Ta LNEXT character
-
- reprint Ta VREPRINT Ta REPRINT character
-
- status Ta VSTATUS Ta 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
と同じです。
索引
診断
Ex -std
索引
関連項目
termios(4)
索引
規格
ユーティリティは、
St -p1003.2
互換です。
-e
と
-f
のフラグは規格を拡張しています。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- 制御モード:
-
- 入力モード:
-
- 出力モード:
-
- ローカルモード:
-
- 制御文字:
-
- 複合モード:
-
- 互換モード:
-
- 診断
-
- 関連項目
-
- 規格
-
Time: 07:06:19 GMT, January 12, 2009