Linuxでログイン中の全ユーザーを一覧表示する4つのコマンド

Linuxシステムでは、複数のユーザーが同時に1台のコンピュータへ接続できます。そして、現在誰がシステムにログインしているのかを簡単に確認することも可能です。この記事では、Linuxマシン上のログイン中ユーザーを一覧表示する方法を、代表的な4つのコマンドとともにわかりやすく解説します。
1. 「who」コマンドを使う方法
whoコマンドを実行すると、現在接続中の各ユーザーの情報が4つの列に分けて表示されます。

- 1列目:ユーザー名
- 2列目:使用中のTTY(端末)
- 3列目:ログインした日時
- 4列目:接続元のホスト名またはIPアドレス
また、-qオプションを付けると、ログイン中のユーザー数だけを簡潔に表示できます。

さらに、-aオプションを使えば、現在ログインしているユーザーの詳細情報をすべて確認できます。

その他の使い方を知りたい場合は、--helpオプションでコマンドの詳細なヘルプを表示できます。

2. 「w」コマンドを使う方法
wコマンドは、whoコマンドとは異なり、ログイン中のユーザーが「何をしているのか」という作業内容まで表示してくれるのが特徴です。

出力には次のような役立つ情報が含まれます。
- 現在時刻
- システムの稼働時間(uptime)
- 現在ログインしているユーザー数
- ログイン中のユーザー名
- 接続元のリモートホスト
- ログインした時刻
-hオプションを付けるとヘッダー部分が省略され、ログイン中ユーザーの情報のみをすっきりと表示できます。

その他のオプションを組み合わせれば、出力結果を目的に合わせて絞り込むことも可能です。利用できるオプションの一覧とその役割は、w --helpコマンドで確認できます。

3. 「users」コマンドを使う方法
usersコマンドは、引数なしで実行するだけで、現在ログイン中のユーザー名だけをシンプルに表示してくれるコマンドです。

whoやwのような詳細情報は表示されませんが、「今どのユーザーがログインしているのか」を手軽に把握したい場合に便利です。man usersでマニュアルを確認しても、これ以上の追加オプションは用意されていません。

4. 「last」コマンドを使う方法
もうひとつ便利なのがlastコマンドです。-aオプションを付けて実行すると、ユーザー名(「reboot」などの特殊なエントリも含む)、TTY、接続元のIPアドレスなどの情報を確認できます。

また、-pオプションを使えば、本日接続したユーザーだけを表示することもできます。

lastコマンドには、ほかにも役立つオプションが多数用意されています。詳細はman lastでマニュアルを参照してください。

まとめ
ここで紹介したコマンドを使いこなせば、Linux上のログイン中ユーザーを簡単に一覧表示できます。定期的にチェックすればシステムの状況を把握でき、不正アクセスの早期発見にもつながります。不審なユーザーを発見した場合は、ユーザー管理コマンドと併用して、必要な対処を行いましょう。
-
Linux PCを高速化する5つの方法|GRUB短縮からデスクトップ環境変更まで
Linuxは強力なOSエコシステムとして、初期状態から優れた速度を発揮することが最大の魅力の一つですが、さらに高速化できるならそれに越したことはありません。本記事では、システムの速度に影響する要素を解説し、実際に動作を速めるための効果的な方法を複数ご紹介します。 スレッドスケジューリング 当初、Linuxはラウンドロビン方式の単純なスケジューリングアルゴリズムでタスクを処理していました。その後、Linuxはスレッドスケジューリングを継続的に改良し、「Completely Fair Scheduler(CFS)」と呼ばれる高度で拡張性の高い設計へと進化しました。 CFSは仮想実行時間(vir
-
Linuxのteeコマンド使い方ガイド|画面表示とファイル保存を同時に実現
Linuxシェルでパイプやリダイレクトを使っているなら、teeコマンドの出番もきっとあるはずです。teeは「標準出力に表示しながら、同時にファイルにも書き込む」ことができる便利なユーティリティです。この記事では、teeコマンドの基本操作から、sudoとの組み合わせ、追記モード、エラー出力の扱い方まで、実例を交えながら詳しく解説します。 teeコマンドとは何をするもの? まず、次のようなコマンドを見てみましょう。 ls このコマンドは、現在のディレクトリの内容を表示します。つまり、標準出力(stdout)へ出力するわけです。標準出力とは通常、画面、正確には仮想端末のディスプレイのことです