본문 바로가기
리눅스

who (Unix)

by 다움위키 2023. 12. 24.

표준 유닉스 명령 who는 컴퓨터에 현재 로그인된 사용자의 목록을 표시합니다.

who 명령은 명령 w와 관련되며, 이것은 같은 정보를 제공하지만 역시 추가적인 데이터와 통계를 표시합니다.

History

로그인한 사용자의 이름을 표시하는 who 명령은 Multics 내에서 처음 구현되었습니다. 나중에, 그것은 버전 1 유닉스에 나타나고 1987년 2호부터 X/Open 이식성 안내서의 일부가 되었습니다. 그것은 POSIX.1의 첫 번째 버전과 단일 유닉스 사양으로 상속되었습니다.

GNU coreutils에 번들로 포함된 who의 버전은 Joseph Arceneaux, David MacKenzie 및 Michael Stone에 의해 작성되었습니다.

Specification

단일 유닉스 사양 (SUS)은 who는 접근 가능한 사용자에 대한 정보를 나열해야 함을 지정합니다. XSI 확장은 역시 사용자이름, 터미널, 로그인 시간, 프로세스 ID, 및 터미널에서 발생된 마지막 활동 시간의 데이터를 지정하며, 게다가, 사용자 정보에 사용된 대안적인 시스템 데이터베이스는 who에 대한 선택적 인수로 지정될 수 있습니다.

그 명령은 am i 또는 am I 인수로 호출될 수 있으며 (따라서 who am i 또는 who am I로 호출됨), 오직 현재 터미널에 대한 정보를 표시합니다 (아래 명령 tty 및 -m 옵션을 참조, 이 중 호출은 동등합니다).

Usage

확장 없이 SUS는 오직 다음 -m, -T, 및 -u 옵션을 지정하고, 모든 다른 옵션은 XSI 확장에 지정됩니다.

-a, -b, -d, -l, -p, -r, -t, -T 및 -u를 갖는 사용자 정보에 사용된 시스템 데이터베이스를 처리합니다. -b, 시스템이 마지막으로 재부팅된 시간 표시 -d, 좀비 프로세스와 세부 정보 표시 -H, 열 머릿글 표시 -l, 사용자가 로그인할 수 있는 터미널 표시 -m, 오직 현재 터미널에 대한 정보를 표시 -p, 활성 프로세스 표시 -q, 빠른 형식, 오직 로그온한 모든 사용자의 이름과 숫자를 표시, 모든 다른 옵션 비활성화; 사용자 명령줄 유틸리티와 동등함 -r, init 프로세스의 런레벨을 표시 -s, (기본값) 오직 이름, 터미널, 및 시간 세부 정보를 표시 -t, 시스템 시계가 마지막으로 변경될 때 표시 -T, 표준 형식으로 각 터미널의 세부 정보를 표시 -u, 유휴 시간 표시; XSI는 로그인한 사용자를 보여주고 터미널이 최근에 사용되었는지 여부를 표시

다른 유닉스와 유닉스-계열 운영 시스템은 여분의 옵션을 추가할 수 있습니다. GNU who는 -u와 유사하게 동작하는 -i 옵션과 나열된 사용자가 메시지를 수락하는지 여부를 표시하는 -w 옵션을 포함하지만 (-T가 지정될 때 SUS가 이것을 표시함), GNU who 및 BSD who는 위의 옵션 중 일부를 생략합니다 (예를 들어, -a, -b, -d, 및 기타); 대신 GNU who는 -l를 나열된 호스트 이름에서 DNS 조회를 수행하기 위해 사용합니다.

Output

확장없이 SUS는 출력 형식이 "구현-정의"가 되도록 지정합니다. XSI 확장은 형식을 지정하지만, 완전히 지정되지는 않았음을 주목하십시오; 구분 기호와 필드 길이는 정확하게 지정되지 않습니다. 따라서, 출력 형식은 유닉스 구현 사이에 상당히 다릅니다.

See also

External links