last, lastb -
最近ログインしたユーザを一覧表示する
last [options] [
username...] [
tty...]
lastb [options] [
username...] [
tty...]
last は、
/var/log/wtmp
ファイルを (または、
-f
オプションによって指定されたファイルを)
遡って調べて、そのファイルが作成されて以来ログインした
(そして、ログアウトした)
すべてのユーザのリストを表示する。一つ以上のユーザ名
(
username) や端末名 (
tty)
を引き数として渡すこともでき、
その場合は、そうした引き数にマッチした記録
(entry)
のみを表示することになる。
tty
の名前は、短縮することができる。たとえば、
last 0 は、
last tty0
と同じである。
SIGINT シグナルや SIGQUIT
シグナルを受け取ると
(前者は、割り込みキー、普通は
Control-C
を押すと発生する)、
last
は、ログファイルの検索結果をやったところまで表示し、SIGINT
シグナルの場合は、そこで動作を打ち切る。
- [訳注]
- 原文は「SIGINT
シグナルの場合は、そこで
terminate
する」と言っている。terminate
というのは、この場合、単に終了するだけで、中断した後、実行を再開したり、core
を吐いたりといった、それ以上のことはしないということだろう。SIGQUIT
シグナルの場合はどうなるのだろうか。
システムをリブートするたびに、疑似ユーザの
reboot がログインする。
従って、
last reboot
を実行すると、
ログファイルが作成されて以来のすべてのリブートの記録を表示することになる。
lastb は、
last
とよく似ている。ただし、こちらがデフォルトで表示するのは、
ファイル
/var/log/btmp
に記録されたログである。
そこには、ログインに失敗したすべての試みが記録されている。
-
-a, --hostlast
- ホスト名を最後の列
(column) に表示する。 --dns
オプションと組み合わせて使うと便利である。
-
-d, --dns
- ローカル以外のログインに対して、Linux
はそのリモートホストのホスト名だけでなく、IP
アドレスも記録する。このオプションは、IP
アドレスを変換して、ホスト名に戻す。
-
-f, --file file
-
/var/log/wtmp
の代わりに特定のファイル
file を使用せよと last
に命ずる。 --file
オプションは複数回指定することができ、
その場合は、指定されたすべてのファイルが処理されることになる。
-
-F, --fulltimes
- ログイン、ログアウトの詳細な日時を表示する。
-
-i, --ip
-
--dns
と似ているが、ホストの名前ではなく、IP
アドレスの方を表示する。
-
-number
-
-n, --limit number
何行表示すべきかを
last に指示する。
-
-p, --present time
- 指定された日時にログインしていたユーザを表示する。このオプションは、--since
と --until
オプションに同じ日時
time
を指定して、一緒に使うのとほぼ同じである。
-
-R, --nohostname
- ホスト名のフィールドを表示しない。
-
-s, --since time
- 指定した日時
time
以後のログイン状態を表示する。このオプションは、
たとえば、特定の日時に誰がログインしていたかを手早く突き止めたいときに、便利である。
--until
と組み合わせて使うことが多い。
-
-t, --until time
- 指定した日時
time
までのログイン状態を表示する。
-
--time-format format
- 出力するタイムスタンプの書式を
format にする。format
は、 notime, short, full, iso
の内のどれかである。
notime
はタイムスタンプを全く表示せず、
short
はデフォルト、full
は --fulltimes
オプションと同じである。
iso は ISO-8601
のフォーマットでタイムスタンプを表示する。ISO
フォーマットは、タイムゾーンの情報を含んでいるので、
ログのプリントアウトがシステムの外部で調べられるときに、望ましい形式になる。
-
-w, --fullnames
- 省略しないユーザ名とドメイン名を出力に表示する。
-
-x, --system
- システムのシャットダウンとランレベル変更の記録を表示する。
引き数に
time
を取るオプションは、以下の書式を解する。
YYYYMMDDhhmmss |
|
YYYY-MM-DD hh:mm:ss |
|
YYYY-MM-DD hh:mm |
(秒は 00 になる) |
YYYY-MM-DD |
(時刻は 00:00:00 になる) |
hh:mm:ss |
(日付は今日になる) |
hh:mm |
(日付は今日、秒は
00) |
now |
|
yesterday |
(時刻は 00:00:00 になる) |
today |
(時刻は 00:00:00 になる) |
tomorrow |
(時刻は 00:00:00 になる) |
+5min |
|
-5days |
|
wtmp や
btmp
といったファイルは、存在しないことがある。
システムは、そうしたファイルが存在するときにだけ、情報をそこに記録するのである。
このへんのことは、個々のサイトにおける設定の問題である。
もし、こうしたファイルを使用したいのなら、
touch
のような単純なコマンドでそれを作成すればよい
(たとえば、
touch /var/log/wtmp
で)。
/var/log/wtmp
/var/log/btmp
Miquel van Smoorenburg <
[email protected]>
この last コマンドは、util-linux
パッケージの一部であり、Linux
Kernel Archive <
https://www.kernel.org/pub/linux/utils/util-linux/>
から入手できる。
login(1),
wtmp(5),
init(8),
shutdown(8)