내발자국[동호회]

[UNIX] 인터넷을 위한 유닉스명령어 (5)

松巖 1996. 4. 23. 08:58
C) 다른 시스템 사용자에게 편지를 보낼 수 있는 명령들

TCP/IP 에서는 다양한 종류의 mail 명령이 있으나, 본 메뉴에서는 Berkely
mail과 Hewlett-Packard에서 사용하여 발전한 elm을 중심으로 한글 메일의 처리
방법을 포함하며 관계된 화일들이나 명령들을 설명하고 있다.
1) mail 4) .forward 화일
2) elm 5) biff 명령
3) pine
1) mail
UNIX 시스템에서 메일 보내고 받는 사항을 자유자제로 사용 한다는 것은 쉬운
일이 아닙니다. 우선 다음에 기술한 내용을 차례대로 익히고, 숙달이 된다면 그후
에 man 명령을 이용하여 익히셔야 합니다.
A) .mailrc 화일 D) 메일을 보내는 방법
B) mail 관련 명령 E) 메일을 읽는 방법
C) 한글 environoment F) 메일 spool 관리법
UCB mail의 자세한 내용은 sun330.snu.ac.kr의 머신에 anonymous FTP를 사용하
여 /pub/Unix/Beginner 디렉토리에 있는 Quick_reference_mail.* 화일들을 참고
하십시요.
A) .mailrc 화일
.mailrc 화일은 각 사용자가 mail 명령을 사용할때의 상태등을 기록하여 두는
화일로서, 반드시 자신의 홈 디렉토리에 위치 하여야 한다.
.mailrc 화일에 다음의 내용이 있다면 mail 명령을 사용할때 자동적으로 메일
의 제목(Subject)과 참조하여 보낼(CC:Carbon Copy) 사람의 주소를 입력하도록 요
구한다.
set askcc
set asksub
그 밖에도 메일을 보내다가 취소한 내용을 저장하는 화일의 지정, 프린트 방법
의 정의, 메일을 읽을때 현재 위치의 메일을 알려주는 문자, mail명령을 사용할때
의 prompt의 내용, 메일 사용중에 연결하여 사용할 shell의 종류, 메일을 읽을 때
의 출력되는 메일 head 수의 한계등을 정의하고 있다.

B) mail 관련 명령
vacation명령은 사용자가 여러가지 이유로 장기간 메일을 볼수 없을때 사용하는
명령으로 명령을 사용하여 메일을 받을수 없는 이유등을 기술하면
(.vacation.msg 화일) 자신에게 오는 모든 메일에 대하여 자동적으로 답을 해줍니
다.
그밖에도 비밀을 유지할 수 있는 메일 송수신법으로는 xget xsend, enroll등의
명령이 있다.
또 /etc/aliases화일에 기록된 내용으로 여러 사용자에게 하나의 mail명령으로
동보 통신을 수행할 수 있다.
- 사용자 관련 -
/usr/ucb/mail UCB 메일 program
/usr/bin/mailtool window에서 동작하는 mail
/usr/ucb/biff mail notification enabler
/usr/bin/xsend 암호 메일 sender
/usr/bin/xget 암호 메일 receiver
/usr/bin/enroll 암호 메일 message를 받기 위한것
- 관리자 관련 -
/usr/lib/sendmail mail routing program
/usr/lib/sendmail.mx domain name resolver와 동작하는 routing
program
/usr/lib/sendmail.main.cf sample Configuration file
/usr/lib/sendmail.subsidiary.cf '' ''
/usr/ucb/newaliases /usr/lib/sendmail 로의 symbolic link
/usr/etc/in.comsat mail notification daemon
/usr/etc/syslogd sendmail이 사용하는 error massage logger
/var/spool/mail 전달된 메일에대한 spool 디렉토리
/var/spool/mqueue 네트워크를통해서 나가는 메일의 spool 디렉토리
/etc/aliases mail forwarding information
/etc/sendmail.cf mail routing을 위한 configuration file"

