사용자의 로그인 시간과 로그인 날짜를 가져오고 싶습니다. Unix에 사용자의 로그인 날짜와 사용자의 로그인 시간을 제공하는 명령이 있습니까? 이 문제는 사용자 이름이 최종 사용자로부터 받아 들여지고 사용자의 가용성을 확인한 후에 쉘 스크립트에서 수행하고 싶습니다. 사용자의 로그인 시간과 로그인 날짜를 다른 변수로 가져 와서 ‘echo’명령을 사용하여 표시하고 싶습니다 .
답변
지난 로그인의 경우 :
last "$USER_NAME"
또한이 명령 who
은 현재 로그인을 나열합니다.
사용자의 마지막 로그인 날짜를 찾는 경우 일부 시스템은 예를 들어 lastlog -u "$USER_NAME"
Linux 또는 lastlogin "$USER_NAME"
FreeBSD 에서 직접 제공합니다 . 의 출력으로도 사용할 수 finger
있지만 구문 분석하기 쉬운 형식은 아닙니다. 어쨌든, 그것은 last
많은 유닉스 변형 last -n 1 "$USER_NAME"
에서 마지막 로그인을 보여 주지만 그렇지 않으면 할 수 있습니다 last "$USER_NAME" | head -n 1
. 마지막 로그인은 마지막 로그 아웃과 일치하지 않을 수 있습니다 (예 : 사용자가 한 출처에서 오랫동안 연결 상태를 유지하고 최근에 빠른 네트워크 로그인을 했음).
답변
Linux에서는 last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'
사용자가 로그인하지 않으면 아무것도 반환하지 않으며, 그렇지 않으면 각 활성 세션의 날짜 / 시간 목록이 반환됩니다.
-R
마지막 옵션을 모르는 다른 유닉스 (호스트 이름을 억제하는)는 약간의 수정이 필요합니다.