Bash でログインしているユーザーにメッセージを送信する

Abdullah Bukhari 2023年6月20日
  1. Bash でオンライン ユーザーを検索する
  2. Bash でのオンライン ユーザーへの書き込み
Bash でログインしているユーザーにメッセージを送信する

この記事では、Bash で別のログイン ユーザーにデータを送信する方法について説明します。 この記事では、アクティブなユーザーを見つけてメッセージを送信する方法について説明します。

Bash でオンライン ユーザーを検索する

オンライン ユーザーにデータを送信する前に、ユーザーがオンラインかどうかを確認する必要があります。 以下のコマンドのいずれかを使用して、システムのオンライン ユーザーを取得できます。

  1. w コマンド: ログオンしているユーザーとそのユーザーが何をしているかを表示します。
  2. -un フラグ付きの id: -u および -n フラグと組み合わせると、id コマンドは有効なユーザー名を表示します。
  3. a フラグ付きの who: ログインしているすべてのユーザーを表示します。

デモンストレーションのために、who -a コマンドの出力を見てみましょう。

root@abdullah:/home/abdullah# abdullah
pts/0        2022-01-08 12:56 (:0.0)
root@abdullah:/home/abdullah# root
pts/1        2022-01-08 12:56 (:0.0)

pts/0 は、最初の端末 (2 番目の出力行) 用の特殊ファイルです。 このコンソールに書き込まれたデータは、最初の端末に表示されます。

上記のコマンドの詳細については、以下のコマンドを使用してください。

man w
man id
man who

マニュアル ページ (マニュアル ページの短縮形) は、システム コール、ライブラリ コール、正式な標準と規則、さらには抽象的な概念に関する情報を表示する Unix ユーティリティです。 man ページはカーネルと一緒にダウンロードされるため、インターネット接続は必要ありません。

Bash でのオンライン ユーザーへの書き込み

ログに記録されたユーザーを見つける方法を調べたので、メッセージを送信する方法を調べます。

以下のコマンドは、別の端末を介してオンライン ユーザーにメッセージを送信する方法を示しています。

root@abdullah:/home/abdullah# write abdullah pts/0

上記のコマンドは、コンソール pts/0 のユーザー abdullah にメッセージを書き込みます。 上記のコマンドを入力すると、ターミナルからメッセージ プロンプトが表示されます。

そのメッセージを入力し (Hello Abdullah と入力するとします)、CTRL+Z を押してプロンプトを終了します。

ここで、ログインしている他のユーザー abdullah の端末を見ると、次の内容が表示されます。

abdullah@abdullah:~$ Message from root@abdullah on pts/1 at 12:20...
abdullah@abdullah:~$ Hello Abdullah