Linux에서 pinky 명령을 사용하는 방법

리눅스 시스템에 누가 로그인했는지 알고 싶으신가요? 그렇다면 손가락을 까딱할 필요 없이, ‘핑키’ 명령을 사용해 보세요.

많은 시스템 관리자들이 리눅스나 유닉스 계열 컴퓨터에 로그인한 사용자의 정보를 얻기 위해 finger 명령을 사용합니다. 하지만 많은 시스템에서 이 명령은 기본적으로 설치되어 있지 않기 때문에 사용할 수 없을 수 있습니다.

finger 명령을 설치하는 대신(물론 허가가 있다면), 더 가볍고 현대적인 버전인 ‘pinky’ 명령을 사용할 수 있습니다. 이 명령어는 Ubuntu, Manjaro, Fedora를 포함하여 이 글을 쓰는 시점에서 테스트한 대부분의 리눅스 배포판에 기본적으로 설치되어 있습니다.

세밀한 조정

리눅스 명령어에서 기대할 수 있듯이, pinky 명령에도 다양한 명령줄 옵션이 있습니다. 하지만 이 옵션들은 pinky 명령이 생성하는 보고서에서 특정 정보 항목을 제외하는 데 사용됩니다. 즉, 필요한 정보만 표시하도록 출력 내용을 조정할 수 있습니다.

만약 pinky 명령이 가벼운 명령으로 시작했다면, 불필요한 정보를 제거하는 과정을 거치면서 훨씬 더 가벼워질 수 있습니다.

pinky 명령 사용법

pinky 명령을 사용하는 가장 기본적인 방법은 터미널에 ‘pinky’를 입력하고 엔터 키를 누르는 것입니다.

pinky

기본 출력은 “짧은 형식”의 보고서입니다.

짧은 형식 보고서는 다음과 같은 열을 포함합니다.

  • 로그인: 로그인한 사용자의 사용자 이름입니다.
  • 이름: 사용자의 전체 이름 (알려진 경우).
  • TTY: 로그인한 터미널 유형입니다. 일반적으로 pts(가상 터미널)이며, :0은 해당 컴퓨터에 연결된 물리적 키보드와 화면을 나타냅니다.
  • 유휴: 사용자의 유휴 시간입니다. 이 정보가 표시되지 않는 경우는 X-윈도우 디스플레이 관리자를 사용 중인 경우입니다.
  • 언제: 사용자가 로그인한 시간과 날짜입니다.
  • 위치: 사용자가 로그인한 위치입니다. 원격 컴퓨터의 IP 주소인 경우가 많으며, ‘:0’ 항목은 리눅스 컴퓨터에 연결된 물리적 키보드와 화면을 의미합니다.

pinky 명령은 모든 열을 채우지 못할 수도 있습니다. 해당 정보가 없는 경우 열은 비어 있습니다. 예를 들어, 시스템 관리자가 “dave”라는 사용자 계정을 가진 사람의 전체 이름을 기록하지 않았다면, pinky 명령은 이름 열에 전체 이름을 표시할 수 없으므로 대신 “dave”를 사용합니다.

특정 사용자에 대한 보고서

기본적으로 pinky 명령은 로그인한 모든 사용자에 대한 정보를 출력합니다. 특정 사용자에 대한 보고서를 얻으려면 명령줄에 사용자 이름을 pinky 명령과 함께 입력합니다.

pinky mary

위의 예제에서 pinky 명령은 ‘mary’라는 사용자 이름으로 로그인한 사용자에 대한 정보만 표시합니다.

열 머리글 생략

짧은 형식 보고서에서 열 머리글을 제거하려면 -f 옵션을 사용합니다.

pinky -f

이제 보고서에서 열 머리글이 제거되었습니다.

이름 열 생략

-w 옵션은 pinky 명령이 “이름” 열을 생략하도록 합니다.

pinky -w alec

결과 보고서에는 “이름” 열이 없습니다.

