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 命令。