如何在 Linux 上使用小指命令

想知道有哪些用户正在使用你的 Linux 计算机吗? 别着急,不用到处翻找,只需动动小指,就能搞定!

为了获取关于 Linux 或类 Unix 系统上登录用户的信息,许多系统管理员可能会使用 finger 命令。 这当然是一个方法,但很多系统上默认并没有安装 finger,因此你可能无法直接使用它。

除了安装 finger (假设你有权限),你还可以使用 pinky,一个 轻量级且更现代化的替代品。 在我们测试期间,包括 Ubuntu、Manjaro 和 Fedora 在内的所有 Linux 发行版都默认安装了 pinky。

精巧之处

正如我们对 Linux 命令所期望的那样,pinky 提供了相当多的命令行选项 (其中只有两个选项有名称)。 但令人惊讶的是,它们的作用都是减少 pinky 生成的报告中的信息量。 你可以根据自己的需要,裁剪输出,只保留感兴趣的部分。

如果说 pinky 本身已经很轻量级了,那么当你去除不需要的信息后,它会变得更加轻巧。

如何使用 pinky

使用 pinky 最简单的方法是在终端输入 `pinky` 并按 Enter 键。

pinky

默认输出是 “短格式” 报告。

短格式报告包含以下列:

登录: 登录用户的用户名。
姓名: 用户的全名 (如果已知)。
TTY: 用户登录的终端类型。 通常是 pts (伪终端)。`:0` 表示连接到计算机的物理键盘和显示器。
空闲: 用户空闲的时间。 如果用户在 X-windows 显示管理器下运行且不提供此信息,则会显示 `????`。
时间: 用户登录的时间和日期。
地点: 用户登录的位置。通常是远程计算机的 IP 地址。`:0` 条目表示连接到 Linux 计算机的物理键盘和显示器。

有时 pinky 无法填充所有列。 如果某些信息缺失,它不会在该列中显示任何内容。 例如,系统管理员可能没有记录名为 “dave” 的用户账户的完整姓名,pinky 则会在 “姓名” 列中显示 “dave”,而不是显示全名。

报告特定用户

默认情况下,pinky 会报告所有已登录的用户。 要报告特定用户,请在命令行中指定用户名。

pinky mary

正如预期的那样,pinky 只会报告名为 “mary” 的用户信息。

省略列标题

要从短格式报告中删除列标题,请使用 `-f` 选项。

pinky -f

列标题已从报告中删除。

省略姓名列

使用 `-w` 选项,pinky 将会省略 “姓名” 列。

pinky -w alec

报告中不再显示 “姓名” 列。

省略姓名和位置列

`-i` 选项会使 pinky 省略 “姓名” 和 “地点” 列。

pinky -i robert

pinky 生成的报告不再包含 “姓名” 和 “地点” 列。

省略姓名、空闲和位置列

要进一步精简信息,可以使用 `-q` 选项来省略 “姓名”、”空闲” 和 “地点” 列。

pinky -q john

pinky 很听话地从报告中删除了 “姓名”、”空闲” 和 “地点” 列。 现在只剩下三列了。 如果我们再删除更多,那就根本算不上是报告了。

长格式报告

`-l` (长格式报告) 选项会使 pinky 在报告中提供关于用户的更多信息。 你必须在命令行中提供用户名。

(这是两个有名称的命令行选项之一。另一个是 `-s` (短格式报告) 选项。由于默认输出就是短格式报告,因此 `-s` 选项实际上没有任何作用.)

pinky -l mary

长格式报告包含更多额外信息。

长格式报告中提供的信息包括:

登录名: 登录用户的用户名。
真实姓名: 用户的全名 (如果已知)。
目录: 用户的主目录。
Shell: 用户正在使用的 shell。
项目: 用户的 `~/.project` 文件的内容 (如果存在)。
计划: 用户的 `~/.plan` 文件的内容 (如果存在)。

`~/.project` 文件的本意是用于保存用户当前从事的项目或任务的简短描述。 同样,`~/.plan` 文件的内容是对该项目的实际任务的简短描述。 这使得管理人员和相关人员可以了解个人正在从事的工作以及该工作属于哪个项目。 这种方式现在很少使用,对绝大多数人来说,这些字段可能是空白的。

让我们看看 Alec 的情况:

pinky -l alec

Alec 既没有 `~/.plan` 文件,也没有 `~./project` 文件。

省略目录和 Shell 行

要从长格式报告中省略关于主目录和 shell 的行报告,请使用 `-b` 选项。

pinky -l -b robert

关于主目录和 shell 的行已从报告中删除。

省略项目文件

要从长格式报告中省略项目行,请使用 `-h` 选项。

pinky -l -h mary

不再报告 `~/.project` 文件的内容。

省略计划文件

要从长格式报告中省略计划行,请使用 `-p` 选项。

pinky -l -p mary

不再报告 `~/.plan` 文件的内容。

为什么有这么多省略选项?

为什么一个生成报告的命令会有这么多选项来删除信息? 这是为了让你专注于你真正需要的信息。 这样,你就可以把小麦从谷壳中分离出来,并决定哪个是哪个。