C) 한글 environoment
UCB mail에서 한글을 주고 받고자 하면 다음과 같은 내용을 자신의 .mailrc화일
에 정의하여야 합니다.

set VISUAL=/usr/local/bin/Edit
set crt=1
set PAGER=/usr/local/bin/iso2ks | /usr/ucb/more

만일 /usr/local/bin/Edit라는 화일이 다음과 같이 구성되어 있지 않으면 시스
템 관리자에게 문의하십시요. 만일 여러분의 시스템이 2 byte완성형을 지원하지
않는 다면 이화일들을 다르게 구성하면 됩니다. 어느 시스템이 던지 ks5601 한글
코드로상호 교환하는 프로그램만 있으면 가능합니다. 자세한 내용은 garam에
anonymous FTP하여 /pub/HANGUL/ 디렉토리에 있는 내용들를 study 하십시오.
#!/bin/sh
/usr/local/bin/iso2ks \$1 \$1.ks # 코우드 변환
/usr/local/hvi \$1.ks # 한글 에디터
/usr/local/bin/ks2iso \$1.ks \$1 # 코우드 변환
/usr/bin/rm \$1.ks # RM 명령 "

D) 메일을 보내는 방법

메일을 보내는 방법은 여러 가지가 있읍니다. 사용자가 초보자일 경우 1번
부터 차례대로 익히십시오.
1) UNIX meta(메타) 문자의 이용
2) mail 명령의 이용
3) mail 을 읽는 중간에 메일을 보내는 방법
4) mail에 답하는 방법
UCB mail의 자세한 내용은 sun330.snu.ac.kr의 머신에 anonymous FTP를 사용하
여 /pub/Unix/Beginner 디렉토리에 있는 Quick_reference_mail.* 화일들을 참고
하십시요.

1) UNIX meta(메타) 문자의 이용
UNIX에는 '<' 문자의 활용법이 있읍니다.
(주의:이방법으로는 한글을 보낼수 없읍니다.)
example% mail dove@garam.kreonet.re.kr test라는 화일 명으로 보내고자 하는 메일의 내용을 editor로 작성한 후에 위의
명령을 이용하면 됩니다. 위와 같은 명령은 메일의 내용중 제목을 기록하지 않는
결과가 되므로 수신자가 메일의 내용을 쉽게 파악하고 관리하기 쉽도록 하기 위
하여 다음과 같이 제목(Subject)를 기록하여 메일을 보낼 수 있읍니다.
example% mail -s test dove@garam.kreonet.re.kr 이 메일을 수신하는 사람은 garam이라는 시스템의 dove라는 사용자이고, garam
이라는 장비는 한국 ('kr')에 있는 연구소('re')에 있는 kroenet이라는 네트워크
('kreonet') 에 있고, 이 메일의 제목은 'test' 입니다.

2) mail 명령의 이용
example% mail dove@garam.kreonet.re.kr
Subject: test
~v
.
Cc:
example%
mail 명령을 이용하여 위와 같이 작성하면 세번째줄의 명령을 입력하였을때 화
면이 에디터로 바뀌어 보내고자 하는 메일의 내용을 작성할 수 있읍니다. 에디터
에서 빠져 나올때는 ':wq'를 하여 내용을 저장한 후에 빠져 나와야하며 어떤 에
디터를 쓸것인지 는 자신의 홈 디렉토리에 .mailrc화일에 정의 되어있다.
Subject: 와 Cc:가 출력되는 것은 사용자의 홈 디렉토리에 .mailrc에 정의되어
있기 때문 입니다.

