はじめに
この実験では、Linux で stty
コマンドを使用して端末またはシリアルポートの設定を構成および制御する方法を学びます。この実験では、stty
コマンドの目的と構文、およびボーレート、行数と列数、さまざまな制御文字などの端末設定を変更する実際の例について説明します。この実験は、システム構成と設定のスキルセットの一部であり、stty
コマンドは Linux で端末設定を管理するために広く使用されるツールです。
この実験では、Linux で stty
コマンドを使用して端末またはシリアルポートの設定を構成および制御する方法を学びます。この実験では、stty
コマンドの目的と構文、およびボーレート、行数と列数、さまざまな制御文字などの端末設定を変更する実際の例について説明します。この実験は、システム構成と設定のスキルセットの一部であり、stty
コマンドは Linux で端末設定を管理するために広く使用されるツールです。
このステップでは、Linux の stty
コマンドの目的と構文について学びます。stty
コマンドは、端末またはシリアルポートの設定を構成および制御するために使用されます。
まず、stty
コマンドの基本構文を理解しましょう:
stty [OPTION] [SETTING]
OPTION
は、次のいずれかになります:
-a
:現在のすべての設定を表示する-g
:別の stty
コマンドの引数として使用できる形式で現在のすべての設定を表示するSETTING
は、多くの端末設定のいずれかになります。たとえば:
speed
:端末のボーレートを設定するrows
:行数を設定するcols
:列数を設定するintr
:割り込み文字を設定するquit
:終了文字を設定するerase
:消去文字を設定するkill
:破棄文字を設定するeof
:ファイル終端文字を設定するstty
コマンドをよりよく理解するために、いくつかの例を試してみましょう:
## 現在のすべての端末設定を表示する
stty -a
例の出力:
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke -flusho -extproc
この出力は、ボーレート、行数と列数、さまざまな制御文字などの現在の端末設定を示しています。
次に、いくつかの設定を変更してみましょう:
## 端末のボーレートを 9600 に設定する
stty speed 9600
## 行数を 30 に設定する
stty rows 30
## 列数を 100 に設定する
stty cols 100
これらのコマンドを実行した後、再度 stty -a
を実行することで変更を確認できます。
このステップでは、stty
コマンドを使ってさまざまな端末設定を変更する方法を学びます。
まず、現在の端末設定を確認しましょう:
stty -a
これにより、ボーレート、行数と列数、さまざまな制御文字を含む現在のすべての端末設定が表示されます。
次に、これらの設定の一部を変更してみましょう:
## 端末を 7 ビット文字モードで使用するように設定する
stty cs7
## 端末を 8 ビット文字モードで使用するように設定する
stty cs8
## 端末をパリティなしで使用するように設定する
stty -parenb
## 端末を偶パリティで使用するように設定する
stty parenb -parodd
## 端末を奇パリティで使用するように設定する
stty parenb parodd
## 端末をハードウェアフロー制御で使用するように設定する
stty crtscts
## 端末をソフトウェアフロー制御で使用するように設定する
stty -crtscts ixon ixoff
## 端末をブレーク条件を無視するように設定する
stty -ignbrk
## 端末をブレーク条件が検出されたときにシグナルを生成するように設定する
stty ignbrk brkint
これらのコマンドを実行した後、再度 stty -a
を実行することで変更を確認できます。
この最後のステップでは、stty
コマンドの実用例をいくつか探ります。
## Ctrl+C 割り込みを無効にする
stty -intr
これにより、通常は実行中のプロセスを終了するために使用される Ctrl+C 割り込みが無効になります。これを確認するには、通常 Ctrl+C で中断されるコマンド(たとえば sleep 60
)を実行します。
## 消去文字を Backspace に変更する
stty erase ^?
これにより、消去文字がデフォルト(通常は Delete)から Backspace に変更されます。これをテストするには、端末にいくつかのテキストを入力して Backspace キーを押します。
## 端末サイズを 80 列と 24 行に設定する
stty cols 80 rows 24
これにより、端末サイズが 80 列と 24 行に変更されます。変更を確認するには、stty -a
を実行するか、resize
コマンドを使用します。
## 現在の端末設定を保存する
stty -g > terminal_settings.txt
## 保存した端末設定を復元する
stty $(cat terminal_settings.txt)
この例は、現在の端末設定をファイルに保存し、後で復元する方法を示しています。一時的にいくつかの設定を変更し、その後元の構成に戻す必要がある場合に便利です。
この実験では、Linux の stty
コマンドの目的と構文について学びました。このコマンドは、端末またはシリアルポートの設定を構成および制御するために使用されます。-a
オプションを使用して現在の端末設定を表示する方法、およびボーレート、行数と列数、制御文字などのさまざまな設定を変更する方法を学びました。この実験では、stty
コマンドの使い方と端末構成の管理におけるその汎用性を理解するのに役立つ実際の例を提供しました。