现在位置: 首页 > Linux 教程 > 正文

Linux finger 命令

Linux 命令大全 Linux 命令大全

finger 命令用于查看本地或远程系统中用户的详细信息,包括登录名、全名、登录时间、空闲时间等。

它比 whoid 命令提供了更丰富的用户信息展示,适合在多人共用服务器上了解其他用户的状态。

finger 是早期 Unix 系统中常用的用户信息查询工具,名称源自「指向」某人的意思。

它可以从 /etc/passwd 的 GECOS 字段中读取用户的个人描述信息,并展示其登录状态。

虽然出于安全考虑,现代 Linux 发行版默认不再安装 finger,但它在内网环境和教学场景中仍然有使用价值。

finger 需要系统运行 fingerd 服务才能查询远程用户信息。出于安全原因,大多数公网服务器已禁用该服务。

命令语法

finger 的基本语法如下:

finger [选项] [用户@主机]

如果不指定任何参数,则列出当前登录的所有用户的摘要信息。

如果指定用户名,则显示该用户的详细信息。

指定 用户@主机 格式可以查询远程主机上的用户信息。

finger 的常用选项整理如下:

选项功能示例
-s以简短格式显示用户信息finger -s
-l以详细长格式显示用户信息finger -l runoob
-p不显示 .plan 和 .project 文件内容finger -p runoob
-m禁止对用户名进行匹配查找finger -m runoob

详细用法

查看当前登录用户

不带参数运行 finger,会列出系统中所有已登录用户的摘要信息。

# 查看所有当前登录的用户
$ finger
Login     Name           Tty      Idle  Login Time   Office     Office Phone
root      root           tty1           May 19 09:00
runoob    Zhang San      pts/0      3  May 19 10:30  A-301      010-12345678

输出中包含登录名、全名、终端、空闲时间、登录时间、办公室和电话等信息。

查看指定用户详细信息

指定用户名可以查看该用户的完整信息。

# 查看 runoob 用户的详细信息
$ finger runoob
Login: runoob                    Name: Zhang San
Directory: /home/runoob          Shell: /bin/bash
Office: A-301, 010-12345678      Home Phone: 010-87654321
Last login Tue May 19 10:30 (CST) on pts/0
Mail last read Tue May 19 09:00 2026 (CST)
No Plan.

详细信息包括用户主目录、默认 Shell、最后登录时间、邮件阅读时间等。

「No Plan.」表示用户主目录下没有 .plan 文件。创建该文件后,其内容将在此处显示,可以用于展示个人简介或当前状态。

简短格式输出

使用 -s 选项可以只输出关键字段,适合快速查看。

# 以简短格式查看用户信息
$ finger -s runoob
Login     Name           Tty      Idle  Login Time   Office     Office Phone
runoob    Zhang San      pts/0      3  May 19 10:30  A-301      010-12345678

简短格式省略了主目录、Shell、最后登录时间等详细内容,输出为一行表格。

禁止模糊匹配

默认情况下,finger 会尝试匹配所有包含指定字符串的用户名、全名等信息。-m 可以禁用此行为,只精确匹配用户名。

# 精确匹配用户名,不搜索全名和其他字段
$ finger -m runoob

当系统中存在与目标用户名相似的全名或别名时,-m 可以避免返回意外的结果。

查看多个用户

可以同时指定多个用户名,一次性查看多个用户的信息。

# 同时查看多个用户
$ finger runoob root
Login: runoob                    Name: Zhang San
Directory: /home/runoob          Shell: /bin/bash
Office: A-301, 010-12345678      Home Phone: 010-87654321
Last login Tue May 19 10:30 (CST) on pts/0
No Plan.

Login: root                      Name: root
Directory: /root                 Shell: /bin/bash
Last login Tue May 19 09:00 (CST) on tty1
No Plan.

查看远程用户信息

finger 支持查询远程主机上的用户,格式为 用户名@主机地址

# 查看远程主机上的用户信息(需要远程主机开启 fingerd 服务)
$ finger runoob@192.168.1.100
Login: runoob                    Name: Zhang San
Directory: /home/runoob          Shell: /bin/bash
Last login Tue May 19 08:00 (CST) on pts/1
No Plan.

远程查询需要目标主机运行 fingerd(finger 守护进程)并对外开放 79 端口。大多数云服务器出于安全考虑已禁用此功能。

配置 .plan 和 .project 文件

用户可以在主目录下创建 .plan.project 文件来展示个性化信息。

# 创建 .project 文件(单行项目说明)
$ echo "RUNOOB Platform Development" > ~/.project

# 创建 .plan 文件(多行计划或简介)
$ cat > ~/.plan << 'EOF'
当前任务:
1. 负责 RUNOOB 后端 API 开发
2. 维护数据库迁移脚本
3. Code Review 本周三之前完成
EOF

# 再次查看用户信息
$ finger runoob
Login: runoob                    Name: Zhang San
Directory: /home/runoob          Shell: /bin/bash
Office: A-301, 010-12345678      Home Phone: 010-87654321
Last login Tue May 19 10:30 (CST) on pts/0
Project: RUNOOB Platform Development
Plan:
当前任务:
1. 负责 RUNOOB 后端 API 开发
2. 维护数据库迁移脚本
3. Code Review 本周三之前完成

.project 文件内容显示为单行,.plan 文件内容可以有多行,适合写个人简介或当前工作任务。

.plan 文件默认多出的缩进是为了对齐排版,如果想去除缩进,可以在内容前添加一个空行。


与 who 和 w 命令的区别

命令信息丰富度主要用途典型场景
who基础仅列出登录用户、终端和登录时间快速检查谁在线上
w中等显示登录用户及当前运行的程序了解用户当前在做什么
finger详细显示用户完整信息(含联系方式、计划等)查看某个用户的详细档案

常见问题

现代 Linux 发行版(如 Ubuntu、Debian、CentOS)默认不安装 finger。需要手动执行 apt install fingeryum install finger 进行安装。

finger 的安装和使用可能带来安全风险:它会暴露用户的个人信息和登录状态。在企业服务器上使用前请确认安全策略允许。

finger 显示的办公室、电话等信息来源于 GECOS 字段,可使用 chfn 命令进行修改。

如果 finger 不显示任何用户信息,检查 /etc/passwd 中用户条目是否存在以及操作权限是否足够。


相关命令

命令功能
who显示当前已登录的用户
w显示已登录用户及其当前活动
id显示用户的 UID、GID 和所属组
chfn修改用户的 finger 信息(全名、电话等)
users以简洁列表显示当前登录用户
last显示用户的最近登录记录

Linux 命令大全 Linux 命令大全