모든 사용자 계정과 마지막 로그인 정보를 나열하는 명령?

모든 사용자 계정과 마지막 로그인 정보를 나열하는 명령?

터미널을 통해 Mac의 사용자 계정 목록을 반환하기 위해 다음 스크립트 줄을 사용하고 있습니다.

dscl . list /Users | grep -v '_'

모든 사용자 계정 목록을 반환하는 동시에 마지막 로그인 정보를 나열하는 데도 필요합니다.

입력할 수 있는 다른 명령이 무엇인지 조사해 보았지만 성공하지 못했습니다.

사용자 계정의 마지막 로그인 정보와 함께 Mac 컴퓨터의 사용자 계정 목록을 어떻게 반환합니까?

답변1

사용자 계정을 반복하여 last명령을 호출할 수 있습니다.

다음은 작은 스크립트입니다.

#!/bin/bash

while read user; do
    if ! last -5 "$user" | grep "^$user"; then
        printf "$user\tno session found\n"
    fi
done < <(dscl . list /Users | grep -v '^_')

lastlike 에 여러 사용자 이름을 제공 할 수도 있지만 last user1 user2사용자에 대한 세션 데이터가 없으면 출력을 얻을 수 없습니다.

위 스크립트에서 옵션은 -5출력을 5개(가장 가까운) 항목으로 제한하고 grep각 줄이 찾고 있는 사용자 이름으로 시작하는지 확인하는 데 사용됩니다. 행이 발견되지 않으면 no session found사용자에게 인쇄됩니다.

스크립트를 실행할 때 관리자 권한이 있는지 확인하십시오. 그렇지 않으면 출력이 last비어 있습니다.

관련 정보