Bash でログインしているユーザーにメッセージを送信する
この記事では、Bash で別のログイン ユーザーにデータを送信する方法について説明します。 この記事では、アクティブなユーザーを見つけてメッセージを送信する方法について説明します。
Bash でオンライン ユーザーを検索する
オンライン ユーザーにデータを送信する前に、ユーザーがオンラインかどうかを確認する必要があります。 以下のコマンドのいずれかを使用して、システムのオンライン ユーザーを取得できます。
w
コマンド: ログオンしているユーザーとそのユーザーが何をしているかを表示します。-un
フラグ付きのid
:-u
および-n
フラグと組み合わせると、id
コマンドは有効なユーザー名を表示します。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