最終更新:2025-02-22
last
コマンドは、Unix系システムにおいて、システムにログインしたユーザーの履歴情報を表示するためのコマンドである。
ログイン履歴やシステムの再起動情報などが記録されているファイル(/var/log/wtmp
など)を参照し、誰がいつログインし、いつログアウトしたかの情報を一覧で確認できる。システムの監査や利用状況の確認に有用なコマンドである。
出力結果の例
以下は、last
コマンドを実行した際の出力結果の例である。
$ last
alice pts/0 192.168.0.1 Fri Feb 20 10:15 still logged in
bob pts/1 192.168.0.2 Thu Feb 19 16:42 - 17:10 (00:28)
charlie tty1 Wed Feb 18 09:05 - 17:50 (08:45)
reboot system boot 4.19.0-10-amd64 Wed Feb 18 08:55 still running
出力結果の見方
ユーザー名
最初の列には、ログインしたユーザー名やシステムイベント(例:reboot
)が表示される。例えば、alice
というユーザーはログイン履歴に記録されている。端末(TTY)
2列目には、ユーザーがアクセスした端末(例:pts/0
,tty1
)が示される。リモートからのアクセスの場合は仮想端末(pts
)が表示される。リモートホスト
3列目には、リモートホストのIPアドレスまたはホスト名が表示される。ローカルログインの場合は空白となることがある。ログイン時刻および日付
4列目以降には、ログインが行われた日付および時刻の情報が記録される。例:Fri Feb 20 10:15
。ログアウト時刻と継続時間
ログアウト時刻が記録されている場合は、ログインとログアウトの時刻の差分(継続時間)が最後に表示される。例:(00:28)
はログインしてから28分間利用されたことを意味する。still logged in
やstill running
とある場合は、現在もセッションが継続中であることを示す。システム再起動
reboot
エントリは、システムの再起動を表しており、システムが起動した時刻を確認することができる。
ハンズオン
以下に、last
コマンドを実行してログイン履歴を確認する例を示す。
1. 基本的な使用例
ターミナルで以下のコマンドを実行する。
last
このコマンドは、前述のようなログイン履歴を表示する。出力結果から、各ユーザーのログイン時刻、端末、リモートホストなどを確認することができる。
2. 出力結果の解析例
例えば、以下の出力結果が得られたとする。
alice pts/0 192.168.0.1 Fri Feb 20 10:15 still logged in
bob pts/1 192.168.0.2 Thu Feb 19 16:42 - 17:10 (00:28)
charlie tty1 Wed Feb 18 09:05 - 17:50 (08:45)
reboot system boot 4.19.0-10-amd64 Wed Feb 18 08:55 still running
この出力結果の見方は以下の通りである。
alice
ユーザーalice
は、pts/0
端末から192.168.0.1のホストを通じてログインしており、Fri Feb 20 10:15
にログインし、現在もログイン状態である。bob
ユーザーbob
は、pts/1
端末から192.168.0.2のホストでThu Feb 19 16:42
にログインし、17:10
にログアウト。セッション時間は28分である。charlie
ローカル端末tty1
からログインしたcharlie
は、Wed Feb 18 09:05
にログインし、17:50
にログアウト。セッション時間は8時間45分と長い。reboot
システムの再起動が行われたことを示しており、システムがWed Feb 18 08:55
に起動したことが理解できる。
3. 特定期間の履歴を確認する
さらに、履歴が長い場合は、ページャーと組み合わせて実行することが望ましい。
last | less
これにより、ページ単位で出力結果をスクロールして確認することができる。