実用例付き Linux stty コマンド

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux で stty コマンドを使用して端末またはシリアルポートの設定を構成および制御する方法を学びます。この実験では、stty コマンドの目的と構文、およびボーレート、行数と列数、さまざまな制御文字などの端末設定を変更する実際の例について説明します。この実験は、システム構成と設定のスキルセットの一部であり、stty コマンドは Linux で端末設定を管理するために広く使用されるツールです。

Linux Commands Cheat Sheet


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/sleep("Execution Delaying") subgraph Lab Skills linux/sleep -.-> lab-422935{{"実用例付き Linux stty コマンド"}} end

stty コマンドの目的と構文を理解する

このステップでは、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 コマンドを使ってさまざまな端末設定を変更する方法を学びます。

まず、現在の端末設定を確認しましょう:

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 コマンドの実用例

この最後のステップでは、stty コマンドの実用例をいくつか探ります。

  1. Ctrl+C 割り込みを無効にする
## Ctrl+C 割り込みを無効にする
stty -intr

これにより、通常は実行中のプロセスを終了するために使用される Ctrl+C 割り込みが無効になります。これを確認するには、通常 Ctrl+C で中断されるコマンド(たとえば sleep 60)を実行します。

  1. 消去文字を変更する
## 消去文字を Backspace に変更する
stty erase ^?

これにより、消去文字がデフォルト(通常は Delete)から Backspace に変更されます。これをテストするには、端末にいくつかのテキストを入力して Backspace キーを押します。

  1. 端末サイズを変更する
## 端末サイズを 80 列と 24 行に設定する
stty cols 80 rows 24

これにより、端末サイズが 80 列と 24 行に変更されます。変更を確認するには、stty -a を実行するか、resize コマンドを使用します。

  1. 端末設定を保存および復元する
## 現在の端末設定を保存する
stty -g > terminal_settings.txt

## 保存した端末設定を復元する
stty $(cat terminal_settings.txt)

この例は、現在の端末設定をファイルに保存し、後で復元する方法を示しています。一時的にいくつかの設定を変更し、その後元の構成に戻す必要がある場合に便利です。

まとめ

この実験では、Linux の stty コマンドの目的と構文について学びました。このコマンドは、端末またはシリアルポートの設定を構成および制御するために使用されます。-a オプションを使用して現在の端末設定を表示する方法、およびボーレート、行数と列数、制御文字などのさまざまな設定を変更する方法を学びました。この実験では、stty コマンドの使い方と端末構成の管理におけるその汎用性を理解するのに役立つ実際の例を提供しました。

Linux Commands Cheat Sheet