whoコマンドの詳細まとめました【Linuxコマンド集】

who コマンド
  • このエントリーをはてなブックマークに追加
  • Pocket

whoはログインしているユーザーの状況を表示するコマンドだ。

このページではwhoコマンドを使ったログインしているユーザーの情報を調べる方法を解説する。

目次

whoコマンドの基本

コマンドの基本動作

使い方は、次のとおり簡単だ。

$ who

who

ログイン名、使っている端末、ログイン時刻、ログインしている端末のIPアドレスが表示される。

IPアドレスは、自分自身のコンピュータから実行したwhoコマンドの結果には表示されない。

使っている端末は、pts1やtty1(1はコンピュータが自動で割り振る数字)などと表示される。たとえば、複数のコンピュータから1つのコンピュータにターミナルソフトでアクセスすることもあるだろう。新しいアクセスをするたびにptsまたはttyが増えていく。

現在、割り振られているのが何番目のptsまたはttyか表示している。

自分自身がどのptsまたはttyかを調べるにはttyコマンドを使う。

$ tty

tty

すると/dev/pts/0のように表示され、自分自身はpts/0であることがわかる。

whoコマンドのオプションたち

オプションの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション-b (オプション--boot)

最新のシステム起動時間を表示する

オプション-H (オプション--heading)

可視性を良くするためにタイトル行を表示する

オプション-d (オプション--dead)

終了したプロセスを表示する

オプション-l (オプション--login)

システムへのログインを表示する

オプション--lookup

IPアドレスではなく正式なホスト名を表示する

オプション-m

標準入力に関連付いているコンピュータのアクセスのみを表示する

オプション-p (オプション--precess)

initで起動されたプロセスを表示する

オプション-q (オプション--count)

ログイン中のユーザーと人数を表示する

オプション-r (オプション--runlevel)

現在のランレベルを表示する

オプション-s (オプション--short)

ログイン名、使っている端末、ログイン時刻、ログインしている端末のIPアドレスを表示する

オプション-t (オプション--time)

システムの最終更新日時の変更時間を表示する。

オプション-T (オプション-w, オプション--mesg)

ユーザーごとのメッセージ状態を+-で表示する。

オプション-u (オプション--users)

ユーザーごとの最終操作からの経過時間を表示する。

オプション-a (オプション--all)

すべての情報を表示する。

では、詳しく見ていこう。

-bオプション(--bootオプション):最新のシステム起動時間を表示する

ログインしているシステムの起動時間を表示するオプションで、書式は次のとおりだ。

$ who -b

02-who-2

システムの起動時間が表示された。

-Hオプション(--headingオプション):可視性を良くするためにタイトル行を表示する

表示の先頭に項目名を記述するオプションで、書式は次のとおりだ。

$ who -H

who -H

タイトル名が表示された。

-dオプション(--deadオプション):終了したプロセスを表示する

exitコマンドなどで終了したプロセスがあれば表示する。

$ who -d

who -d

exitコマンドで終了したプロセスが2つ表示された。

-lオプション(--loginオプション):システムへのログインを表示する

ログインしたプロセスがあれば表示する。書式は次のとおりだ。

$ who -l

--lookupオプション:IPアドレスではなく正式なホスト名を表示する

正式なホスト名がDNSから取得できれば、IPアドレスではなく正式なホスト名で表示する。書式は次のとおりだ。

$ who --lookup

-mオプション:標準入力に関連付いているコンピュータのアクセスのみを表示する

標準入力というのは普通であればキーボードのことだ。

リモートでアクセスするのではなく、直接キーボードから入力できるコンピュータを表示する。書式は次のとおりだ。

$ who -m

who -m

キーボードから直接操作できるコンピュータはIPアドレス192.168.179.11でユーザーpiでアクセスしているユーザーということがわかった。

-dオプション(--deadオプション):終了したプロセスを表示する

exitコマンドなどで終了したプロセスがあれば表示する。書式は次のとおりだ。

$ who -d

exitコマンドで終了したプロセスが2つ表示された。

-pオプション(--processオプション):initで起動されたプロセスを表示する

initコマンドなどで起動されたプロセスを表示する。書式は次のとおりだ。

