通过man who
出现以下-T
选项
-T, -w, --mesg
add user's message status as +, - or ?
根据一些教程,如果执行who -T
应该会出现这些符号。
在我的情况下,-
显示所有已登录的用户tty
以及+
所有已登录的用户ssh
- 没有任何内容?
- + 有什么作用?符号代表-T选项?
答案1
“消息状态”告诉您用户是否接受该特定 TTY 上的消息。
在这里,我的 shell 会话正在运行/dev/pts/3
:
$ tty
/dev/pts/3
我在此 TTY 以及我正在使用的其他 TTY 上的消息状态为 ,这+
意味着我接受消息:
$ who -T
kk + pts/0 2022-04-23 14:32 (192.168.1.107)
kk + pts/1 2022-04-23 13:02 (tmux(2971).%0)
kk + pts/2 2022-04-23 13:02 (tmux(2971).%1)
kk + pts/3 2022-04-23 13:02 (tmux(2971).%2)
kk + pts/4 2022-04-23 14:32 (tmux(2971).%3)
然后我关闭其他用户向我发送消息的功能(使用例如write
; seeman write
和man mesg
):
$ mesg n
这会影响消息状态:
$ who -T
kk + pts/0 2022-04-23 14:32 (192.168.1.107)
kk + pts/1 2022-04-23 13:02 (tmux(2971).%0)
kk + pts/2 2022-04-23 13:02 (tmux(2971).%1)
kk - pts/3 2022-04-23 13:02 (tmux(2971).%2)
kk + pts/4 2022-04-23 14:32 (tmux(2971).%3)
如果消息状态为?
,则表示终端设备未知。
以下内容来自 GNUwho
信息手册 ( info '(coreutils)who invocation'
),与该选项相关-T
:
After each login name print a character indicating the user’s message status: ‘+’ allowing ‘write’ messages ‘-’ disallowing ‘write’ messages ‘?’ cannot find terminal device
该who
实用程序是一个 POSIX 实用程序,在 POSIX 标准中,该选项添加了一个终端状态,-T
具有四个可能的值:+
、、-
和(空格)。 ?
规格像这样描述这些:
+ The terminal allows write access to other users. - The terminal denies write access to other users. ? The terminal write-access state cannot be determined. <space> This entry is not associated with a terminal.