2 minute read

OverView

우분투 시스템 내 유저들을 모니터링 하는 명령어들입니다.

  • who
  • w
  • usersp
[root@localhost ~]# who -aH
NAME       LINE         TIME             IDLE          PID COMMENT  EXIT
           system boot  2023-03-16 23:22
           run-level 3  2023-03-16 23:22
root     + tty1         2023-03-17 02:15 01:13         667
test     + pts/0        2023-03-17 23:52 02:02       15151 (gateway)

[root@localhost ~]# w
 01:54:35 up 1 day,  2:32,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      금02    1:13m  0.08s  0.02s bash
test     pts/0    gateway          23:52    2:02m  0.00s  0.00s -bash

[root@localhost ~]# users
root test

who와 w 출력 결과는 공통되는 내용이 많습니다. (내용이 적은 users는 논외)

공통 부분

  • 접속중인 유저 목록 (USERNAME)
  • 접속중인 유저가 사용하는 터미널 (TTY)
  • 시스템 부팅 시간(system boot)
  • 터미널과 상호작용한 마지막 시간 (IDLE)
  • 마지막 터미널 사용 시간

차이점

  who w
용도 (프로세스 관리 관점) 접속한 유저가 무슨 pid로 접속했는지 확인할 때 (시스템 관리 관점)어느 유저가 시스템 부하가 심한지 모니터링 할 때
차이점 run level(부팅모드)
터미널 PID
시간당 시스템 평균 부하
터미널에서 실행한 프로세스들의 cpu 사용시간(JCPU)
     

who

who 명령은 다음 정보를 찾는 데 사용됩니다.

  1. 마지막 시스템 부팅 시간
  2. 시스템의 현재 실행 수준(Run level)
  3. 로그인한 사용자 목록
who [OPTION]... [ FILE | ARG1 ARG2 ]

-H 옵션으로 행 이름을 볼 수 있습니다. -b 는 시스템이 마지막으로 부팅된 시간을 보여줍니다

[root@localhost ~]# who 
root     tty1         2023-03-17 02:15
test     pts/0        2023-03-17 23:52 (gateway)

[root@localhost ~]# who -H
NAME     LINE         TIME             COMMENT
root     tty1         2023-03-17 02:15
test     pts/0        2023-03-17 23:52 (gateway)

[root@localhost ~]# who -b
         system boot  2023-03-16 23:22

| –> |

w

접속한 유저 리스트와 시스템 부하를 확인할 때 유용한 명령어입니다.

w 명령어 출력 결과는 헤더 정보와 바디 정보로 나눠집니다.

# 현재 시간 비교용
[root@localhost ~]# date
2023. 03. 18. (토) 01:20:06 KST

[root@localhost ~]# w
01:20:07       up 1 day,  1:58,    2 users,        load average: 0.00, 0.01, 0.05
USER            TTY         FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root            tty1        금02              39:11   0.08s  0.02s bash
test            pts/0       gateway          23:52    1:28m  0.00s  0.00s -bash

헤더에는 시스템 사용량에 대한 전체 통계 정보유저 데이터 속성명을 나타냅니다.

  • 현재 시간
  • 시스템이 부팅된 시간
  • 접속 중인 유저 수
  • 시스템 부하 평균 (1, 5, 15분)
의미 현재 시각 부팅 후 지난 시간 접속한 유저 수 평균 부하, 1분, 5분, 15분
예시 01:20:07 up 1 day, 1:58, 2 users, load average: 0.00, 0.01, 0.05

특이하게 헤더가 기본으로 출력되고 -h를 사용하면 출력되지 않습니다.

바디 정보유저별 사용량 정보를 나타냅니다.

  • 유저 이름
  • tty 이름
  • 원격 호스트
  • 로그인 시간
  • 유휴 시간
  • JCPU : tty에서 시작된 모든 프로세스들이 사용한 시간 집계
  • PCPU : what 프로세스가 사용한 시간
  • what : w 명령어를 실행시킨 프로세스 (주로 쉘, bash)
유너 네임 터미널 이름 원격 호스트 로그인 유지 시간 유휴 시간 JPCU PCPU what process
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1   금02 39:11 0.08s 0.02s bash
test pts/0 gateway 23:52 1:28m 0.00s 0.00s -bash

-i 패킷의 소스를 ip 주소로 나타냅니다.

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      금02   33:43   0.08s  0.02s bash
test     pts/0    10.0.2.2         23:52    1:22m  0.00s  0.00s -bash

users

접속 중인 유저들의 호스트 네임만 출력하는 간단한 명령어입니다. 접속 중인 유저들을 대상으로 파이프라인을 동작시킬 때 사용하기 좋습니다.

[root@localhost ~]# users
root

Tags:

Categories:

Updated:

Leave a comment