Linux 系统中 `who` 命令的全面指南319
在 Linux 系统中,`who` 命令是一个强大的工具,用于显示当前登录用户的信息。它提供有关用户名、登录时间、终端类型和其他状态信息的详细报告。熟练使用 `who` 命令对于系统管理员和高级用户来说至关重要,因为它使他们能够快速了解系统上谁在做什么以及发生了什么。
`who` 命令的语法
`who` 命令的语法很简单:```
who [选项]
```
常见的选项包括:* `-a`:显示所有用户的详细信息,包括空闲用户。
* `-b`:显示引导时间。
* `-d`:显示空闲用户。
* `-H`:以主机名显示用户名。
* `-i`:显示正在执行的进程的 PID。
* `-l`:显示用户登录时间。
* `-m`:显示用户的机器信息。
* `-p`:显示用户当前进程数。
* `-q`:仅显示登录用户的用户名。
* `-r`:显示登录用户的运行时间。
* `-s`:显示当前 shell。
* `-T`:显示登录时间。
* `-u`:显示用户名。
* `-w`:显示用户正在执行的进程列表。
`who` 命令的输出
`who` 命令的输出以表格形式显示以下信息:* `USER`:登录用户的用户名。
* `LINE`:用户登录的终端或虚拟控制台。
* `FROM`:用户登录的远程主机(如果是通过 SSH)。
* `LOGIN_TIME`:用户登录的时间和日期。
* `IDLE`:用户上次键入命令的时间(以分钟为单位)。
* `WHAT`:用户正在执行的命令或进程。
示例用法
以下是一些 `who` 命令的示例用法:```
# 显示所有用户的信息
who
# 显示空闲用户的信息
who -d
# 以主机名显示用户名并显示运行时间
who -H -r
# 显示正在执行的进程的 PID
who -i
# 显示用户的机器信息
who -m
```
高级用法
`who` 命令可以与其他命令结合使用以提供更高级的信息。例如:```
# 显示当前登录用户的列表并按登录时间排序
who | sort -k 3
# 查找用户名为 "john" 的用户
who | grep john
# 显示空闲时间超过 30 分钟的用户
who | grep -v 'idle.*
2025-01-17