3) mail을 읽는 중간에 메일을 보내는 방법
example% mail
Mail version SMI 4.0 Thu Nov 15 10:09:47 PST 1990 Type ? for help.
'/usr/spool/mail/your-login-name': 1 messages 1 new
1 khhan@ns.kreonet.re.kr Sat Sep 5 18:21 45/1361 Scheduled outage
of
{Mail}& m dove@kreonet.re.kr
Subject: test
~v
(continue)
.
Cc:
{Mail}& q
Held 1 messages in /usr/spool/mail/your-login-name
example%
mail 명령을 위와 같이 사용하면 자신에게 보내온 메일들을 읽을 수 있다.
이때 {Mail}& 는 자신의 홈 디렉토리 밑에 .mailrc화일에서 정의한 프롬프트 이
고, 이 프로프트 상에서 단지 m dove 라고 입력하면 dove라는 사용자에게 메일을
보내는 상태로 변경되어 ~v로 .mailrc에서 정의한 에디터로 작업을 할 수 있다."

4) mail에 답하는 방법
example% mail
Mail version SMI 4.0 Thu Nov 15 10:09:47 PST 1990 Type ? for help.
'/usr/spool/mail/your-login-name': 1 messages 1 new
1 khhan@ns.kreonet.re.kr Sat Sep 5 18:21 45/1361 Scheduled outage
of
{Mail}& r 1
To: dove
Subject: Re: test
~v
(continue)
.
Cc:
{Mail}& q
example%
mail 명령을 위와 같이 사용하면 자신에게 보내온 메일들을 읽을 수 있다.
이때 {Mail}& 는 자신의 홈 디렉토리 밑에 .mailrc화일에서 정의한 프롬프트 이
고, 이 프로프트 상에서 단지 'r 1'라고 입력하면 1번 메일을 보낸 주소로 대답하
는 상태로 변경되어 ~v로 .mailrc에서 정의한 에디터로 작업을 할 수 있다."

E) 메일을 읽는 방법

mail 명령을 이용하면 다음과 같이 자신에게 온 메일을 mail 명령이 읽읍니다.
example% mail
Mail version SMI 4.0 Thu Nov 15 10:09:47 PST 1990 Type ? for help.
'/usr/spool/mail/your-login-name': 1 messages 1 new
1 khhan@ns.kreonet.re.kr Sat Sep 5 18:21 45/1361 Scheduled outage
of
{Mail}&
위와 같이 '{Mail}&'이라는 프롬프트(자신의 홈디렉토리의 .mailrc에서 정의)
에서 보고자하는 메시지의 번호를 입력하면 된다.
UCB mail의 자세한 내용은 sun330.snu.ac.kr의 머신에 anonymous FTP를 사용하
여 /pub/TOUR/beginner 디렉토리에 있는 Quick_reference_mail.* 화일들을 참고
하십시요.

F) 메일 spool 관리법

각 사용자에게온 메일들은 /usr/spool/mail/ 이라는 디렉토리에(UCB mail의 경
우) 공통으로 보관이 되고 사용자가 메일을 읽는 명령이 이를 읽고 처리 합니다.
따라서 사용자의 메일을 계속 지우지 않고 보관하는 것은 시스템 관리자에게
어려움을 줄수 있을 뿐 아니라 자료의 보관에 대한 신빙성이 떨어지므로 Folder
의 개념을 이용하여 같은 종류의 메일들을 같은 folder에 저장하여 관리하여야 합
니다.
저장은 's folder-name'으로 합니다. (mail읽기 상태에서 같은 이름의 folder로
저장하면 앞에 내용이 없어지는 것이 아니라 mail format에 마추어 추가 된다.)
각 사용자는 다음의 내용으로 자신에게 온 메일을 관리하여야 한다.
1. 자신의 홈디렉토리에 'mkdir Mail' 명령을이용하여 디렉토리를 만든다.
2. 메일의 발송과 읽기, 보관등은 위의 디렉토리에서만 한다.
3. 메일 check는 하루에 한번 이상하고 spool은 항상 비워둔다.
4. 같은 종류의 메일들은 같은 이름의 folder 에 저장한다.
5. 저장해 두었던 메일들은 mail -f Foldername으로 읽을 수 있다."

