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

시스템 관리에 있어, 리눅스 또는 유닉스 기반 시스템을 누가 사용 중인지 파악하는 것은 핵심적인 요소입니다. 특정 사용자를 지목하는 것이 다소 무례하게 느껴질 수 있지만, 여전히 유용한 정보가 될 수 있습니다.

흥미롭게도, `finger` 명령어는 대부분의 리눅스 배포판에 기본적으로 포함되어 있지 않습니다. 본 연구에서 사용된 우분투, 페도라, 만자로 배포판 모두에서 그랬습니다. 우리는 이미 `finger` 명령어의 경량 버전인 `pinky` 명령어를 살펴본 적이 있습니다. `pinky`는 기본적으로 제공되지만, `finger`를 사용하려면 별도로 설치해야 합니다.

`finger`와 `pinky` 명령어는 유사한 역할을 수행합니다. 둘 다 현재 리눅스 또는 유닉스 계열 운영 체제에 로그인한 사용자에 대한 정보를 제공합니다. 하지만 제공하는 정보의 양에는 약간의 차이가 있으며, 특히 `pinky`는 불필요한 정보를 필터링할 수 있는 더 다양한 옵션을 제공합니다. 자세한 정보는 이 링크를 참고하십시오.

만약 리눅스 설정을 “리눅스 스타일”보다는 “유닉스 스타일”로 만들고 싶다면 `finger` 명령어를 사용하는 것이 좋습니다. 이는 과거에 작성된 스크립트나 설정 파일에서 `finger`를 사용할 것이라고 가정할 수 있기 때문입니다. 어떤 이유에서든 `finger`를 사용하고 싶다면 다음은 설치 및 사용 방법입니다.

`finger` 명령어 설치하기

우분투에서는 다음 명령어를 사용하여 `finger`를 설치할 수 있습니다:

sudo apt-get install finger

페도라의 경우, `finger`를 설치하려면 다음 명령어를 사용하십시오:

sudo dnf install finger

만자로에서는 `finger`를 Arch User Repository (AUR)에서 설치해야 합니다. 이는 소스 코드 형태로 제공됩니다. 이를 위한 도구가 있지만, AUR에서 `finger`를 검색하고 설치하는 도구뿐만 아니라 만자로 시스템에 이러한 도구가 설치되어 있어야 합니다. 따라서 먼저 설치해야 합니다.

아직 시스템에 적합한 AUR 설치 프로그램이 없다면 `trizen`이 좋은 선택입니다. 다음 명령어를 사용하여 설치할 수 있습니다:

sudo pacman -Syu trizen

`trizen`을 사용하여 `finger`를 설치하기 전에 몇 가지 개발 도구를 설치해야 합니다. 이는 `trizen`이 시스템에 `finger`를 설치하기 위해 호출하는 설치 및 빌드 스크립트에서 자동으로 필요로 합니다. 이전에 AUR에서 항목을 설치했거나 소프트웨어 개발을 해본 적이 있다면 이미 설치되어 있을 가능성이 높습니다.

먼저 GNU C 라이브러리를 설치해야 합니다. 다음 명령어를 사용합니다:

sudo pacman -Syu glibc

다음으로 GNU Binutils도 필요합니다. 이는 gcc 컴파일러에서 사용됩니다:

sudo pacman -Syu binutils

설치 과정은 패치 유틸리티도 사용합니다. 다음 명령어를 사용하여 설치하십시오:

sudo pacman -Syu patch

`make` 유틸리티는 실제 컴파일 및 빌드 작업에 사용됩니다. 다음 명령어를 사용하여 설치합니다:

sudo pacman -Syu make

마지막으로, 컴파일러 없이는 소스 코드를 빌드할 수 없습니다. GNU 컴파일러 모음인 gcc가 반드시 필요합니다. 다음 명령어를 사용하여 설치합니다:

sudo pacman -Syu gcc

이제 모든 빌드 종속성이 충족되었고 `trizen`이 설치되었으므로, `finger`를 설치하는 명령어를 실행할 수 있습니다:

trizen -S netkit-bsd-finger

설치 과정에서 다양한 질문이 나타날 수 있습니다. 기본값을 적용하려면 “Enter” 키를 누르기만 하면 됩니다.

`finger` 명령어 사용하기

