首页 > 教程 > Linux 命令手册 > Linux finger 命令 - 查看用户信息

Linux finger 命令 - 查看用户信息

finger 命令是 Linux / Unix 系统中用于查看用户信息的工具,可以查看本地或远程用户的详细信息,括登录名、真实姓名、空闲时间、登录时间、登录shell、目录等信息。

本教程基于官方的手册,为你全面的介绍 finger 命令的语法结构、使用用法。

安装 finger

在一些系统中,默认没有安装 finger 命令,如果想要使用 finger 命令首先需要安装 finger 命令。

1)在 Debian / Ubuntu 系统中安装 finger 命令:

# 更新软件源
sudo apt update
# 或者使用 doas
# doas apt update

# 安装 finger 命令
sudo apt install finger
# 或者使用 doas
# doas apt install finger

2)在 RHEL / AlmaLinux / Rocky Linux 系统中安装 finger 命令:

# 更新软件源
sudo dnf update
# 或者使用 doas
# doas dnf update

# 安装 finger 命令
sudo dnf install finger
# 或者使用 doas
# doas dnf install finger

finger 命令语法结构

如下给出 finger 命令的基本语法结构:

finger [-lmsp] [user ...] [user@host ...]

语法结构说明:

  • [-lmsp]:可用的选项,可选;
  • [user ...]:指定本地用户,可选;
  • [user@host ...]:指定远程用户,可选,可以使用@主机名查询远程的所有登录用户。
  • 当单独使用 finger 命令时,输出当前登录的所有用户的信息

finger 命令选项详解

finger 命令共有如下 4 个核心选项,以下将对每个选项做详细的解释说明:

选项 核心作用 使用说明
-s 在一行内以简洁形式输出信息,主要输出核心字段信息 显示的字段有:登录名、全名、终端名(Tty) 、空闲时间(Idle)、登录时间、办公地址、办公电话
登录时间的基本显示格式为:英文月 日 时:分;当登录时间超过6个月时,显示为:英文月 日 年)
当设备为未知、无空闲时间或登录时间时,显示的内容为*
-l 输出更加详细的信息,在 -s 选项的基础上,显示更详细的信息 显示的字段有:登录名、全名、根目录、登录 shell、登录信息行、邮箱状态、用户根目录下的特殊文件
邮箱状态有三种显示内容:No Mail.:无任何邮件;Mail last read DDD MMM ## HH:MM YYYY (TZ):用户已查看新邮件;New mail received ... / Unread since ...:有未读新邮件。
用户根目录下的特殊文件有:.plan.project.pgpkey.forward
终端权限说明:若没有写权限,在显示终端的那行的末尾追加 messages off
若用户多次登录,会按登录次数重复显示。
电话号码会按照其长度自动适用如下的规则格式化:11 位时格式化为 +N-NNN-NNN-NNNN;10/7 位时截取上述格式的对应部分进行格式化。
-p 在输出详细信息模式下,不输出特殊文件 需要与 -l 选项共同使用
不显示 .plan.project.pgpkey 文件的内容**(保留 -l 的其他所有信息)。
-m 只按照登录名查询对应用户,不按照全名查询对应用户 默认情况下,finger 命令会同时按照登录名和全名搜索对应的用户信息

finger 命令使用示例

以下示例基于 Debain / Ubuntu 等主流 Linux 发行版进行说明,用户需要更改为你自己系统中的用户。

查看当前所有登录用户

直接适用 finger 命令,不带任何选项和参数,会输出所有的当前登录的用户:

finger

系统会输出类似如下的信息:

Login     Name       Tty      Idle  Login Time   Office     Office Phone
lisan     lisan      tty7      29d  Dec 16 20:15 (:0)

短格式查询指定用户

适用 -s 选项可以以简短的形式输出用户信息:

finger -s lisan

会输出类似如下的信息:

Login     Name       Tty      Idle  Login Time   Office     Office Phone
lisan     lisan      tty7      29d  Dec 16 20:15 (:0)

长格式查询指定用户

适用 -l 选项可以以详细信息的形式输出用户信息:

finger -l lisan

会输出类似如下的信息:

Login: lisan                    Name: lisan
Directory: /home/lisan                  Shell: /usr/bin/bash
On since Tue Dec 16 20:15 (CST) on tty7 from :0
   29 days idle
No mail.
No Plan.

查询远程主机的用户

使用 user@host@host 的形式查询远程主机的用户信息:

# 查询远程主机 192.168.1.100 上的 lisan 用户的信息
finger lisan@192.168.1.100

# 查询远程主机 192.168.1.100 上所有登录用户的信息
finger @192.168.1.100

特殊文件说明

finger 会读取用户根目录下的一些特殊文件,如下将给出一些特殊文件的解释说明:

文件 作用
~/.nofinger 禁止远程查询该用户的信息,使用该文件时,用户根目录的权限使其他用户可执行。
chmod o+x /home/lisan # 赋予其他用户根目录的执行权限
touch /home/lisan/.nofinger # 创建.nofinger文件
~/.plan 个人计划文件
~/.project 项目信息文件
~/.pgpkey 存放 PGP 公钥的文件
~/.forward 邮件转发配置文件

结语

finger 命令是 Linux / Unix 系统中用于查看用户信息的一个命令,可以查询用户的详细信息。

在本文中我们介绍了 finger 命令的基本语法结构、详细的解释了 finger 命令的选项,并给出了 finger 命令的使用示例,在学习完本教程后,你就能够完全掌握 Linux 系统中的 finger 命令。