はじめに
write
Linux のコマンドは、ターミナルを介してログインしている 2 人のユーザー間に通信回線を作成します。このコマンドを使用すると、ある端末から別の端末にテキストをコピーすることで、ユーザー間でリアルタイムでメッセージを送信できます。
この記事では、例を通して書き込みコマンドの使用方法を示します。
前提条件
- ターミナルへのアクセス
- マルチユーザー環境
- Sudo グループの権限
- テキスト ファイルを作成するためのテキスト エディタ
Linux 書き込みコマンドの構文
write
の構文 Linux でのコマンドは次のとおりです:
write <user> <tty name>
user
パラメータは必須で、受信側のユーザー名を表します。 tty name
複数のターミナルが開いている場合のターミナル環境を指定します。
通信には書き込み権限が必要です。次の権限を有効にします:
mesg y
端末はメッセージを出力しません。
Linux 書き込みコマンドの例
write
コマンドには、pts (疑似端末スレーブ) または tty (テレタイプ) セッションを介して少なくとも 2 人のログイン ユーザーが必要です。ログイン:
sudo login <username>
たとえば、2 人の異なるユーザーが同じマシンで作業している場合、各ユーザーはターミナル セッションでコマンドを実行し、ユーザー名を指定します。
このコマンドは、sudo とユーザーのパスワードを入力して続行するように求めます。
誰がログインしているかを確認するには、次のようにいずれかの端末で w コマンドを使用します:
w
この出力は、2 人のユーザーが pts コンソールを介してログインしたことを示していますが、最初のユーザーはローカル ディスプレイ (GUI) を介してログインしています。最初のユーザーは login
を実行しました
ユーザーにメッセージを書く
write
を使用して別のユーザーにメッセージを書き込むには コマンドで、次の操作を行います:
1. write
を実行します コマンドを実行し、ユーザーを指定します:
write bob
コマンドは入力メッセージを予期します。受信側では、ユーザーは次の情報で接続に関する確認を取得します:
- メッセージの送信元
- メッセージの送信元
- タイムスタンプ。
2. ユーザーへのメッセージを書き込みます。 Enter を押す 新しい行に入り、メッセージを終了しません。
同じメッセージがリアルタイムで受信側に表示されます。
3. write
を終了するには コマンド、CTRL を押します +D .
2 番目のユーザーは EOF
を受け取ります コマンドが終了したことを示すメッセージ。
会話をする
write
を使用して 2 人のユーザー間で会話を行うには コマンド、実行:
write bob
後に任意のメッセージを送信します。 2 番目のユーザーが応答するには、write
を実行します 最初のユーザー名を指定するコマンド:
write kb
ユーザーがいつメッセージを完了したかを区別する適切な方法がないため、ステートメントを終了する従来の方法は o
を使用することです 文字(「オーバー」を象徴)。会話の終わりを知らせるには、oo
と書きます。 (「オーバーアンドアウト」の場合)。
CTRL +D EOF
を送信します 文字を中断して通信チャネルを終了し、プログラムを終了します。
書き込むメッセージをパイプh3>
echo コマンドを使用してメッセージを入力し、write
にパイプします コマンド:
echo "Hello from KB" | write bob
送信側の通信チャネルはすぐに終了しますが、受信側はメッセージを受信して終了を待ちます。
ファイルからメッセージを書く
テキスト ファイルからメッセージを送信するには、次の手順を実行します。
1. nano などのテキスト エディターを使用してテキスト ファイルを作成します。
nano message.txt
2. ファイルにテキストを追加します。
3. ファイルを保存して nano を閉じます (CTRL +X 、Y 、入力 ).
4. write
経由でファイルの内容を送信します コマンド:
write bob < message.txt
受信者は、テキスト ファイルからメッセージを確認します。
指定された TTY への書き込み
ユーザーが複数の端末セッションを開いている場合、write
コマンドは、アイドル時間が最も短い端末を選択します。
注: w
を使用 コマンドで TTY 名とアイドル時間を確認します。
送信先の TTY を指定するには、次を実行します:
write bob pts/0
メッセージは pts/0 TTY にのみ到着します。
Bash スクリプトで書く
write
を使用 Bash スクリプトで、コマンドまたはタスクが完了したときに自分自身または別のユーザーに通知します。たとえば、次の Bash スクリプトを見てください:
#!/bin/bash
sudo apt update -y
echo "Update completed" | write bob
sudo apt upgrade -y
echo "Upgrade completed" | write bob
スクリプトを実行すると、システムの更新とアップグレードが開始されます。 write
コマンドは、ユーザーに bob
を通知するのに役立ちます 各ステップが完了すると、メッセージを端末に出力します。
結論
このチュートリアルの例を見れば、write
の使い方がわかります。 Linux のコマンド。
次に、Bash read コマンドを使用してユーザーの入力を保存する方法を学びます。