260 likes | 479 Views
UNIX 응용 2. 유닉스 시스템 시작하기. mschoi@csone.kaist.ac.kr. 강의 일정. 강의 장소 J404 (telnet 이나 데이타맨 등을 이용하여 ee.woosong.ac.kr 로 접속 ) 강의 교재 교재 : 예제로 배우는 UNIX 시스템 활용 , 원유헌 외 3 인 공역 , 정익사 참고 사이트 : http://multimedia.woosong.ac.kr/cyberunix/ 평가 방법 중간 , 기말 2 회의 시험 ( 필기 + 실기 ) 퀴즈 , 숙제
E N D
UNIX 응용2. 유닉스 시스템 시작하기 mschoi@csone.kaist.ac.kr
강의 일정 • 강의 장소 • J404 (telnet이나 데이타맨 등을 이용하여 ee.woosong.ac.kr로 접속) • 강의 교재 • 교재: 예제로 배우는 UNIX 시스템 활용, 원유헌 외 3인 공역, 정익사 • 참고 사이트: http://multimedia.woosong.ac.kr/cyberunix/ • 평가 방법 • 중간,기말 2회의 시험(필기 + 실기) • 퀴즈, 숙제 • 출석, 수업 참여도
컴퓨터 시스템 Hardware Software
운영체제(Operating System) • OS란? • 컴퓨터를 제어하는 프로그램 • 사용자와 컴퓨터 하드웨어간의 중재 • e.g. UNIX, LINUX, MS-DOS, Windows 95, Windows 98, … • OS의 기능 • 컴퓨터의 자원 관리 • 메모리 사용 제어, 파일 시스템 관리, … • 작업 스케쥴링 • 사용자에 대한 인터페이스 • 계정 관리 • 보안
UNIX(유닉스) • UNIX란? • AT&T Bell 연구소에서 개발된 OS의 하나 • 멀티태스킹/멀티유저 환경을 제공 • 유닉스는 운영체제의 한 계열 • BSD (Berkeley Software Distribution) • AT&T System V • Solaris, SunOS, HP/UX, LINUX 등등의 다양한 형태
UNIX의 특징 • 이식성 • 고급 언어인 C로 쓰여져 있어 이해하기 쉽고 이식성이 높다 • 멀티 태스킹/멀티 유저 • 시분할 방식에 의한 대화형 다중 사용자 운영체제 • 계층적 구조 파일 시스템 • 간결하고 효율적인 작업환경 제공 • 다양한 유틸리티 • 간단한 사용자 인터페이스 • 프로그램 개발이 용이 • 안정적이고 뛰어난 네트워크 환경 • 소스 공개 • 개방 시스템(Open System)
UNIX의 구조 Kernel Utilities Shell H/W vi File System Command Interpreter CPU Scheduling cc Memory Management ls
네트워크 • 네트워크는 컴퓨터의 자원을 공유하기 위한 방법 • LAN, WAN, internet • 클라이언트-서버 관계 (Client-Server) • 통신 용어로 자원을 제공하는 프로그램을 서버, 사용하는 프로그램을 클라이언트라고 함 • 파일 서버, 프린터 서버 • 컴퓨터를 지칭하기도 함 • 메일 서버, 뉴스 서버
네트워크 • 호스트와 터미날 • 콘솔, 워크스테이션 X 터미날 터미날 X 터미날 호스트 터미날
LAN LAN LAN LAN 네트워크 우리집PC 통신 에뮬레이터 모뎀 전화인터페이스 Backbone Gateway 학교 네트워크
주소(Address) • IP Address • 210.93.87.8 • Symbolic Address(Domain Name) • ee.woosong.ac.kr • 실습에 사용되는 컴퓨터의 주소 • ee.woosong.ac.kr(210.93.87.8) 나라 : fr(프랑스), ca(캐나다), uk(영국), us(미국), ... 구분 : com(회사), edu(교육기관), gov(정부기관), ... 기관 이름 : snu(서울대), postech(포항공대), ... 기계 이름 : dal, sira, ara, ftp, www, ...
기본 용어 • 프로그램(program) : 실행가능한 화일, 디스크에 있음 • 프로세스(process) : 메모리에서 실행중인 프로그램 • 프로세서(processor) : 프로그램을 실행하는 하드웨어 • 디렉토리(directory) : 화일의 모임 • 현 디렉토리(current directory) : 현재 작업하고 있는 디렉토리 • 홈 디렉토리(home directory) :사용자의 시작 디렉토리 • 계정(account) : UNIX system을 사용하기 위해 주어지는 권한 또는 이름 • 비밀번호(password) • 터미날(terminal) • 셀(shell) : 명령을 읽어서 해석하는 프로그램
login/logout/password • 로그인(login) • Windows에서 가상단말기를 실행 • 로그인 메세지를 나오게 • telnet이나 새롬 데이타맨 등을 이용 • "login:"이 나오면: 로그인명을 입력 • 비밀번호를 물어오면: 입력 • 비밀번호(password) • 암호를 설정하는 방법 : passwd • 암호 설정시 유의사항 • 로그아웃(logout) • ctrl+D • logout
쉘 및 대소문자 • provides user service • shell prompt • $ : Bourne shell, Korn shell • %: c shell • > : tcsh • 쉬운 명령어 • date, who, ls • 대문자와 소문자 비교? O UNIX, C X DOS, FORTRAN, PASCAL
명령어 실행해보기 • date - 날짜와 시간 알기 • who - 사용자 알아내기 • echo “hello” -출력 • pwd - print working directory • ls - list • ps - process status • cd .. - change directory to .. • cd ~ - change directory • cat filename - change directory • more filename - change directory
편지 쓰기 • 편지 쓰기(elm) • 편지 준비하기 • editor(vi)의 사용법을 아직 모르므로... $cat > file1 [enter] (end: “Cntl-D”) • 편지 보내기 $elm mschoi@csone.kaist.ac.kr -s class1 < file1 [enter]
매뉴얼 보기 • 매뉴얼의 구성 : 각 섹션별로 구성(p.75) 1. 사용자 명령 • 1B : Commands found only in the SunOS/BSD Compatibility Package • 1C : Commands for communicating with other systems • ... 2. 시스템 호출 3. C 라이브러리 함수 4. 장치와 네트웍 인터페이스 5. 파일 형식 6. 게임과 데모 7. 환경, 표, troff 마크로 8. 시스템 유지보수
온라인 매뉴얼 사용하기 • 기본적 사용 $ man ls • 특정 섹션의 엔트리 보기 $ man -s 2 mknod • 각 섹션의 전반적인 내용 $ man -s 1 intro • 키워드를 사용한 검색 $ man –k sort
tty $stty - 터미날 세팅 $tset - 터미날 변경 $tty $echo $TERM • teletype ASR33 • 초기 UNIX의 터미널 • 출력을 종이에 인쇄하는 전자-기계 장치 • tty • /etc/termcap • 여러 유형의 터미날에서 사용되는 모든 명령을 하나의 파일로 모아 둔 database file • curses • 터미날에서 어떤 신호를 보내는 프로그래밍을 작성할 때 이용되는 인터페이스
편집 erase : ^H werase : ^W kill : ^U intr : ^C sh:지금까지의 명령어 취소 다른 프로그램: 다른 처리 가능 제어 eof : ^D bc sh: ignoreeof가능(csh) 화면 출력 제어 stop : ^S start : ^Q 제어 문자 1 • 제어문자를 원하는 대로 바꾸어 사용가능 • 사용 터미널에 따라 바뀌어야 하는 경우들 발생
stty 세팅 $ stty $ stty –a $ stty erase ^H $ stty kill ^U $ stty intr ^? $ stty sane speed 9600 baud, 24 rows, 80 columns eucw 1:2:2:2, scrw 1:2:2:2 -parenb -parodd cs8 -cstopb -hupcl cread -clocal -crtscts -ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc ixon ixany -ixoff imaxbel isig iexten icanon -xcase echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel erase kill werase rprnt flush lnext susp intr quit stop eof ^H ^U ^? ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D
제어문자 2 • Tab : ^I • Bell : ^G $echo “^G” • CR(carriage return) : ^M • 줄의 맨 앞부분으로 이동 • LF(line feed): ^J • 종이를 한줄 이동 • UNIX에서의 입력시 ^M-> ^J • UNIX에서의 출력시 ^J -> ^M^J
시간, 시스템 정보 • 날짜, 시간 • 사용자 및 시스템 정보 $ date $ date -u : GMT $ cal $ cal 1997 $ cal 9 1997 $ hostname $ whoami $ quota
$bc + - * / % ^ sqrt(x) 1+2 1+2; 2*3; 2^3 a=1 b=3 a+b 3/5 scale = 3 3/5 man bc 해보기 $bc -l (math lib.사용) s(x) : sine c(x) : cosine e(x) : exponential l(x) : log a(x) : arctangent j(n,x) : bessel function 계산기