UNIX 및실습 10 장. 인터넷과통신명령 익히기 1
10 장. 인터넷과통신명령익히기 학습목표 유닉스에서사용자간직접통신하는명령의사용방법을익힌다. 호스트명과도메인명, 개인정보를확인하는방법을익힌다. 전자메일을사용하는방법을익힌다. 파일을송수신하는명령의사용방법을익힌다. 2
Section 01 사용자간직접통신 write [1/4] 사용자에게메시지를보낸다. 메시지를작성하면 ctrl+d 를입력하면전송된다. 수신자의입장을고려하여긴급한경우에만사용한다. 로그인되지않은사용자에게는전달되지않는다. 단말기명 write 로그인 ID [ 단말기명 ] 같은사용자 ID 로입력을여러개하고있을경우단말기명지정가능 3
사용자간직접통신 write [2/4] 사용법 user1 -> user2 에게 write 1 $ write user2 user1 2 $ hanbitbook 에있는 user1 의메시지 (pts/4) [ 3 월 2 일목 22:35:43 ]... user2 4
사용자간직접통신 write [3/4] 사용법 ( 계속 ) 3 4 user1 -> user2 에게 write $ write user2 write test message 안녕하세요 ^D $ user1 $ hanbitbook 에있는 user1의메시지 (pts/4) [ 3월 2일목 22:35:43 ]... write test message 5 안녕하세요 <EOT> user2
1 사용자간직접통신 write [4/4] 사용법 단말기를지정해야하는경우 $ w 오후 11:08 현재가동중 116일, 3:02, 3 users, 로드평균 : 0.00, 0.00, 0.01 사용자 터미늘 로그인 @ 휴지 JCPU PCPU 활동 user2 pts/1 오후 10:35 11 -ksh user1 pts/4 오후 10:35 10 -ksh user2 pts/5 오후 10:57 11 -ksh user2 가 2 개로그인 2 3 $ write user2 user2 가여러곳에로그인되어있음. "pts/1" 와연결됨. 다른위치는 : pts/5 $ write user2 pts5 단말기번호를지정하지않을경우 6 단말기번호를지정할경우
사용자간직접통신 wall [1/2] wall [ 파일명 ] 로그인하고있는모든사용자에게메시지를보낸다. 긴급하게전달할메시지가있을경우에사용 파일명 메시지를별도의파일로저장하였을경우지정 일반사용자는 tty 그룹에속해있어야사용가능 $ cat /etc/group... tty::7:root,tty,adm,user1 lp::8:root,lp,adm... 7
사용자간직접통신 wall [2/2] 사용법 1 $ wall wall test message ^d $ user1 2 다른사용자 $ Broadcast Message from user1 (pts/1) on hanbitbook 금 3 월 10 11:59:59... wall test message. 8
사용자간직접통신 talk [1/5] talk 사용자주소 [ 단말기명 ] 다른사용자와 1:1 로대화 긴급하게전달할메시지가있을경우에사용 사용자주소 사용자명 @ 호스트명또는같은호스트일경우사용자명만 9
사용자간직접통신 talk [2/5] 사용법 1 user1 -> user2 에게 talk $ talk user2 user1 2 user1 [Waiting for your party to respond] user2의응답을 ------------------------------------------------ 기다리는중 10
사용자간직접통신 talk [3/5] 사용법 ( 계속 ) 3 user2 -> user1 으로응답 $ user2 4 Message from Talk_Daemon@hanbitbook at 11:36... user2의화면 talk: connection requested by user1@hanbitbook. user1의 talk talk: respond with: talk user1@hanbitbook 요청메시지 $ talk user1@hanbitbook user2 user1 의 talk 요청에대한응답 11
사용자간직접통신 talk [4/5] 사용법 ( 계속 ) 5 user1 <-> user2 에게 talk 대화 6 [Connection established] Hello user1이메시지를 ------------------------------------------------ 입력 [Connection established] user1 user2 ------------------------------------------------ user1이 Hello 입력한메시지출력 12
사용자간직접통신 talk [5/5] 사용법 ( 계속 ) 7 user1 <-> user2 의 talk 종료 : ctrl+d 또는 ctrl+c [Connection closing. Exiting] Hello ^D ------------------------------------------------ user1 종료하려면 Ctrl-d 를입력 8 $ [Connection closing. Exiting] ------------------------------------------------ Hello $ 13 user2 연결이종료됨
메시지허용 / 거부명령 mesg [ y n ] 메시지를단말기로출력하는것을허용 (y) 하거나거부 (n) 옵션 mesg : 수신 (is y), 거부 (is n) 를출력 mesg n : write 메시지수신을거부 mesg y : write 메시지수신을허용 사용법 1 2 $ mesg is y $ mesg n $ user2 $ write user2 사용권리가거부됨 $ user1 14
[ 실습하기 ] write/wall/talk/mesg 옆사람과짝을이루어실습합니다. 1) write 옆사람 id 2) wall 3) mesg n 4) write 옆사람 id 15
Section 02 이메일보내기 [1/2] 메일서버 메일클라이언트 UNIX mailx System V mail BSD PC 용메일클라이언트 아웃룩익스프레스 웹메일 16
이메일보내기 [2/2] 이메일의동작구조 PC 환경 PC 환경 사용자메일프로그램 ( 아웃룩 ) POP3 메일데몬 메일서버 인터넷 TCP/IP 메일서버 POP3 메일데몬 사용자메일프로그램 ( 아웃룩 ) SMTP SMTP 사용자메일프로그램 (mailx) UNIX 환경 UNIX 환경 사용자메일프로그램 (mailx) 17
mailx [1/11] mailx 를이용한메일송수신 메일데몬 수신 우편함 mailx /var/mail/user1 읽기 삭제 메일도착시생성 개인메일박스 ~/mbox 18
mailx [2/11] mailx [-sf] [ 사용자명 @ 호스트 ] mailx 의기능 명령어라인에서메일전송 메일수신과읽기, 저장, 삭제, 출력 메일알리아스생성과사용? 가기본프롬프트 읽은메일은홈디렉토리의 mbox 파일에저장 메일수신을위한기본우편함 : /var/mail/ 사용자명 옵션 -s : 제목지정 -f : mbox 의내용확인 19
mailx [3/11] 기능요약 보내기 읽기 삭제 기능명령설명 삭제취소 답장 종료 $ mailx user2 $ mailx user2 < text 입력방향전환이용? 번호? d 번호? d 번호번호? d 번호 - 번호? u 번호? u 번호번호? u 번호 - 번호? r [ 번호 ]? R [ 번호 ]? q? x 20 송신자에만답신전체회신 읽은메시지저장후종료변경내용저장안함 저장? s [ 번호 ] 파일명별도파일에저장
mailx [4/11] 메일헤더 : mailx의기본적출력 프로그램버전 메일과관련된도움을위한물음표 (?) 우편함의위치 우편함의상태 우편함에있는메시지수 새로운메시지수 메시지상태 (new 또는 read) 메시지수신순서 송신자 메시지가전송된날짜와시간 메시지크기 메시지의주제 21
메시지표시문자 mailx [5/11] 문자 N U R O 메시지의상태새로도착한메시지이전에수신된메시지이지만, 아직읽지않은메시지새로운메시지이며, mailx로읽었음이전에읽었던메시지로 mailx를이용하여저장됨 > 현재메시지 22
mailx [6/11] 메일시작 1 $ mailx user1 에대한우편없음 $ user1 메일이없을경우 2 $ mailx mailx version 5.0 Sun Oct 14 13:42:02 PDT 2001 도움말필요시? 입력. "/var/mail/user1": 1개메시지 1개신규 >N 1 홍길동 Sun May 9 17:43 13/364 안녕하세요? 23 메일이있을경우
mailx [7/11] 메일읽기 3 $ mailx mailx version 5.0 Sun Oct 14 13:42:02 PDT 2001 도움말필요시? 입력. "/var/mail/user1": 1 개메시지 1 개신규 >N 1 홍길동 Sun May 9 17:43 13/364 안녕하세요? 1 Message 1: From user2 Sun May 9 17:58:32 2006 Date: Sun, 9 May 2006 17:58:32 +0900 (KST) From: 홍길동 <user2> To: user1 Subject: 안녕하세요 메일보내기시험입니다. 감사합니다.? user1 24
mailx [8/11] 메일보내기 -s, -f 옵션 $ mailx user1 Subject: 안녕하세요메일보내기시험입니다. 감사합니다. ^D $ $ mailx s 메일시험 user1 < mail.txt $ user2 user2 내용작성후. 이나 ctrl+d 를입력하면전송 mail.txt 의내용을전송 25
답장으로보내기 mailx [9/11] $ mailx? r To: user2 Subject: Re: mail test user1 Mail test. EOT? s mail.1 "mail.1" [New file] 14/376? q $ 26
메일관리하기 mailx [10/11] $ mailx mailx version 5.0 Sun Oct 14 13:42:02 PDT 2001 도움말필요시? 입력. /usr/mail/user1 : 1 개메시지 1 개신규 >N 1 홍길동 Sat Mar 11 11:43 13/364 mail test? Message 1: From user2 Sat Mar 11 11:43:33 2006 Date: Sat, 11 Mar 2006 11:43:33 +0900 (KST) From: 홍길동 <user2> To: user1 Subject: mail test mail test? d 1? n 해당메시지없음? u 1? n 1 번메일삭제 >R 1 홍길동 Sat Mar 11 11:43 13/364 mail test? 삭제한메일복구 27
mailx [11/11] 메일종료...? q /export/home/user1/mbox 에 1 개메시지가보관됨 $? 28
Section 03 호스트와개인정보확인 hostname 현재시스템의호스트명을출력 사용법 $ hostname hanbitbook $ 29
호스트의동작확인 ping 호스트명또는 IP 주소 시스템이네트워크를통해연결되는지확인 사용법 $ /usr/sbin/ping hanbit2. co.kr hanbit2.co.kr is alive $ 30
개인정보확인 [1/2] finger [id id@host @host] 현재로그인한사용자정보를출력한다. who 의결과에덧붙여사용자의완전한이름 (/etc/passwd), 호스트명등추가정보를출력 옵션 id : 특정사용자정보출력 id@host : 특정호스트의특정사용자정보출력 @host : 특정호스트의사용자목록출력 31
사용법 개인정보확인 [2/2] $ finger Login Name TTY Idle When Where user1 홍길동 pts/1 29 Mon 22:14 220.116.250.12 user2 홍삼순 pts/2 58 Mon 21:56 211.53.228.196 $ $ finger user2 Login name: user2 In real life: 홍삼순 Directory: /export/home/user2 Shell: /bin/ksh On since May 3 22:14:23 on pts/1 from 220.116.250.12 31 minutes Idle Time No unread mail No Plan. $ 특정사용자의개인정보 32
[ 실습하기 ] hostname/ping/finger 옆사람과짝을이루어실습합니다. 1) hostname 2) /usr/sbin/ping www.naver.com 3) /usr/sbin/ping 호스트명 (lily.mmu.ac.kr, mail.mmu.ac.kr 등 ) finger 1) finger 옆사람 id 2) finger @ 호스트명 33
Section 04 파일송수신 [1/7] ftp host 명또는 IP 주소 TCP/IP 를사용하는파일송수신명령 File Transfer Protocol 의약자 ASCII 모드와바이너리모드로전송 Anonymous( 익명 ) ftp 익명으로 ftp 서버에접속하여파일송수신 ftp 프롬프트 ftp> 34
ftp 내부명령 파일송수신 [2/7] 명령 기능 명령 기능 cd 서버디렉토리이동 lcd 클라이언트디렉토리이동 ls 서버디렉토리내용 prompt 다중전송시 y/n 묻지않기 ascii ASCII파일전송모드 hash 전송중표시 ( # ) 출력 bin 바이너리전송모드 bye 종료 get 파일하나다운 dir 서버디렉토리내용-긴형태 mget 여러파일다운 pwd 서버디렉토리위치확인 put 파일하나업!pwd 지역디렉토리위치확인 mput 여러파일업!ls 지역디렉토리내용 35
파일송수신 [3/7] 사용법 접속 /pwd/dir $ ftp hanbitbook Connected to hanbitbook 220 elf FTP server ready. Name (hanbitbook:user1): user1 331 Password required for user1 Password: 230 User user1 logged in. ftp> ftp> pwd 257 "/export/home/user1" is current directory. ftp> dir -rw-r--r-- 1 user1 other 136 2005년 4월 4일 local.cshrc -rw-r--r-- 1 user1 other 157 2005년 4월 4일 local.login 226 Transfer complete. 1671 bytes received in 0.028 seconds (58.85 Kbytes/s) ftp> 36 $ ftp hanbitbook Connected to hanbitbook 220 elf FTP server ready. Name (hanbitbook:user1): user1 331 Password required for user1 Password: 530 Login incorrect. Login failed. ftp> 로그인실패
사용법 get/mget 파일송수신 [4/7] ftp> get local.cshrc 200 PORT command successful. 150 Opening ASCII mode data connection for local.cshrc (136 bytes). 226 Transfer complete. local: local.cshrc remote: local.cshrc 142 bytes received in 0.012 seconds (11.60 Kbytes/s) ftp> ftp> mget local.cshrc local.login mget local.cshrc? 37 mget 의경우전송할것인지물어본다.
파일송수신 [5/7] 사용법 prompt -> mget ftp> prompt Interactive mode off. ftp> mget local.cshrc local.login 200 PORT command successful. 150 Opening ASCII mode data connection for local.cshrc (136 bytes). 226 Transfer complete. local: local.cshrc remote: local.cshrc 142 bytes received in 0.02 seconds (6.84 Kbytes/s) 200 PORT command successful. 150 Opening ASCII mode data connection for local.login (157 bytes). 226 Transfer complete. local: local.login remote: local.login 164 bytes received in 0.021 seconds (7.76 Kbytes/s) ftp> pompt 명령을입력하면 mget 에서전송할것인지안물어본다 38
사용법 hash/bye 파일송수신 [6/7] ftp> hash Hash mark printing on (8192 bytes/hash mark). ftp> get a.out 200 PORT command successful. 150 Binary data connection for a.out (5908 bytes). ### 226 Binary Transfer complete. local: a.out remote: a.out 5908 bytes received in 0.0089 seconds (648.04 Kbytes/s) ftp> bye $ bye 는 ftp 종료명령이다. hash 명령을입력하면전송할때 # 을출력한다. 39
파일송수신 [7/7] 사용법 익명 ftp 접속 $ ftp han Connected to han 220 han FTP server ready. Name (han:user1): anonymous 331 Guest login ok, send your complete e-mail address as password. Password: 530 Login incorrect. Login failed. ftp> 익명ftp는서버에익명ftp설정이되어있어야사용이가능하다. 40 익명 ftp 는로그인명으로 anonymous 를사용하고암호는본인의이메일주소를사용한다.
[ 실습하기 ] ftp 지정된서버로작업합니다 1) ftp.kaist.ac.kr 접속 2) anonymous 접속 3) 공개된 sw 목록확인 4) 그중하나를선택하여다운로드 5) prompt, hash, mget 등활용 6) 종료 7) 다운받은파일설치또는실행 1) cara 에 ftp 접속 2) file 업로드실행 41
[ 실습과제 ] 실습각단계화면캡처하여 pdf 파일로정리하여과제제출 (cms.mmu.ac.kr/bear) 제출기한 : 5 월 10 일자정 42