man who
次の-T
オプションを表示する
-T, -w, --mesg
add user's message status as +, - or ?
いくつかのチュートリアルによると、who -T
実行時にこれらのシンボルが表示されるはずです。
私の場合は、-
ログインしたすべてのユーザーtty
と+
ログインしたすべてのユーザーを表示しますssh
。何も表示されません。?
- +は何をしますか?シンボルは-Tオプションを表しますか?
答え1
メッセージ状態は、ユーザーが特定のTTYからメッセージを受け入れたかどうかを示します。
ここで私のシェルセッションが実行されています/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
参照を使用)。man 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
の4つの可能な値を使用して端末ステータスを追加します。+
-
?
仕様これを次のように説明してください。
+ 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.