강좌명 : 유닉스 시스템프로그래밍 (UNIX System Programming) 강좌번호 : E073010-01 이수구분 : 전공선택 강의시간 : 목12:00-14:50 강의실 : 7호관 424호 담당교수 : 김권양(컴퓨터공학과) kykim@kiu.ac.kr, 053-600-5561 http://ce.kiu.ac.kr/~kykim/index.html 평가 : 중간고사(30%), 기말고사(30%), 보고서(20%), 출석(20%)
교재 소개 참고문헌 UNIX &SHELL PROGRAMMING: A TEXTBOOK 도 서 명 | IT CookBook, 유닉스 이론과 실습(개정판) 유닉스 전문가로 가는 첫걸음 저 자 | 윤소정, 이종원 출 판 사 | 한빛미디어(주)_http://www.hanb.co.kr 페 이 지 | 548페이지 출 간 일 | 2012년 7월 19일 I S B N | 978-89-7914-952-4 93560 소스 파일 | http://www.hanb.co.kr/exam/1952 참고문헌 UNIX &SHELL PROGRAMMING: A TEXTBOOK 저자 : Behrouz A. Forouzan
목 차 Part 01 유닉스 기본 Chapter 01 유닉스 개요 및 기본 사용법 Chapter 02 디렉토리 다루기 01 유닉스 개요 02 유닉스 시스템 접속 방법과 명령 사용법 Chapter 02 디렉토리 다루기 01 유닉스 파일 시스템 02 현재 디렉토리 확인 : pwd 03 디렉토리 이동 : cd 04 디렉토리의 파일 목록 확인 : ls 05 디렉토리 생성 : mkdir 06 디렉토리 삭제 : rmdir Chapter 03 파일 다루기 01 파일 내용 보기 : cat/more/tall 02 파일 복사 : cp
Part 02 유닉스 고급 Chapter 06 파일 접근 권한 관리하기 Chapter 07 파일과 디렉토리 검색하기 01 파일의 속성 02 파일의 접근 권한 03 기호를 이용한 파일 접근 권한 변경 04 숫자를 이용한 파일 접근 권한 변경 05 기본 접근 권한의 설정 Chapter 07 파일과 디렉토리 검색하기 01 파일 내용 검색 : grep/egrep/fgrep 02 파일 검색 : find 03 명령 검색 : which Chapter 08 사용자와 프로세스 명령 익히기 01 프로세스의 개념과 종류 02 프로세스 관리 명령 03 포그라운드와 백그라운드 프로세스 04 사용자 정보 보기
Chapter 09 파일 아카이브와 압축 명령 익히기 01 파일 아카이브 : tar 02 파일 아카이브와 압축 : jar 03 .z 파일 : pack/unpack 04 .Z 파일 : compress/uncompress 05 .gz 파일 : gzip/gunzip 06 .zip 파일 : zip/unzip 07 .bz2 파일 : bzip2/bunzip2 Chapter 10 인터넷과 통신 명령 익히기 01 사용자간 직접 통신 : write/wall/talk/mesg 02 이메일 보내기 : mailx 03 호스트와 개인 정보 확인 04 파일 송수신 : ftp Chapter 11 유닉스 유틸리티 이용하기 01 파일 정보 수집 : wc 02 파일 정렬 : sort 03 파일 분할 : split 04 중복 삭제 : uniq 05 필드 잘라내기 : cut 06 두 파일 연결하기 : paste 07 파일 덤프 : dd
Part 03 유닉스 쉘 Part 04 유닉스 시스템 관리 Chapter 12 유닉스 쉘의 이해 01 유닉스 쉘의 기능과 종류 02 콘 쉘의 주요 기능 03 C 쉘의 주요 기능 Chapter 13 배시 쉘 프로그래밍 01 쉘 스크립트 02 쉘 변수 사용하기 03 사용자로부터 입력 받기 04 연산자 05 제어문 06 함수 07 디버깅 Part 04 유닉스 시스템 관리 Chapter 14 시스템 관리 기초 01 시스템 관리자 02 부팅과 종료 03 사용자 관리 04 그룹 관리 05 루트 비밀번호 관리 06 서비스 관리 07 패키지 관리 08 네트워크 관리
University of Central Florida 담당교수 ETRI 경북대학교 한국지능시스템학회 University of Central Florida 경일대학교 한국전자통신연구원 컴퓨터공학과 지능정보미디어 School of Computer Info. 컴퓨터공학과 http://ce.kiu.ac.kr/~kykim/ Mail : kykim@kiu.ac.kr
유닉스 개요 및 기본 사용법 ㅎㅎ 유닉스 개요 유닉스 시스템 접속 방법과 명령 사용법 한빛미디어(주)
학습목표 내용 1장. 유닉스 개요 및 기본 사용법 유닉스의 특징과 발전 과정을 이해한다. 유닉스 시스템에 접속하고 해제하는 방법을 익힌다. 유닉스 명령어의 기본 사용법을 익힌다. 유닉스 계정의 암호를 변경하는 방법을 익힌다. 내용 유닉스 개요 유닉스의 역사와 특징, 구조 유닉스 시스템 접속 및 해제 방법 유닉스 명령 사용법 명령행 편집, 유닉스 명령의 구조, 기초 명령어 사용법
운영체제(Operating System) Operating Systems A computer system cannot function without an operating system. There are many different operating systems that are available for PCs, minicomputers, and mainframes; the most common ones are Windows, VMS, MacOS, iOS, Chrome OS and UNIX(Linux). MS Windows is only available for PCs VMS is only available for mini-computers and mainframes, and UNIX is available for virtually all platforms. programs operating system hardware
유닉스(Unix)란? 유닉스의 역사 Section 01 유닉스 개요 컴퓨터 시스템을 효율적으로 사용하기 위한 운영체제의 일종 1969, AT&T 벨 연구소에서 개발 켄 톰슨(Ken Thompson), 데니스 리치(Dennis Ritche) 최초에는 어셈블리어로 작성, 후에 C 언어로 재작성 초기 UNIX 소스 코드는 대학에 공개됨 버클리 대학에서 수정한 UNIX를 BSD라고 함 Berkeley Software Distribution 가장 중요한 개선은 네트워킹 기능의 추가 AT&T 버전은 System III, System V 등 현재는 UNIX는 상용제품으로 비용을 지불해야 함 초기의 공개 S/W 정신을 되살린 Linux임(1991) 리누스 토발즈 Embedded versions of UNIX are available for various hardware platforms. Portability:이식성↑
유닉스의 발전 과정 리눅스 커널 4.7.2 2016 유닉스 버전 3 버전 6 1.x BSD 버전 7 3.x BSD 버전 10 1969(어셈블리어) 버전 3 1973(C언어) 버전 6 1975 (외부공개) 1.x BSD 1978 버전 7 1978 현대 유닉스의 원조 본쉘 등장 3.x BSD 1980 버전 10 1989 4.1 BSD 1981 시스템 III 1981(최초 상업용) 4.2 BSD 1984 TCP/IP SunOS 1.x 시스템 V 1983 1982 시스템 V Release 4.2 (=UnixWare1) SunOS 2.x 1985 4.3 BSD 1986 FreeBSD1.0 1986 1992 4.4 BSD 솔라리스 1 1993 1990 FreeBSD9.0 2012 SCO UnixWare 7.1.3 2002 솔라리스 10 2005 리눅스0.01 1991 SCO UnixWare 7.1.4 2008 오라클 솔라리스 11 2011 리눅스 3.3 2012 리눅스 커널 4.7.2 2016
Sun Ray 실습실 구성도 Sunfire V880 Spec. 2 x 750MHz UltraSPARC-III, (ORACLE DB Server) • • • • • Sun Ray-1 50EA ce: Sun Ultra1 (Web Server) Sun Ultra1 (Mail Server: 교수) (Mail Server: 학생) Switching Hub Private Network Sunfire V880 Spec. 2 x 750MHz UltraSPARC-III, 4GB Memory, 6 x 36.4GB FC-AL Disks
현재 UNIX는 “The Open Group”의 등록상표이므로 각 제조사는 각자 이름을 붙여 사용 유닉스의 종류 현재 UNIX는 “The Open Group”의 등록상표이므로 각 제조사는 각자 이름을 붙여 사용 제품명 제조회사 유닉스 오라클 솔라리스 (Oracle Solaris) Oracle(오라클) AIX IBM HP-Ux HP (휴렛 패커드) 리눅스 페도라(Fedora) RedHat (레드햇) 우분투(Ubuntu) Canonical(캐노니컬) 구글 크롬OS, 안드로이드, 타이젠(삼성+인텔)
유닉스 ? Chapter 1. Introductiom Welcome to UNIX, the open operating system. UNIX is found on virtually all computer hardware in use today. In fact, its very pervasiveness is most likely the reason you are starting to explore its capabilities. In this course, we introduce you to the basic aspect of UNIX as it is found in most modern installations.
1.1 Why Unix? Several features of UNIX have made it very popular. Its popularity is still growing, partially due to the development of Linux version that has been ported to many platforms. In this section, we describe some of the features that have made UNIX so popular.
대화형 시스템 다중 사용자 시스템 다중 작업용 시스템 높은 이식성, 확장성, 개방성 계층적 트리 파일 시스템 유닉스의 특징 대화형 시스템 다중 사용자 시스템 다중 작업용 시스템 높은 이식성, 확장성, 개방성 UNIX is found on more hardware platforms than any other operating system ever developed. Its widespread use can be directly traced to the decision to develop it using the C language. Because C programs are easily moved from one H/W environment to another, it is relatively simple to port it to different environments. All that is needed is a standard C compiler. 계층적 트리 파일 시스템 부가적 기능 제공이 다양
유닉스는 크게 커널, 쉘, 유틸리티와 파일시스템으로 구분 유닉스의 구조 [1/4] 유닉스는 크게 커널, 쉘, 유틸리티와 파일시스템으로 구분 하드웨어 커널 쉘 유틸리티 파일시스템
커널(Kernel) 하드웨어 커널 유닉스의 구조 [2/4] 유닉스 운영체제의 핵심 컴퓨터의 모든 자원을 관리하는 핵심 프로그램 파일 시스템 관리 장치 관리 프로세스 관리 메모리 관리 하드웨어 커널
쉘(Shell) 하드웨어 커널 쉘 유닉스의 구조 [3/4] 사용자와 커널 사이의 중간자 역할 담당 명령어 처리 사용자가 입력한 명령을 이해하여 실행 본쉘(Bourne Shell) : sh C쉘(C Shell) : csh 콘쉘(Korn Shell) : ksh 배시쉘(Bash Shell) : bash 하드웨어 커널 쉘
The shell(Windows XP)XP)
The shell(Windows 7)XP)
The shell(Windows 10)XP)
The shell(Mac OS X)XP)
The shell(Chrome OS Desktop Environment)XP)
The shell(Gnome :그놈)
The shell(Unity :유니티) 리눅스 배포판인 우분투의 기본 데스크탑 환경
The shell(기타 리눅스용) KDE MATE (마테) Cinnamon (시나몬) Xfce LXDE Pantheon (Lightweight X11 Desktop Environment) Pantheon Deepin
The shell(CDE) Common Desktop Environment The shell(CDE) 공통 데스크톱 환경 : 공통 개방형 소프트웨어 환경이 지정한 유닉스 GUI 규격 The Common Desktop Environment was created by a collaboration of Sun, HP, IBM, DEC, SCO, Fujitsu and Hitachi. Used on a selection of commercial UNIXs, it is now available as open-source software for the first time. The shell(CDE)
The shell(CDE) The shell(CDE)
파일 시스템 유틸리티/명령어 하드웨어 커널 쉘 유틸리티 파일시스템 유닉스의 구조 [4/4] 컴퓨터 정보관리(파일, 디렉토리 등) 유틸리티/명령어 파일 편집기, 프로그래밍, 통신,… 하드웨어 커널 쉘 유틸리티 파일시스템
Section 02 유닉스 시스템 접속 방법과 명령 사용법 유닉스시스템 : 유닉스가 동작하고 있는 컴퓨터 유닉스시스템에 접속하기 위해 필요한 것들 단말기 PC에서 접속프로그램을 이용하여 접속 윈도우 기본 telnet이나 윈텀(winterm), SSH(secure Shell:Putty) 등 이용 Ray 장비를 통한 접속 사용자 계정 로그인ID, 패스워드 지정 시스템관리자에게 요청하여 등록 로그인(login)하기 시스템의 사용을 허가 받고 자원을 할당 받는 과정 ID, 패스워드 입력
<시작> 버튼 클릭 후 [실행] 메뉴를 선택한다. 텔넷을 이용해 유닉스에 접속하기 1 <시작> 버튼 클릭 후 [실행] 메뉴를 선택한다. 실행창에서 텔넷을 실행시킨다. telnet 유닉스시스템명 로그인ID와 패스워드를 입력 하여 로그인한다. 2 203.230.91.40 3 id : s0042247 학번 20042247
유닉스시스템 접속에 성공하면 메시지 출력 홈디렉토리 프롬프트 접속 초기 화면(telnet) "Sun ..." 메시지는 유닉스 개발 회사와 버전을 의미 홈디렉토리 로그인한 직후의 작업디렉토리 프롬프트 사용자의 입력을 기다리는 표시 콘쉘 : $
Ray 장비를 이용해 유닉스(ray 서브)에 접속하기 2 3
The shell(CDE) 접속 초기 화면(CDE)
문자 지우기 단어 지우기 문장 지우기 명령행 편집 방법 백스페이스(^h) 또는 Delete키(^?) Ctrl + w Ctrl + u
명령 [옵션] [인자] 명령 옵션 인자 명령의 구조 유닉스를 사용하기 위해 사용자가 입력하는 다양한 명령 예 : ls, date, cal … 등 옵션 명령의 세부기능을 선택 -로 시작하고 숫자, 대문자, 소문자를 사용 예 : ls –l 인자 명령으로 전달되는 값 보통 파일명이나 디렉토리명 예 : ls /tmp, ls –l /tmp 명령 [옵션] [인자]
banner date clear man 기초명령의 사용 화면에 큰 문자를 출력 예 : $ banner unix 날짜와 시간을 출력 clear 화면을 깨끗이 지움 man 명령에 대한 설명 출력 예 : $ man banner
passwd 패스워드를 변경 사용법 패스워드 변경 : passwd 전화번호, 생일 등 쉽게 추측이 가능한 패스워드 사용금지 6~8자로 지정 사용법 passwd
로그아웃(logout) 접속해제 방법 유닉스시스템 접속 해제 유닉스시스템과의 접속을 해제하는 과정 logout exit Ctrl + d
접속할 유닉시스템의 호스트명이나 IP주소를 확인한다. 자신의 로그인ID와 패스워드를 확인한다. [실습하기] 유닉스시스템 접속 및 해제 접속할 유닉시스템의 호스트명이나 IP주소를 확인한다. 자신의 로그인ID와 패스워드를 확인한다. 텔넷을 동작시킨다. (CDE를 이용하여 접속) 로그인한다. 기초 명령을 실행해본다. $ banner test $ date 자신의 패스워드를 변경한다. $ passwd 로그아웃한다.
Session 1.2. Calendar Output January 2001 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -------------------------------------
The echo Command
Session 1.9 The echo Command $ echo Hello World Hello World $ echo "Error 105: Invalid total sales" Error 105: Invalid total sales -----------------------------------------------
The man Command
Session 1.10 man Documentation $ man cal cal(1) cal(1) NAME cal - print calendar SYNOPSIS cal [ [ month ] year ] DESCRIPTION cal prints a calendar for the specified year. If a month is also specified, a calendar just for that month is printed. If neither is specified, a calendar for the present month is printed. The month is a number between 1 and 12. The year can be between 1 and 9999. The calendar produced is that for England and the United States. NOTES An unusual calendar is printed for September 1752. That is the month 11 days were skipped to make up for lack of leap year adjustments. To see this calendar, type: cal 9 1752 The command cal 83 refers to the year 83, not 1983. The year is always considered to start in January even though this is historically naive. ------------------------------------------------------------
문서작성하기
email 보내기