Дата входу та час входу користувача


25

Я хочу отримати час входу та дату входу користувача, чи є якась команда в Unix, що забезпечує дату входу та час входу користувача? цю проблему я хочу виконати в Shell-скрипті, коли ім'я користувача приймається від кінцевого користувача та після перевірки наявності користувача, я хотів би встановити час входу та дату входу в іншу змінну, а потім відобразити за допомогою команди "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). Зауважте, що останній вхід може не відповідати останньому виходу (наприклад, користувач тривалий час залишався на зв'язку з одним джерелом і нещодавно зробив швидкий мережевий вхід).


Я знаю, що команда "хто" надає інформацію про вхід для всіх користувачів, але я хочу мати "Дата входу" та "Час входу", і я не бажаю інформації про користувача для попереднього входу, але для користувача, прийнятого від користувача. і хочете отримати інформацію про цього користувача
Paresh Mayani

? останнє "$ username" надає "Дата входу" та "Час входу". Друга частина вашого речення для мене не зрозуміла, можливо, це моя англійська, можливо, ваша ... "Ім'я користувача, прийняте від користувача [...]"?
ехокс

@Paresh: У мене не вистачає способів інтерпретувати ваше запитання. Якщо моя відповідь все-таки не допомагає, спробуйте зробити своє питання зрозумілішим.
Жил 'ТАК - перестань бути злим'

@Paresh: last $USER_NAMEвідображатиметься і поточних користувачів. Це покаже щось на кшталтusername ttyp0 192.168.1.100 Tue Sep 13 13:09 still logged in
Стефан Ласєвський

@Gilies дозволить мені зрозуміти, що я хочу виконувати насправді, я хочу зробити скрипт оболонки, в якому я приймаю ім'я користувача як "прочитане $ ім'я користувача", а потім я хочу перевірити, чи користувач увійшов чи ні, якщо так, тоді я хочу отримати їх час входу та дату входу, ніж за підтримку
Paresh Mayani

3

У linux last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'нічого не повернеться, якщо користувач не ввійшов у систему, інакше список дати / часу для кожного активного сеансу.

Інші уніксеси, які не знають -Rопції останнього (що придушує ім'я хоста), потребують певної модифікації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.