Linux ETC

터미널 창으로 메시지 보내기

2008.05.19 20:27

호스트웨이 조회 수:44191

wall 명령과 echo 명령을 사용해서 내 시스템에 접속 한 사용자의 화면에 메시지를 보내는 방법.

wall 명령은 내 시스템에 접속한 전체 사용자에게 같은 메시지를 보낸다.
아래와 같은 방법 으로 사용하면 된다.

- 보낼 메시지가 한줄일때

[root@localhost /]# wall Hi nice to meet you
[root@localhost /]#
Broadcast message from root (pts/0) (Fri Jan 21 15:38:09 2005):

Hi nice to meet you

[root@localhost /]#

- 두줄 이상의 메시지를 보낼때
[root@localhost /]# wall
Hi !! ^^
Nice to meet you..
Have nice day.. ^^ <- 메시지를 보낼때 ctrl+d 입력
[root@localhost /]#
Broadcast message from root (pts/0) (Fri Jan 21 15:39:12 2005):

Hi !! ^^
Nice to meet you..
Have nice day.. ^^

[root@localhost /]#

위와 같은 방법을 사용하면 현재 시스템에 접속한 모든 사용자가 메시지를 받아보게 된다..

특정 사용자에게만 메시지를 보낼 경우는 아래와 같이 간단히 echo 와 >(redirection)를 이용해서 보낼수 있다.
우선 who 명령으로 시스템에 접속한 사용자를 확인 한다.

[root@localhost /]# who
root     pts/0        Jan 21 15:05 (help.freeb.net)
root     pts/1        Jan 21 15:21 (help.freeb.net)
test     pts/2        Jan 21 15:22 (help.freeb.net)
jook       pts/3        Jan 21 15:22 (help.freeb.net)

pts/3 에 접속해 있는 jook라는 사용자에게 메시지를 보내려면, 아래와 같이 입력 하면 된다.

[root@localhost /]# echo "Hi.. nice to meet you.. ^^" > /dev/pts/3
[root@localhost /]#

그러면.. pts/3 에 접속해 있는 jook라는 사용자만 메시지를 받아보게 된다.