コンピュータに何人のユーザーが接続されているかを確認し、次のタスクを実行するときに誰がメッセージを表示するかを確認したいと思います。
echo hello users! | wall
答え1
who
コマンドを使用してください。ログインしたすべてのユーザーが一覧表示されます。
SSHユーザーだけでなく、コンソールおよび直接接続されている端末(存在する場合)のユーザーもリストされます。 SSHユーザーの場合は、接続されている場所が表示されます。
答え2
以下を実行したいと思います。
who -T | tr -s ' ' | cut -d ' ' -f 1-2 | sort -u
説明する:
who -T
すべてのユーザーと書き込み可能な状態を表示する(「+」 - >そのユーザーにメッセージを書き込むことができます)tr -s ' '
who
折りたたまれた出力に複数のスペースがあるcut -d ' ' -f 1-2
最初の2つのフィールド(ユーザー名+書き込み可能状態)のみを使用してください。sort -u
リストを並べ替え、一意の項目のみを表示します(コンソールユーザーのように、誰かが複数回ログインしている場合)。
これにより、次の内容が提供されます。
anthon +
avanderneut +
franzi -
rae +
答え3
who
このコマンドは、ログインしたユーザー(ユーザー、疑似端末、セッション開始日、ホストIP)に関する簡単な情報を提供します。
user pts/0 2014-10-30 16:00:00 (1.1.1.1)
w
コマンドは、より詳細なユーザー情報を提供します。
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user pts/0 1.1.1.1 16:17 0.00s 0.30s 0.02s sshd: user [priv]