$ who -p

-qオプション(--countオプション):ログイン中のユーザーと人数を表示する

ログイン中のユーザーとその人数を表示する。書式は次のとおりだ。

$ who -q

06b-who-6b

このコンピュータには、3人アクセスしており、全員piユーザーでアクセスしていることが表示された。

-rオプション(--runlevelオプション):現在のランレベルを表示する

ランレベルというのは、コンピュータの現在の実行している状態を表すレベルのことだ。

完全に電源が切れている場合はランレベル0、マルチユーザーがアクセスできる状態で動作していればランレベル3、再起動プロセスに入っていればランレベル6などのように、OSにもよるが規定されている。

そのランレベルを表示するオプションで書式は次のとおりだ。

$ who -r

who -r

現在のランレベルは5であることが表示された。

ランレベル5は、マルチユーザーがアクセスでき、GUIのディスプレイも同時に動いている状態だ。

-sオプション(--shortオプション):ログイン名、使っている端末、ログイン時刻、ログインしている端末のIPアドレスを表示する

ログイン名、使っている端末、ログイン時刻、ログインしている端末のIPアドレスを表示するオプションなのだが、オプションなしでこの状態になるので特に指定することはない。書式は次のとおりだ。

$ who -s

who -s

ログイン名、使っている端末、ログイン時刻、ログインしている端末のIPアドレスが表示された。

-tオプション(--timeオプション):システムの最終更新日時の変更時間を表示する

システムの最終更新日時の変更時間を表示するオプションだ。

システム日時を変更したことが無ければ表示されない。

書式は次のとおりだ。

$ who -t

-Tオプション(-wオプション,- -mesgオプション):ユーザーごとのメッセージ状態を+-で表示する

ユーザーごとのメッセージ状態を+-で表示するオプションで書式は次のとおりだ。

$ who -T

who -T

ユーザー名と端末名の間に+-でメッセージ状況が表示された。

-uオプション(--usersオプション):ユーザーごとの最終操作からの経過時間を表示する

ユーザーごとの最終操作からの経過時間を表示するオプションで書式は次のとおりだ。

$ who -u

who -u

ログイン時間の右に「昔」「.」「00:01」などが書いてあるが、これが経過時間だ。

「昔」は「old」と表示されているかも知れない。これは24時間以上操作をしていないユーザーだ。

「.」は1分以内に操作したユーザーだ。少なくとも操作しているユーザーはwhoコマンドを入力するという操作をしているので1人は「.」が表示されるはずだ。

-aオプション(--allオプション):すべての情報を表示する

すべての情報を一度に表示するオプションだ。

-b,-d,--login,-p,-r,-t,-T,-uのオプションをすべて付与した時と同じ動作となる。

$ who -a

who -a

すべての情報が表示された。

who am i

実はwhoコマンドには引数のようなものが存在する。

who am iという記述方法だ。

その通りの意味で、自分自身を調べる記述だ。

実際には、-mオプションでの表示内容と同じ内容が表示されるのだ。

操作先のコンピュータの自身を調べるということは、その操作先のキーボードで直接操作できるコンピュータを調べるということと同義だ。

who関連コマンド

最後にwhoコマンドに関連して、基本的なログインユーザーを操作するコマンドも紹介しておく

wallコマンド

ログインしているユーザー全員の端末画面に一斉にメッセージを送信する。

ttyコマンド

自分がコンピュータにアクセスしているptsやtty番号を調べる。

echoコマンド

端末画面に文字を表示する。リダイレクト機能を使って指定した端末にのみメッセージを送ることができる。

まとめ

今回は、whoコマンドを使ったログインユーザーの状況を調べる方法を解説した。

ログインしたまま放置しているユーザーや、何度もログイン/ログアウトを繰り返しているユーザー、必要以上に同じ端末から様々なユーザーとしてログインしているケースなど、ネットワークユーザーが監視するには最適なコマンドだ。

少なくとも責任を持って管理しているコンピュータへのアクセスは折に触れチェックしてみよう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. omochi より:

    -Hオプション(--headingオプション):可視性を良くするためにタイトル行を表示する
    の部分のオプションが間違ってます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する