stty コマンド
目的
ワークステーションの動作パラメーターの設定、リセット、報告を行います。
構文
説明
stty コマンドは、現在の標準入力であるデバイスに対して、いくつかの I/O オプションを設定します。 このコマンドは、現在の標準出力であるデバイスへ出力を書き出します。
本バージョンのオペレーティング・システムは、標準 X/Open Portability Guide Issue 4 インターフェースを使用して端末を制御し、 POSIX および BSD インターフェースとの互換性を保ちます。 stty コマンドは、POSIX と BSD 準拠のオプションをサポートしていますが、POSIX オプションを使用するようにしてください。 旧バージョンの BSD オプションとそれに対応する POSIX オプションのリストも掲載されています。
tty デバイスからの標準入力をリダイレクトするときは、次のように入力します。
stty -a </dev/ttyx
stty コマンド (POSIX) は、その tty の open() を待つ間、RS-232 キャリア検出シグナルが入るまで停止します。 この規則の例外が発生するのは、clocal または forcedcd (128 ポートのみ) オプションが設定されている場合です。
フラグ
項目 | 説明 |
---|---|
-a | すべてのオプション設定の現在の状態を標準出力に書き出します。 |
-g | 別の stty コマンドで使用できる形式で、オプション設定を標準出力に書き出します。 |
オプション
stty コマンドは、以下のカテゴリーのオプションをサポートします。
制御モード | 説明 |
---|---|
clocal | 回線にモデム制御がないものと想定します。 |
-clocal | 回線にモデム制御があるものと想定します。 |
cread | 受信者を使用可能にします。 |
-cread | 受信者を使用不可にします。 |
cstopb | 1 文字当たり 2 つのストップ・ビットを選択します。 |
-cstopb | 1 文字当たり 1 つのストップ・ビットを選択します。 |
cs5、cs6、cs7、cs8 | 文字サイズを選択します。 |
hup、hupcl | 最後のクローズ時にダイヤルアップ接続をハングアップします。 |
-hup、-hupcl | 最後のクローズ時にダイヤルアップ接続をハングアップしません。 |
parenb | パリティーの生成および検出を使用可能にします。 |
-parenb | パリティーの生成および検出を使用不可にします。 |
parodd | 奇数パリティーを選択します。 |
-parodd | 偶数パリティーを選択します。 |
0 | 電話回線を即座にハングアップします。 |
speed | ワークステーションの入出力速度を、speed で指定されたビット/秒の数に設定します。
すべての速度がどのハードウェア・インターフェースでもサポートされるとは限りません。
speed に有効な値は、50、75、110、134、200、300、600、1200、1800、2400、4800、9600、19200、19.2、38400、38.4、exta、および extb です。 注: exta、19200、
19.2 は同義です。extb、
38400、38.4 も同義です。
|
ispeed speed | ワークステーションの入力速度を、speed で指定されたビット/秒の数に設定します。 すべての速度がどのハードウェア・インターフェースでもサポートされるとは限りません。また、このオプションがどのハードウェア・インターフェースでもサポートされるとは限りません。 speed に有効な値は、speed オプションと同じです。 |
ospeed speed | ワークステーションの出力速度を、speed で指定されたビット/秒の数に設定します。 すべての速度がどのハードウェア・インターフェースでもサポートされるとは限りません。また、このオプションがどのハードウェア・インターフェースでもサポートされるとは限りません。 speed に有効な値は、speed オプションと同じです。 |
入力モード | 説明 |
---|---|
brkint | ブレーク時に INTR を送信します。 |
-brkint | ブレーク時に INTR を送信しません。 |
icrnl | 入力時に CR を NL にマップします。 |
-icrnl | 入力時に CR を NL にマップしません。 |
ignbrk | 入力時に BREAK を無視します。 |
-ignbrk | 入力時に BREAK を無視しません。 |
igncr | 入力時に CR を無視します。 |
-igncr | 入力時に CR を無視しません。 |
ignpar | パリティー・エラーを無視します。 |
-ignpar | パリティー・エラーを無視しません。 |
inlcr | 入力時に NL を CR にマップします。 |
-inlcr | 入力時に NL を CR にマップしません。 |
inpck | パリティー検査を使用可能にします。 |
-inpck | パリティー検査を使用不可にします。 |
istrip | 入力文字を削除して 7 ビットにします。 |
-istrip | 入力文字を 7 ビットに削除しません。 |
iuclc | 大文字の英字を小文字にマップします。 |
-iuclc | 大文字の英字を小文字にマップしません。 |
ixany | 任意の文字で出力を再開できるようにします。 |
-ixany | START (Ctrl-Q キー・シーケンス) でのみ出力を再開できるようにします。 |
ixoff | 入力キューがほとんど空またはいっぱいになると、START/STOP 文字を送信します。 |
-ixoff | START/STOP 文字を送信しません。 |
ixon | START/STOP 出力制御を使用可能にします。 一度 START/STOP 出力制御を使用可能にすれば、Ctrl-S キー・シーケンスを押してワークステーションへの出力を停止し、Ctrl-Q キー・シーケンスを押して出力を再開できます。 |
-ixon | START/STOP 出力制御を使用不可にします。 |
imaxbel | 入力がオーバーフローすると、BEL 文字をエコーし、最後の入力文字を破棄します。 |
-imaxbel | 入力がオーバーフローすると、すべての入力を破棄します。 |
parmrk | パリティー・エラーに印を付けます。 |
-parmrk | パリティー・エラーに印を付けません。 |
出力モード
出力モード | 説明 |
---|---|
bs0, bs1 | バックスペースに対して、遅延のスタイルを選択します (bs0 は遅延なしを示します)。 |
cr0, cr1, cr2, cr3 | CR 文字に対して、遅延のスタイルを選択します (cr0 は遅延なしを示します)。 |
ff0, ff1 | 用紙送りに対して、遅延のスタイルを選択します (ff0 は遅延なしを示します)。 |
nl0, nl1 | NL 文字に対して、遅延のスタイルを選択します (nl0 は遅延なしを示します)。 |
ofill | 遅延に対して、充てん文字を使用します。 |
-ofill | 遅延に対してタイミングを使用します。 |
ocrnl | CR 文字を NL 文字にマップします。 |
-ocrnl | CR 文字を NL 文字にマップしません。 |
olcuc | 出力時に、小文字の英字を大文字にマップします。 |
-olcuc | 出力時に、小文字の英字を大文字にマップしません。 |
onlcr | NL 文字を CR-NL 文字にマップします。 |
-onlcr | NL 文字を CR-NL 文字にマップしません。 |
onlret | 端末上で、NL が CR として機能します。 |
-onlret | 端末上で、NL は CR として機能しません。 |
onocr | カラム 0 に CR 文字を出力しません。 |
-onocr | カラム 0 に CR 文字を出力します。 |
opost | 出力を処理します。 |
-opost | 出力を処理しません。つまり、他のすべての出力オプションを無視します。 |
ofdel | 充てん文字として DEL 文字を使用します。 |
-ofdel | 充てん文字として NUL 文字を使用します。 |
tab0、tab1、tab2 | 水平タブに対して、遅延のスタイルを選択します (tab0 は遅延なしを示します)。 |
tab3 | タブ文字を可変数のスペースに拡張します。 |
vt0, vt1 | 垂直タブに対して、遅延のスタイルを選択します (vt0 は遅延なしを示します)。 |
ローカル・モード | 説明 |
---|---|
echo | 入力されたすべての文字をエコーします。 |
-echo | 文字をエコーしません。 |
echoctl | 制御文字を ^X (Ctrl-X) としてエコーします。 この X は、制御文字のコードに 8 進の 100 を追加して与えられた文字です。 |
-echoctl | 制御文字を ^X (Ctrl-X) としてエコーしません。 |
echoe | ERASE 文字を「バックスペース・スペース・バックスペース」という文字列としてエコーします。
注: このモードはカラムの位置を追跡しないので、タブやエスケープ・
シーケンスなどを消去すると、予想外の結果を招くことがあります。
|
-echoe | ERASE 文字をエコーせず、バックスペースのみをエコーします。 |
echok | KILL 文字の後の NL 文字をエコーします。 |
-echok | KILL 文字の後の NL 文字をエコーしません。 |
echoke | 出力行上の個々の文字を消去することによって、KILL 文字をエコーします。 |
-echoke | KILL 文字のみをエコーします。 |
echonl | NL 文字をエコーします。 |
-echonl | NL 文字をエコーしません。 |
echoprt | 消去された文字を / (スラッシュ) および ¥ (円記号) を付けて逆方向にエコーします。 |
-echoprt | 消去された文字を / (スラッシュ) および ¥ (円記号) を付けて逆方向にエコーしません。 |
icanon | 正規入力を使用可能にします (正規入力により、ERASE 文字および KILL 文字による入力行の編集が可能になります)。 正規モードの入力については、 「Communications Programming Concepts」の『Line Discipline Module (ldterm)』のセクションを参照してください。 |
-icanon | 正規入力を使用不可にします。 |
iexten | 入力データのインストール定義関数を認識させるように指定します。 制御文字 (eol2、dsusp、reprint、discard、werase、lnext) を認識するためには、iexten が設定されていることが必要です。 これらのモードに関連する関数 (imaxbel、 echoke、 echoprt、および echoctl) の場合も、iexten が設定されている必要があります。 |
-iexten | 入力データの導入定義関数を認識しないように指定します。 |
isig | 特殊制御文字 INTR、SUSP および QUIT に対する文字の検査を使用可能にします。 |
-isig | 特殊制御文字 INTR、SUSP および QUIT に対する文字の検査を使用不可にします。 |
noflsh | INTR、SUSP、または QUIT の制御文字の後にバッファーをクリアしません。 |
-noflsh | INTR、SUSP、または QUIT の制御文字の後にバッファーをクリアします。 |
pending | 次に読み取り操作が保留になるか、または次に入力が到着したときに、ロー・モードから正規モードに切り替わった後で保留されている入力を再入力させます。 保留は内部状態ビットです。 |
-pending | テキストを保留しません。 |
tostop | バックグラウンド出力のための SIGTOU を送信します。 |
-tostop | バックグラウンド出力のための SIGTOU を送信しません。 |
xcase | 入力時に大文字をエコーし、出力時に前に ¥ (円記号) を付けて大文字を表示します。 |
-xcase | 入力時に大文字をエコーしません。 |
ハードウェア・フロー制御モード
項目 | 説明 |
---|---|
cdxon | 出力時に CD ハードウェア・フロー制御モードを使用可能にします。 |
-cdxon | 出力時に CD ハードウェア・フロー制御モードを使用不可にします。 |
ctsxon | 出力時に CTS ハードウェア・フロー制御モードを使用可能にします。 |
-ctsxon | 出力時に CTS ハードウェア・フロー制御モードを使用不可にします。 |
dtrxoff | 入力時に DTR ハードウェア・フロー制御モードを使用可能にします。 |
-dtrxoff | 入力時に DTR ハードウェア・フロー制御モードを使用不可にします。 |
rtsxoff | 入力時に RTS ハードウェア・フロー制御モードを使用可能にします。 |
-rtsxoff | 入力時に RTS ハードウェア・フロー制御モードを使用不可にします。 |
制御文字の割り当て
文字列に制御文字を割り当てるには、以下のように入力します。
stty Control String
String パラメーターには、c
などの
任意の 1 文字を使用できます。
この制御割り当ての例を以下に示します。
stty stop c
制御文字を割り当てるもう 1 つの方法は、 ¥^ (円記号、脱字記号) から成る文字の並びの後に 1 文字が付いた文字列を入力する方法です。^ (脱字記号) の後の 1 文字が以下の表の ^c (脱字記号、c) 欄にリストされている場合、対応する制御文字の値が設定されます。例えば、? (疑問符) を使用して DEL 制御文字を割り当てるには、 以下のように、¥^? (円記号、脱字記号、疑問符) 文字列を入力します。
stty erase ¥^?
^c | 値 |
---|---|
a, A | <SOH> |
b, B | <STX> |
c, C | <ETX> |
d, D | <EOT> |
e, E | <ENQ> |
f, F | <ACK> |
g, G | <BEL> |
h, H | <BS> |
i, I | <HT> |
j, J | <LF> |
k, K | <VT> |
l, L | <FF> |
m, M | <CR> |
n, N | <SO> |
o, O | <SI> |
p, P | <DLE> |
q, Q | <DC1> |
r, R | <DC2> |
s, S | <DC3> |
t, T | <DC4> |
u, U | <NAK> |
v, V | <SYN> |
w, W | <ETB> |
x, X | <CAN> |
y, Y | <EM> |
z, Z | <SUB> |
[ | <ESC> |
¥ | <FS> |
] | <GS> |
^ | <RS> |
_ | <US> |
? | <DEL> |
@ | <NUL> |
結合モード | 説明 |
---|---|
cooked | -raw オプションを参照してください。 |
ek | ERASE 文字と KILL 文字を、それぞれ Ctrl-H および Ctrl-U キー・シーケンスに設定します。 |
evenp | parenb と cs7 を使用可能にします。 |
-evenp | parenb を使用不可にして cs8 を設定します。 |
lcase、LCASE | xcase、 iuclc、 および olcuc を設定します。 大文字だけを使用するワークステーションに使用されます。 |
-lcase、-LCASE | -xcase、 -iuclc、 および -olcuc を設定します。 |
nl | -icrnl および -onlcr を設定します。 |
-nl | icrnl、 onlcr、 -inlcr、 -igncr、 -ocrnl、 および -onlret を設定します。 |
oddp | parenb、 cs7、 および parodd を使用可能にします。 |
-oddp | parenb を使用不可にして cs8 を設定します。 |
parity | evenp オプションを参照してください。 |
-parity | -evenp オプションを参照してください。 |
sane | パラメーターを妥当な値にリセットします。 |
raw | ロー・モード入力 (消去、抹消、割り込みなどの入力処理を行いません) を使用可能にします。 パリティー・ビットは逆に渡されます。 |
-raw | 正規入力モードを使用可能にします。 |
tabs | タブを保存します。 |
-tabs、tab3 | 出力時にタブをスペースに置き換えます。 |
ウィンドウ・サイズ | 説明 |
---|---|
cols n、columns n | 端末 (ウィンドウ) のサイズを、桁数 n で記録します。 |
rows n | 端末 (ウィンドウ) のサイズを、行数 n で記録します。 |
size | 端末 (ウィンドウ) のサイズを、標準出力に表示します (最初に行、次に桁)。 |
旧バージョンのオプション
項目 | 説明 |
---|---|
all | すべての現行設定を表示するには、stty -a コマンドを使用してください。 |
crt | パラメーターを妥当な値にリセットするには、 sane オプションを使用してください。 |
crtbs | -echoe オプションを使用してください。 |
crterase | echoe オプションを使用してください。 |
-crterase | -echoe オプションを使用してください。 |
crtkill | echoke オプションを使用してください。 |
-crtkill | echok および -echoke オプションを使用してください。 |
ctlecho | echoctl オプションを使用してください。 |
-ctlecho | -echoctl オプションを使用してください。 |
decctlq | -ixany オプションを使用してください。 |
-decctlq | ixany オプションを使用してください。 |
even | evenp オプションを使用してください。 |
-even | -evenp オプションを使用してください。 |
everything | すべての現行設定を表示するには、stty -a コマンドを使用してください。 |
litout | -opost オプションを使用してください。 |
-litout | opost オプションを使用してください。 |
odd | oddp オプションを使用してください。 |
-odd | -oddp オプションを使用してください。 |
pass8 | -istrip オプションを使用してください。 |
-pass8 | istrip オプションを使用してください。 |
prterase | echoprt オプションを使用してください。 |
speed | 現行設定を表示するには、stty コマンドを使用してください。 |
tandem | ixoff オプションを使用してください。 |
-tandem | -ixoff オプションを使用してください。 |
例
- ワークステーション構成の簡潔なリストを表示するには、以下のように入力します。
これによって、デフォルトではない設定がリストされます。stty
- ワークステーション構成の完全なリストを表示するには、以下のように入力します。stty -a
- 画面上でのリストのスクロールを停止するキー・シーケンスを使用可能にするには、以下のように入力します。
これによって、ixon モードが設定されます。 このモードでは、Ctrl-S キー・シーケンスを押すことにより、ランナウェイ・リストのスクロールを停止できます。 ixany フラグを指定すると、任意のキーを押すことによりリスト表示を再開できます。 通常のワークステーション構成には、ixon および ixany フラグが含まれているので、これらのフラグを設定すると、再開に Ctrl-Q キー・シーケンスのみが使用できる Ctrl-S キー・シーケンスによって、リスト表示を停止できます。stty ixon ixany
- 構成が修正不可能になってしまい、その構成をリセットするには、以下のように入力します。Ctrl-J stty sane Ctrl-Jコマンドの前後で Enter キーの代わりに Ctrl-J キー・シーケンスを押してください。 通常、システムは Enter キー処理を制御するパラメーターが破壊された場合に、Ctrl-J キー・シーケンスを認識します。
画面に表示される情報が異常となる場合や、Enter キーを押してもシステムが応答しないことが時々あります。 互換性のないパラメーターまたはユーザーが理解できないことを行うパラメーターを指定して stty コマンドを使用した場合に、このようなことが起こります。 また、画面指向のアプリケーションが異常終了し、ワークステーション構成をリセットする機会がない場合にも、発生します。
stty sane コマンドを入力すると、妥当な構成が設定されますが、通常の構成とは多少異なる場合があります。
- 端末の構成を保管および復元するには、以下のように入力します。
このコマンドによって、ワークステーションの構成が保管され、エコーがオフになり、パスワードが読み取られ、元の構成が復元されます。OLDCONFIG=`stty -g` # save configuration stty -echo # do not display password echo "Enter password: ¥c" read PASSWD # get the password stty $OLDCONFIG # restore configuration
stty -echo コマンドを入力すると、エコーはオフになります。つまり、キーボードでパスワードを入力しても、パスワードは画面に表示されません。このアクションは、メッセージを画面に表示する echo コマンドとは無関係です。
ファイル
項目 | 説明 |
---|---|
/usr/bin/stty | stty コマンドが入っています。 |