ユーザーのログイン日とログイン時間


25

ユーザーのログイン時間とログイン日付を取得したいのですが、Unixにユーザーのログイン日付とユーザーのログイン時間を提供するコマンドはありますか?この問題は、ユーザー名がエンドユーザーから受け入れられるシェルスクリプトで実行し、ユーザーの可用性を確認した後、そのユーザーのログイン時間とログイン日付を異なる変数で取得し、「echo」コマンドを使用して表示したい。

回答:


32

過去のログインの場合:

last "$USER_NAME"

また、コマンドwhoは現在のログインをリストします。

ユーザーの最後のログインの日付を探している場合、一部のシステムは、たとえばlastlog -u "$USER_NAME"Linuxやlastlogin "$USER_NAME"FreeBSD で直接それを提供します。の出力でも使用できますが、finger解析しやすい形式ではありません。いずれにせよ、それはの出力で利用可能ですlast(多くのUNIXバリアントでlast -n 1 "$USER_NAME"は、最後のログインを表示します;それ以外の場合はできますlast "$USER_NAME" | head -n 1)。最後のログインは最後のログアウトに対応しない場合があることに注意してください(たとえば、ユーザーが1つのオリジンから長時間接続されたままで、最近ネットワークにすばやくログインした場合など)。


私は「誰」コマンドがすべてのユーザーのログイン情報を提供していることを知っていますが、「ログイン日付」と「ログイン時間」を持ちたいです。そのユーザーに関する情報を取得したい
Paresh Mayani

?最後の「$ username」は「Login-date」と「Login-time」を提供します。あなたの文章の2番目の部分は、私にとっては明確ではありません。おそらく私の英語であり、おそらくあなたの英語です...「ユーザーから受け入れられたユーザー名[...]」
echox

@Paresh:私はあなたの質問を解釈する方法を使い果たしました。それでも私の答えが役に立たない場合は、質問をより明確にしてみてください。
ジル「SO-悪であるのをやめる」

@Paresh:last $USER_NAME現在のユーザーも表示されます。次のようなものが表示されますusername ttyp0 192.168.1.100 Tue Sep 13 13:09 still logged in
ステファンLasiewski

@Giliesは私が実際に実行したいことをクリアさせて、ユーザー名を「read $ username」として受け入れるシェルスクリプトを作成し、ユーザーがログオンしているかどうかを確認したい場合、はい、私はサポートのために自分のログイン時間とログイン日付、ありがとうを取得したい
Paresh Mayani

3

Linuxではlast -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'、ユーザーがログインしていない場合は何も返しません。そうでない場合は、各アクティブセッションの日付/時刻リストを返します。

持続する-Rオプションを知らない他のUNIX (ホスト名を抑制する)は、何らかの修正が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.