`finger`를 입력하고 “Enter” 키를 누르면 기본적인 출력이 표시됩니다.

finger

로그인한 각 사용자에 대한 한 줄 정보가 출력됩니다. 각 열은 다음과 같습니다:

로그인: 로그인한 사용자의 계정 이름입니다.
이름: 시스템에 알려진 경우, 사용자의 전체 이름입니다.
Tty: 로그인한 터미널 유형입니다. 주로 가상 터미널인 `pts` (pseudo-teletype)가 표시됩니다. `:0`은 컴퓨터에 연결된 물리적 키보드와 화면을 의미합니다.
유휴: 사용자의 유휴 시간입니다. 한 자리 숫자이면 분을, 콜론이 있으면 시간과 분을, `d`가 있으면 일과 시간을 의미합니다.
로그인 시간: 사용자가 로그인한 시간입니다.
사무실: 과거의 유산으로, 원래는 사용자가 일하는 방의 이름이나 번호를 표시하는 데 사용되었습니다. 오늘날에는 루트 사용자가 거의 설정하지 않으며, 대신 사용자가 로그인한 컴퓨터의 IP 주소를 표시합니다. `:0`은 컴퓨터에 연결된 물리적 키보드 및 화면을 의미합니다.
사무실 전화: 이 또한 과거의 유산입니다. 루트 사용자가 사용자의 사무실 전화번호를 기록하지 않았다면 비어 있습니다.

특정 사용자의 정보 보기

특정 사용자의 세부 정보를 보려면 명령어 뒤에 해당 사용자의 계정 이름을 입력하십시오.

finger alec

`finger` 명령어를 특정 사용자에 대해 실행하면 더 자세한 정보를 제공합니다. 몇 가지 추가 정보가 표시됩니다:

디렉토리: 사용자의 홈 디렉토리.
: 사용 중인 셸입니다.
이후: 사용자가 로그인한 시간, 날짜, 터미널 및 IP 주소.
메일: 메일이 있는 경우 표시됩니다. 최근에 메일을 확인했다면 확인 시간이 표시됩니다. Alec은 아직 읽지 않은 메일이 없습니다.
계획: 사용자가 홈 디렉토리에 `.plan` 및 `.project` 파일을 만들고 현재 작업 중인 내용을 간략하게 작성하면 해당 파일의 내용이 여기에 표시됩니다. 요즘에는 거의 사용되지 않는 방식입니다. Alec의 경우 계획이 없다고 표시되는데, 이는 그의 경력 전략에 대한 비판이 아니라 단순히 `.plan` 파일을 업데이트하지 않았다는 의미입니다.

같은 방법으로 Mary의 정보를 확인하면 Mary는 `.plan`과 `.project` 파일에 설명을 기록해 놓았다는 것을 알 수 있습니다.

finger mary

실명으로 사용자 정보 보기

`finger` 명령어는 사용자의 실명을 사용하여 정보를 검색할 수 있습니다. 계정 이름을 기억하지 못할 때 실명을 사용하십시오.

finger alec tumovit

덤으로 해당 사용자의 계정 이름도 알 수 있습니다.

`.plan` 및 `.project` 파일 생략하기

`.plan` 및 `.project` 파일 요약을 보고 싶지 않다면 `-p` (no plan) 옵션을 사용하십시오.

finger -p mary

Mary는 `.plan` 및 `.project` 파일을 활성 상태로 가지고 있지만, `finger` 명령어는 이러한 파일을 무시하고 그 내용을 출력하지 않습니다.

긴 목록 옵션 사용하기

긴 형식으로 모든 사용자 목록을 보려면 `-l` (long format) 옵션을 사용하십시오.

finger -l

이렇게 하면 로그인한 모든 사용자의 정보가 긴 형식으로 출력됩니다.

`pinky` 또는 `finger` 선택하기

리눅스는 종종 선택권을 제공합니다. `pinky` 명령어를 사용하거나 `finger`를 사용할 수 있습니다.

둘의 주된 차이점은 `pinky`가 더 세밀하게 원하는 정보를 선택하고 불필요한 정보는 제거할 수 있는 추가 옵션을 제공한다는 것입니다. `pinky`는 기본적으로 설치되어 있다는 장점도 있습니다.