2) elm
elm은 다음과 같은 장점과 특성이 있다.
O 대화형 시스템 O 사용자 관점의 시스템
O 화면 지향형 메일 시스템 O 1986년 Dave Tayler가 만듬
O Hewlett-Packard 연구소 O Usenet community 의 public software
elm 은 현재 한글 처리가 가능하고 여러분에 시스템에 elm 을 설치하시려면,
에 있는 anonymous FTP 디렉토리중에 /pub/HANGUL/mail/
디렉토리에 있는 화일들을 참조 하십시오.
A) elmrc 화일 D) 메일을 보내는 방법
B) elm 관련 명령 E) 메일 spool 관리법
C) 한글 environoment
A) elmrc 화일
elmrc 화일은 각 사용자가 elm 명령을 사용할때의 상태등을 기록하여 두는 화일
로서 최초에 elm명령을 사용하면 elm을 setting할것인가를 묻고, y(yes)라고 입
력하면 사용자의 홈 디렉토리에 .elm 디렉토리를 생성하고 그 밑에 elmrc화일을
생성한다.
elmrc 화일을 수정하는 방법은 두가지가 있다.

1. 에디터를 이용하는 방법
2. elm을 읽고 있는 상태에서 'o(ption)'을 눌러서 설정한 후
'>'문자를 이용하여 저장하는 방법
elm은 mail에서와 유사하게 운영되고 사용된다.
elmrc 화일에 대한 한글로 정리한것을 에서 볼 수 있다.
B) elm 관련 명령
autoreply 명령은 사용자가 여러가지 이유로 장기간 메일을 볼수 없을때 사용하
는 명령으로 명령을 사용하여 메일을 받을수 없는 이유등을 에디터를 이용하여
작성한 후 명령을 사용하면 자신에게 오는 모든 메일에 대하여 자동적으로 답을
해줍니다.
그밖에도 자신을 중심으로 alias를 작성하는 newalias, alias 내용을 검색하
는 listalias, 수신된 메일의 갯수 를 알수 있는 frm, 메일 발송을 위해 작성
중에 다른 수신된 메일을 첨가하여 보낼 수 있는 readmsg 명령이 있다.
또 /etc/aliases화일에 기록된 내용으로 여러 사용자에게 하나의 elm 명령으로
동보 통신을 수행할 수 있다.
/usr/local/bin/
autoreply : mail에 자동적으로 reply해주는 명령이다.
answer : mail 의 alias의 내용을 검색
checkalias : alias로 정의된 것을 보고 check한다.
fastmail : mail을 빠르게 일괄 처리한다.
frm : 수신한 message의 from과 subject list를 display한다.
listalias : alias로 정의 되어 있는 list을 display한다.
messages : 수신한똥essage의 수을 display한다.
newalias : alias 화일을 재생성하는 명령
newmail : spool을 조절할 수 있는 program
filter : 사용자 정의 형식을 통해 관리할 수 있는 명령
printmail : 모든 message을 display한다.
wnewmail : window에서 돌아가도록 작성되어 있는 daemon이다.
readmsg : 다른 메시지를 현재의 작성중인 내용에 첨가할 때
- 관리자 관련 -
mail에서와 같다.
C) 한글 environoment
elm에서 한글을 주고 받고자 하면 다음과 같은 내용을 자신의 elmrc 화일에 정
의 하여야 합니다.(다음은 elmrc를 'o(prion)'문자를 이용해서 정의 할때의 내용
이다.)

D)isplay mail using : /usr/local/bin/iso2ks | /usr/ucb/more
E)ditor : /usr/local/bin/Edit
F)older directory : your-home-directory/Mail
P)rint mail using : /usr/local/bin/iso2ks %s | ktops |lpr

