리눅스 사용자 수를 보는 방법

who 명령은 시스템에서 열려있는 모든 로그인 세션을 보여줍니다.

w 명령 을 사용하여 각 로그인 세션이 수행하는 작업에 대한 자세한보기를 얻을 수도 있습니다.

우리가 -h 옵션을 사용하면 (카운트하지 않으려는 헤더 행을 표시하지 않기 위해) who 또는 w 명령 출력의 행을 계산하여 세션을 열어 본 횟수를 계산할 수 있습니다. 이를 위해 세로 막대 ( " | ")를 사용하여 출력을 파이프하여 명령 파이프 라인을 만들고 파이프 라인의 다음 프로그램에 한 프로그램의 출력을 보냅니다. 여기서 우리는 wc -l 에 파이프를 걸어서 whow -h 모두의 행을 계산하여 실제로 활성 세션 수를 생성합니다.

순 사용자 수 계산

위의 방법은 로그인 세션을 계산하지만 사용자가 둘 이상의 로그인 세션을 열면 두 번 이상 계산됩니다. 순 사용자를 계산하려면 더 창의적이어야합니다. cut 명령을 사용하여 사용자 이름을 제외한 모든 정보를 제거 할 수 있습니다.

위의 명령은 " 사람 의 출력을 가져 와서 정보의 첫 번째 필드 만 표시합니다. 이것은 공간에 의해 제거됩니다." 그것은 우리에게 단지 사용자 이름 목록을 제공하지만, 우리는 여전히 반복되는 이름을 걸러 낼 필요가 있습니다.

이를 위해 sort -u 명령을 추가 할 수 있습니다. 이 명령은 이름을 사전 순으로 정렬하고 고유하지 않은 행을 필터링합니다.

그리고 마지막으로 이러한 고유 한 사용자 수를 계산하기 위해 명령 파이프 라인 끝에 wc -l 을 추가합니다.

ps를 사용하여 프로세스를 실행하는 모든 사용자 수 계산

또 다른 유용한 기술은 ps 명령을 사용하여 현재 실행중인 프로세스를 소유하는 시스템의 모든 사용자 목록을 작성하는 것입니다. 이렇게하려면 -e, -a, -h-o user 옵션과 함께 ps 를 사용할 수 있습니다. 다음과 같이 조합 할 수 있습니다.

이 명령은 "사용자가 소유 한 프로세스의 정보를 보여 주며, 사용자를 표시하지 않고 사용자의 이름을 인쇄 합니다 ."라고 명령 합니다 .

who 가 이전에 나열한 사용자 외에도 여기에 나열된 루트도 볼 수 있습니다. who 명령은 터미널 세션에 로그인 한 사용자 만 표시하지만 ps 는 터미널이 열려 있지 않아도 실행중인 프로세스를 소유 한 모든 사용자를 나열합니다. ps 명령은 루트를 포함하며 다른 시스템 특정 사용자를 포함 할 수 있습니다.

이전과 마찬가지로 출력을 정렬하고 고유 한 이름 만 나열 할 수 있습니다.

... 원하는 전체를 생성합니다.