ioerror

write 사용법 및 옵션 - 터미널에 접속한 다른 사용자에게 실시간 메시지 전송 본문

OS

write 사용법 및 옵션 - 터미널에 접속한 다른 사용자에게 실시간 메시지 전송

반응형

write 사용법 및 옵션 - 터미널에 접속한 다른 사용자에게 실시간 메시지 전송

write - write to another user

터미널에 접속한 다른 사용자에게 실시간 메시지 전송

write 명령어는 동일한 시스템(유닉스/리눅스)에 현재 로그인된 다른 사용자의 터미널 화면(TTY/PTS)으로 실시간 텍스트 메시지를 직접 전송하는 CLI 유틸리티이다. 네트워크 공유 서버나 다중 사용자 환경에서 긴급 공지, 작업 협조 요청, 단순 대화 등을 전달할 때 사용되며, 상대방이 메시지 수신을 수락(mesg y)한 상태에서 동작하다.

1. 명령어 용도

  • 동일한 리눅스/유닉스 서버에 접속 중인 특정 사용자에게 즉시 화면 메시지를 보낼 때 사용하다.
  • 특정 사용자가 여러 터미널 세션(pts/0, pts/1 등)을 열어놓은 경우 지정한 터미널 라인으로 메시지를 출력할 때 사용하다.
  • 시스템 점검이나 공지사항 전달 시 별도의 메신저 프로그램 없이 터미널 상에서 직접 상호 대화를 진행할 때 사용하다.

2. 명령어 서식

Bash
 
write user [ttyname]

3. 명령어 옵션

  • 주요 옵션 소개 테이블
옵션 설명 사용가능 OS 및 쉘
-h, --help 명령어 사용법 및 도움말 정보를 출력하고 종료하다. [Linux/GNU]
-V, --version 명령어의 버전 정보를 출력하고 종료하다. [Linux/GNU]

※ POSIX 표준의 write 명령어는 별도의 플래그 옵션을 가지지 않으며 사용자 이름(user)과 선택적 터미널 이름(ttyname)만 인자로 받다.

  • 명령어 옵션 사용시 결과 예시
Bash
 
# 1. 특정 사용자에게 메시지 전송 시작
write john
# 실행 후 입력 대기 상태가 되며, 보낼 메시지를 입력하고 Enter를 누르다.
# Hello John, please check the database logs.
# 종료 시 Ctrl + D (EOF) 입력.

# 수신자(john)의 터미널에 표시되는 내용 예시:
# Message from alice@server on pts/0 at 14:30 ...
# Hello John, please check the database logs.
# EOF

# 2. 동일 사용자의 특정 터미널 세션을 지정하여 메시지 전송
write john pts/2
# john 사용자가 로그인한 여러 터미널 중 pts/2 세션으로 메시지가 전달되다.

# 3. 쉘 스크립트 또는 파이프를 이용한 한 줄 메시지 전송
echo "Server maintenance in 10 minutes." | write john
# output: john의 터미널 화면에 파이프로 전달된 메시지가 즉시 출력되다.

4. 명령어 특이사항(유의사항)

  • 수신 거부 설정(mesg): 메시지를 받는 사용자가 터미널에서 mesg n 명령을 실행해 메시지 수신을 차단한 경우 write: user has allowed write permission to be refused 오류가 발생하며 메시지가 전송되지 않다.
  • 메시지 전송 종료 방법: 메시지 입력을 마치고 대화를 종료하려면 줄 바꿈 후 Ctrl + D 키를 눌러 EOF(End of File) 신호를 전달해야 하다.
  • 가독성 저하 유의: 수신자가 편집기(vim 등) 작업이나 다른 명령어를 실행 중일 때 write 메시지가 도착하면 수신자의 터미널 화면 글자가 뒤섞일 수 있다. 이 경우 수신자는 Ctrl + L 키를 눌러 터미널 화면을 새로고침해야 하다.

관련 명령어들

  • mesg: 다른 사용자의 write 또는 wall 메시지 수신 허용 여부(y/n)를 설정하다.
  • wall: 현재 시스템에 로그인한 모든 사용자의 터미널로 브로드캐스트 메시지를 전송하다.
  • talk: 두 사용자 간의 실시간 분할 화면 대화를 가능하게 하는 텍스트 기반 채팅 도구이다.
  • who: 현재 시스템에 접속해 있는 사용자 목록과 TTY/PTS 정보를 확인하다.
  • finger: 시스템 사용자의 상세 정보 및 로그인 상태를 확인하다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

반응형
Comments