만일 /usr/local/bin/Edit라는 화일이 다음과 같이 구성되어 있지 않으면 시스
템 관리자에게 문의하십시요. 만일 여러분의 시스템이 2 byte완성형을 지원하지
않는 다면 이화일들을 다르게 구성하면 됩니다. 어느 시스템이 던지 iso5601 한
글 코드로 상호 교환하는 프로그램만 있으면 가능합니다. 자세한 내용은 garam에
anonymous FTP 하여 /pub/HANGUL/ 디렉토리에 있는 내용들를 study 하십시오.
#!/bin/sh
/usr/local/bin/iso2ks \$1 \$1.ks # 코우드 변환
/usr/local/hvi \$1.ks # 한글 에디터
/usr/local/bin/ks2iso \$1.ks \$1 # 코우드 변환
/usr/bin/rm \$1.ks # RM 명령 "

D) 메일을 보내는 방법

메일을 보내는 방법은 여러 가지가 있읍니다. 사용자가 초보자일 경우 1번
부터 차례대로 익히십시오.
1) UNIX meta(메타) 문자의 이용
2) elm 명령의 이용
3) elm 을 읽는 중간에 메일을 보내는 방법
4) elm에 답하는 방법
1) UNIX meta(메타) 문자의 이용
UNIX에는 '<' 문자의 활용법이 있읍니다.
example% elm dove@garam.kreonet.re.kr test라는 화일 명으로 보내고자 하는 메일의 내용을 editor로 작성한 후에 위의
명령을 이용하면 됩니다. 위와 같은 명령은 메일의 내용중 제목을 기록하지 않는
결과가 되므로 수신자가 메일의 내용을 쉽게 파악하고 관리하기 쉽도록 하기 위
하여 다음과 같이 제목(Subject)를 기록하여 메일을 보낼 수 있읍니다.
example% elm -s test dove@garam.kreonet.re.kr
이 메일을 수신하는 사람은 garam이라는 시스템의 dove라는 사용자이고, garam이
라는 장비는 한국 ('kr')에 있는 연구소('re')에 있는 kroenet이라는 네트워크
('kreonet') 에 있고, 이 메일의 제목은 'test' 입니다.
2) elm 명령의 이용
example% elm dove
Send only mode [ELM 2.3 PL11] (이때 화면이 clear된다.)
To: Lee Jae-yong
Subject: test
Copies to:
에디터작업
:wq
send 유무를 묻는 질문에 's'라고 답한다 (단지 키를 치면된
다.)
example%
elm 명령을 이용하여 위와 같이 작성하면 여섯번째줄의 명령을 입력하였을때 화
면이 에디터로 바뀌어 보내고자 하는 메일의 내용을 작성할 수 있읍니다. 에디터
에서 빠져 나올때는 ':wq'를 하여 내용을 저장한 후에 빠져 나와야하며 어떤 에디
터를 쓸것인지 는 자신의 elmrc화일에 정의 되어있으며, 한글을 입력하시려면 현
재의 화면에서 return키를 두번 치고 C번을 선택하시어 내용을 숙지 하십시오.

3) elm으로 읽는 중간에 메일을 보내는 방법
'elm'을 입력하면 화면이 clear 되면서 현재 보관되어 있는 spool의 정보를 볼
수있다 이때 'm' 문자를 입력하면 보낼 사람의 E-mail 주소 제목, 참조하여야할
사람의 E-mail 주소를 차례대로 입력한다. 이 때 elm 은 임시 디렉토리에 임시 화
일을 생성 하므로 사용자는 메일의 내용을 작성한 후 반드시 ':wq' 로 빠져 나와
야 한다.
example% elm
화면이 clear 되고 elm이 spool 을 읽은 상태가 된다.
m
Command: Mail
To: 보내고자 하는 사람의 E-mail 주소
Subject: 제목
Copies to: 복사본을 수신하는 사람의 E-mail 주소
에디터작업
:wq 또는 ZZ (대문자)
send 유무를 묻는 질문에 's'라고 답한다 (단지 키를 치면된다.)
4) elm 에 답하는 방법
example% elm
화면이 clear되고 elm화면으로 변한다.
화살표, 또는 'j','k'를 이용하여 역상 행을 답하고자 하는 메일에 둔다.
'r'를 치다.
Copy message? (y/n) 라는 물음에 'y'라고 입력한다.
자동적으로 'Re:'라는 문자들을 이용하여 답신이라는 것이 명시된다.( )
Copies to: 복사본을 수신하는 사람의 E-mail 주소
에디터작업
:wq 또는 ZZ (대문자)
send 유무를 묻는 질문에 's'라고 답한다 (단지 키를 치면된다.)
elm 명령을 위와 같이 사용하면 자신에게 보내온 메일들을 읽을 수 있다.
Copy message? (y/n)라는 물음은 각 사용자의 elmrc 화일에 ask = ON이라고 정
의 되었을 때만 묻는다.

