Home
850 words
4 minutes
【Unix】lastコマンドの解説
2025-02-22

最終更新: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 instill 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

これにより、ページ単位で出力結果をスクロールして確認することができる。

【Unix】lastコマンドの解説
https://ss0832.github.io/posts/20250222_last_command_guide/
Author
ss0832
Published at
2025-02-22