답변:
일반적으로 명령은 '사용자'가 아닌 '누가'이지만 '누가'는 더 많은 정보를 제공합니다. 원래 유닉스 기사 (70 년대 중반)를 되돌아 보면 그 예는 다음과 같습니다.
who | wc -l
'wc -l'을 사용하면 출력 행 수를 계산 합니다. 'users'와 'who' 모두에서 작동합니다 . '-w'는 사용자 당 하나의 단어가있을 때만 안정적으로 작동합니다 ( 'users'와 같지만 'who'는 아님).
'grep -c'를 사용하여 줄을 계산할 수 있습니다. 공백이 아닌 사용자 이름에만 관심이 있으므로 다음을 수행 할 수 있습니다.
who | grep -c .
각 줄에는 항상 하나 이상의 문자가 있습니다.
에서 언급 한 바와 같이 의견 에 의해 존 T 의 users명령과 다른 who측면의 숫자입니다. 가장 중요한 것은 한 줄에 하나의 이름을 부여하는 대신 한 줄에 여러 개의 이름을 퍼뜨리는 것입니다. 사용자 수가 많아 질 때 발생하는 상황을 테스트하기 위해 충분히 다른 사용자가 로그인 한 시스템이 없습니다. 다른 차이점은 'who'는 사용중인 터미널 연결을보고한다는 것입니다. 여러 터미널 창을 열면 단일 사용자에 대해 여러 줄이 표시되지만 '사용자'는 로그인 한 사용자를 한 번만 나열하는 것 같습니다.
이 차이의 결과로 ' grep -c .'공식은 'users'명령과 작동하지 않습니다. ' wc -w'가 필요합니다.
쉘을 열고 다음을 입력하십시오.
who -q
마지막 줄은 당신에게 카운트를 제공합니다.
편집하다:
(한숨) 나는 그 질문을 오해했다. 다소 무차별 접근 방식은 다음과 같습니다.
고유 한 사용자 이름을 보려면
who | awk '{ print $1 }' | sort | uniq
순 사용자 수를 보려면
who | awk '{ print $1 }' | sort | uniq | wc -l
세션 수 또는 실제 사용자 수를 보시겠습니까?
$ who
andrew tty1 2009-07-26 15:31 (:0)
andrew pts/0 2009-07-27 00:11 (:0.0)
andrew pts/1 2009-07-27 01:58 (:0.0)
그것은 내 랩톱에 있기 때문에 유일한 사용자이지만 3 번 로그온했습니다.
$ who | wc -l
3
$ users | wc -w
3
실제 사용자 수를 얻기 위해 이러한 중복 항목을 필터링하는 것은 매우 쉽습니다.
$ users | tr ' ' '\n' | sort -u
andrew
$ users | tr ' ' '\n' | sort -u | wc -l
1
다음은 tink 의 훌륭한 awk 게시물의 bash 버전입니다 .
set $(users)
declare -A user
for u ; do ((user[$u]++)) ; done
for key in "${!user[@]}" ; do echo "$key: ${user[$key]}" ; done | column -t | sort -nk 2
좋아, 조금 더 길지만 이것을 찾을만한 가치가있었습니다 ... :).
테스트하는 동안 다음 시도 전에 수행하십시오.
shift $# # clear positional parameters
unset user # remove associative array variable
당신은 간단하게 사용할 수 있습니다 w( /usr/bin/w내 레드햇 기반 시스템) 또는 uptime그들은 로그인 한 사용자의 실제 수를 보여줍니다.
w :
v
22:40:38 up 3 days, 22 min, 1 user, load average: 0.02, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
manuel pts/0 pc-manuel 09:35 0.00s 0.07s 0.00s /usr/bin/screen -xRR
가동 시간 :
v
22:39:18 up 3 days, 21 min, 1 user, load average: 0.08, 0.02, 0.01
http://www.gnu.org/software/coreutils/manual/html_node/who-invocation.html
"who"는 현재 로그온 한 사용자에 대한 정보를 인쇄합니다. 개요:
누가 [옵션] [파일] [am i]
언제든지 TOP이라는 유닉스 용 무료 도구를 다운로드 할 수 있습니다. 사용자 목록과 당시 시스템에서 수행중인 작업을 생성하며 실행중인 한 계속 업데이트됩니다.
http://www.unixtop.org/ 에 있습니다 .
많은 명령 행 스위치가 있으므로 원하는 정보를 추출 할 수 있습니다.