이름 및 위치 열 생략

-i 옵션은 pinky 명령이 “이름”과 “위치” 열을 모두 생략하도록 합니다.

pinky -i robert

이제 pinky 명령의 보고서에는 “이름”과 “위치” 열이 포함되지 않습니다.

이름, 유휴 및 위치 열 생략

더 많은 열을 제거하려면 -q 옵션을 사용하여 “이름”, “유휴” 및 “위치” 열을 생략할 수 있습니다.

pinky -q john

pinky 명령은 보고서에서 “이름”, “유휴” 및 “위치” 열을 성공적으로 제거합니다. 이제 열이 3개로 줄었습니다. 여기서 더 많은 열을 제거하면 보고서의 의미가 없어질 것입니다.

긴 형식 보고서

-l (긴 형식 보고서) 옵션을 사용하면 pinky 명령이 보고서에 더 많은 정보를 표시합니다. 이 옵션을 사용할 때는 반드시 사용자 계정 이름을 명령줄에 제공해야 합니다.

(이것이 이름이 주어진 두 가지 명령줄 옵션 중 하나입니다. 다른 하나는 -s (짧은 형식 보고서) 옵션이지만, 기본 출력이 짧은 형식 보고서이기 때문에 -s 옵션은 사실상 아무런 역할도 하지 않습니다.)

pinky -l mary

긴 형식 보고서에는 다음과 같은 추가 정보가 포함됩니다.

  • 로그인 이름: 로그인한 사용자의 사용자 이름입니다.
  • 실제 이름: 사용자의 전체 이름(알려진 경우).
  • 디렉토리: 사용자의 홈 디렉토리입니다.
  • 셸: 사용자가 사용 중인 셸입니다.
  • 프로젝트: 사용자의 ~/.project 파일 내용(있는 경우)입니다.
  • 계획: 사용자의 ~/.plan 파일 내용(있는 경우)입니다.

~/.project 파일은 컴퓨터 사용자가 참여한 프로젝트나 업무 항목에 대한 간략한 설명을 저장하는 데 사용됩니다. 마찬가지로 ~/.plan 파일의 내용은 해당 프로젝트의 실제 업무 항목에 대한 설명입니다. 이를 통해 관리자와 이해 관계자는 사용자가 어떤 작업을 수행하고 있으며 해당 작업이 속한 프로젝트가 무엇인지 확인할 수 있습니다. 하지만 이 기능은 오늘날 거의 사용되지 않으므로 대부분 비어 있을 수 있습니다.

이번에는 “alec”이라는 사용자의 정보를 살펴보겠습니다.

pinky -l alec

보시다시피, Alec은 ~/.plan 파일이나 ~/.project 파일을 가지고 있지 않습니다.

디렉토리 및 셸 행 생략

긴 형식 보고서에서 홈 디렉토리 및 셸 정보를 제외하려면 -b 옵션을 사용하십시오.

pinky -l -b robert

이제 보고서에서 홈 디렉토리 및 셸 정보를 표시하는 줄이 제거되었습니다.

프로젝트 파일 생략

긴 형식 보고서에서 프로젝트 정보를 제외하려면 -h 옵션을 사용하십시오.

pinky -l -h mary

~/.project 파일의 내용은 보고서에 표시되지 않습니다.

계획 파일 생략

긴 형식 보고서에서 계획 정보를 제외하려면 -p 옵션을 사용하십시오.

pinky -l -p mary

~/.plan 파일의 내용은 보고서에 표시되지 않습니다.

왜 이렇게 많은 옵션이 있는가?

보고서를 생성하는 명령에 정보를 제거하는 옵션이 이렇게 많은 이유는 무엇일까요? 그 이유는 사용자가 정말로 필요한 정보에 집중할 수 있도록 하기 위함입니다. 즉, 불필요한 정보를 제거하고 원하는 정보만 표시할 수 있는 기능을 제공하는 것입니다.