E) 메일 spool 관리법

각 사용자에게온 메일들은 /usr/spool/mail/ 이라는 디렉토리에(UCB mail의 경
우) 공통으로 보관이 되고 사용자가 메일을 읽는 명령은 이를 읽고 처리 합니다.
따라서 사용자의 메일을 계속 지우지 않고 보관하는 것은 시스템 관리자에게
어려움을 줄수 있을 뿐 아니라 자료의 보관에 대한 신빙성이 떨어지므로 Folder
의 개념을 이용하여 같은 종류의 메일들을 같은 folder에 저장하여 관리하여야 합
니다.
저장은 's'-'Folder-name'으로 합니다. (elm 읽기 상태에서 같은 이름의 folder
로 저장하면 앞에 내용이 없어지는 것이 아니라 mail format에 마추어 추가 된
다.)
각 사용자는 다음의 내용으로 자신에게 온 메일을 관리하여야 한다.
1. 자신의 홈디렉토리에 'mkdir Mail' 명령을 이용하여 디렉토리를 만든
다.
2. 메일의 발송과 읽기, 보관등은 위의 디렉토리에서만 한다.
3. 메일 check는 하루에 한번 이상하고 spool은 항상 비워둔다.
4. 같은 종류의 메일들은 같은 이름의 folder 에 저장한다.
5. 저장해 두었던 메일들은 elm -f Foldername으로 읽을 수 있다."

4) .forward 화일
어떤 사용자는 두개의 시스템에 계정을 가지고 있다고 하자.
(편의상 자주 사용하는 시스템의 이름을 first, 계정이름을 person1 이라고 하고
자주 사용하지 않는 시스템의 이름을 second, 계정이름을 person2 이라고 하자.)
만일 사용자가 second의 person2 으로 오는 메일을 first의 person1 으로
받아보고자 한다면 second의 person2 이라는 계정의 홈 디렉토리에 에디터를
이용하여 .forward 화일을 만든다.
즉 다음과 같이 first에 있는 person1 계정의 메일 주소를 기록하면 모든 메일이
first에 있는 계정으로 모여진다. 이때 .forward 화일은 공란없이, 빈 행 없이
작성하여야 한다.
person1@first "
5) biff 명령
biff 명령은 사용자가 시스템을 사용중에 다른 사용자가 보낸 메일을 수신하면
그 메일의 요약을 화면에 출력시켜 줄수 있는 명령이다.
만일 사용자가 자신이 작업하는 중간에 수신한 메일의 내용이 화면에 출력되는
것이 불필요하다고 판단되면 'biff n' (No)라는 명령을 사용하면 되고 시스템이
로그인 하였을 때는 default로 biff n 로 처리되어 있다.
example% biff y ---------- (Yes)
example% biff n ---------- (No)
현재 biff의 결과가 어떤게 set되어 있는 지를 알고자 하면 단지
example% biff
라고 하면 된다.
example% biff
is n
example% biff y
example% biff
is y
example% 다른 명령을 수행하고 있는 중간에 ......
New mail for dove@garam has arrived: -|
---- |
Date: Thu, 27 Aug 92 13:37:50 KST | 이부분이 메일을
From: dove (Lee Jae-yong) | 수신한 내용으로,
To: 당신의 login 명 | 자신의 화면에
Subject: Hi | 나타난다.
|
Hi! Good morning |
|
---- -|
example% biff n