누가 명령합니까? - + 무엇을 해야 할까요? 기호는 -T 옵션을 나타냅니까?

누가 명령합니까? - + 무엇을 해야 할까요? 기호는 -T 옵션을 나타냅니까?

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 writeman 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)

메시지 상태가 이면 ?최종 장치를 알 수 없음을 의미합니다.

다음은 이 옵션과 관련된 GNU who정보 매뉴얼( )의 내용입니다 .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.

관련 정보