사용자의 로그인 시간과 로그인 날짜를 알고 싶습니다. Unix에 사용자의 로그인 날짜와 로그인 시간을 제공하는 명령이 있습니까? 최종 사용자로부터 사용자 이름이 허용되는 쉘 스크립트에서 이 문제를 수행하고 사용자의 가용성을 확인한 후 해당 사용자의 로그인 시간과 로그인 날짜를 다른 변수로 가져온 다음 "echo" 명령을 사용하여 표시하려고 합니다. .
답변1
과거 로그인의 경우:
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
). 마지막 로그인은 마지막 로그아웃과 일치하지 않을 수 있습니다(예: 사용자가 오랫동안 한 소스에서 연결을 유지했으며 최근에 빠른 네트워크 로그인을 했음).
답변2
Linux에서는 last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'
사용자가 로그인하지 않은 경우 아무것도 반환되지 않으며, 그렇지 않으면 각 활성 세션의 날짜/시간 목록이 반환됩니다.
Last 옵션(호스트 이름을 억제함)을 인식하지 못하는 다른 -R
Unix 시스템에서는 몇 가지 수정이 필요합니다.