33
Linux/UNIX Programming UNIX/Linux 시시 시시시 시시시시시 IT 시시 시시시시시시시

Linux/UNIX Programming UNIX/Linux 시작 문양세 강원대학교 IT 대학 컴퓨터과학전공

  • Upload
    vicky

  • View
    169

  • Download
    0

Embed Size (px)

DESCRIPTION

Linux/UNIX Programming UNIX/Linux 시작 문양세 강원대학교 IT 대학 컴퓨터과학전공. 운영체제 (1/2). UNIX/Linux 시작. 운영체제 (Operating System) 이론적으로 상당히 복잡하며 , 여러 상용 및 시험 제품들이 존재 가장 중요한 제어 프로그램 ( 아무리 사소한 컴퓨터라도 운영체제는 있어야 …) 하드웨어를 가장 효율적으로 제어할 수 있도록 하는 것이 목적 하드웨어와의 중요한 인터페이스로서 동작 (device driver ) - PowerPoint PPT Presentation

Citation preview

Page 1: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Programming

UNIX/Linux 시작

문양세강원대학교 IT 대학 컴퓨터과학전공

Page 2: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 2

운영체제 (1/2)

운영체제 (Operating System)

• 이론적으로 상당히 복잡하며 , 여러 상용 및 시험 제품들이 존재

• 가장 중요한 제어 프로그램 ( 아무리 사소한 컴퓨터라도 운영체제는 있어야… )

• 하드웨어를 가장 효율적으로 제어할 수 있도록 하는 것이 목적

• 하드웨어와의 중요한 인터페이스로서 동작 (device driver)

• 사용자의 작업을 도우며 , 다른 프로그램이 실행되는 것을 지원( 일반 사용자는 운영체제가 있는지조차 의식할 필요가 없으나 ,실제로 system programmer 는 운영체제의 이해가 프로그램 작성에 중요한 요소임 )

UNIX/Linux 시작

Page 3: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 3

운영체제 (2/2)

운영체제

컴퓨터 하드웨어

사용자1

사용자2

사용자n

응용 프로그램

UNIX,Windows,Linux….

컴파일러/어셈블러

온라인 게임 문서 편집기

UNIX/Linux 시작

Page 4: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 4

UNIX History (1/4)

UNIX?• 1969 년 AT&T 의 벨 연구소 (Bell Lab.) 에서 Ken Thompson 에 의해 개발• 운영체제가 곧 UNIX 다 ? (Windows 출현 이전에는 절반 이상 Yes, 현재는 No!)

• UNIX 운영체제의 쓰임 : 중대형 컴퓨터 , 산업계 ( 은행 , 통신 등 )

1969 년 – 출생• Bell Lab. 의 연구원인 Ken Thompson 이 어셈블리 언어로 개발

( 위키 : http://en.wikipedia.org/wiki/Ken_Thompson)

• 어원 : 기존에 사용하던 운영 체제였던 “ MULTICS” 는 그 명칭만큼의 원하는 성능을 갖지 못함

한가지 일이라도 잘한다는 의미를 함축하고 있는 “ UNI” 라는 부분을 넣어 UNIX 라는 운영체제가 개발됨

• 처음 버전은 단일 사용자 시스템으로서 네트워크 능력이 없고 프로세스간 메모리 능력이 매우 빈약한 메모리 관리 기능을 가지고 있는 원시적 운영체제

UNIX/Linux 시작

Page 5: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 5

UNIX History (2/4)

1972 년 – 성장• 같은 연구소 (Bell Lab.) 에서 연구원으로 근무 하고 있던 동료인 Dennis Ritchie 가

C 언어 개발 C 언어를 이용하여 유닉스를 다시 만들 것을 제안( 위키 : http://en.wikipedia.org/wiki/Dennis_Ritchie)

• 유닉스 시스템은 다른 운영체제에 대해 커다란 장점을 가지게 됨 High Level Language 로 작성되어 소스 코드 이해하기가 매우 쉬움

UNIX 의 진화• 처음의 유닉스는 상업용이 아니었고 연구용으로 개발되었기 때문에 소스 코드와 함께

대학에 무상으로 제공• UC Berkeley 대학의 대학원생들은 이 소스를 연구하여 독자적인 BSD 유닉스라

불리는 독자적인 유닉스 버전을 만들어 일반인에게 공개함• UNIX 가 여러 곳에서 연구 , 발전하는 반면에 많은 버전의 UNIX 가 개발되는

혼란을 초래 표준화의 필요성 대두

UNIX/Linux 시작

Page 6: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 6

UNIX History (3/4)

UNIX 의 표준화 (POSIX: Portable Operating System Inter-face)• IEEE(Institute Of Electrical and Electronic Engineer) 에서 제안• 소스레벨에서 호환성을 보장하는 유닉스• 대부분의 단체 , 회사들이 POSIX 를 지원하며 , 현재 사용되는 대부분의 UNIX 들도

POSIX 를 따르고 있음• 위키 : http://ko.wikipedia.org/wiki/POSIX

UNIX 의 두 가지 버전1. AT&T 사가 상품화한 SYSTEM V 계열

2. BSD(Berkeley Software Distribution) 사가 만든 BSD 계열 • 유닉스는 개발 당시부터 다중 사용자와 자원 공유를 큰 목적으로 개발했기 때문에

네트워킹 기능이 강력 인터넷 서버로서 각광 받은 이유• 유닉스의 이전 버전들은 System V 와 BSD 4.3 으로부터 각각 유래 , 새로운 버전들은

양쪽 유닉스의 특성들을 대부분 포함

UNIX/Linux 시작

Page 7: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 7

UNIX History (4/4)

UNIX 의 대중화 – Linux 의 출현• Free software, open source 추구• GNU Project 와 더불어 대중성을 가짐• 현재 200 여 개 넘는 배포판 존재 (software 자체는 무료 , maintenance 는 유료 )

• 위키 ( 한글 ): http://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4

• 위키 ( 영문 ): http://en.wikipedia.org/wiki/Linux

• Open architecture 추구를 통해 PC 에서 슈퍼컴까지 활용분야 넓어짐

UNIX/Linux 시작

Page 8: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 8

UNIX/Linux 시스템 구조 (1/2)

커널 (Kernel)• UNIX 가 처음 부팅될 때 메모리로 로딩 (loading)

• 컴퓨터 시스템 자원들 ( 디스크 , 테이프 , 프린터 등 ) 을 관리하는 운영체제의 핵심

• 항상 주기억 장치 (main memory) 에 상주하면서 프로세스 관리 , 네트워크 관리 , 프로세스 간 통신 등을 관리함

• 10,000 줄 이상의 C 언어와 1000 줄 정도의 어셈블리어로 구성 이식성 (portability) 이 좋음

쉘 (Shell)• UNIX 명령어를 해석하는 명령어 해석기로 사용자와 UNIX OS 간의

인터페이스와 Shell Programming 언어를 해석• 단말장치 ( 키보드 , 마우스 등 ) 를 통하여 명령을 받고 커널이나 다른 여러

유틸리티 프로그램을 실행• 사용자는 Shell 을 통하여 컴퓨터와 대화를 나눌 수 있음

UNIX/Linux 시작

Page 9: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 9

UNIX/Linux 시스템 구조 (2/2)

단말기 제어기

단말기

메모리 제어기

실제 메모리

장치 제어기

디스크와 테이프

하드웨어에 대한 커널 인터페이스

커널에 대한 시스템 호출 인터페이스

쉘과 명령어들컴파일러와 인터프리터들

시스템 라이브러리들

Users

shell

kernel신호 (signal)단말기 처리

단말기 구동기

파일 시스템디스크와 테이프 구동기

CPU 스케쥴링가상 기억장치

UNIX/Linux 시작

Page 10: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 10

UNIX 제품 종류

UNIX 는 단일 제품이 아니라 , 제품군을 의미하며 다음과 같은 두 가지 특징을 공통으로 포함함• 멀티태스킹 (Multitasking): 유닉스 시스템이 한번에 하나 이상의 프로그램을 동시에

실행할 수 있음을 의미• 멀티유저 (Multiuser): 유닉스 시스템이 한번에 한 명 이상의 사용자를 동시에 지원할

수 있음을 의미

유닉스명 제조회사

AIXBSD/OSHP-UXIrixOSF/1SolarisSunOSTru64UltrixUnixware

IBMBerkeley Software Design(BSDI)Hewlett-Packard(HP)Silicon GraphicsDigital Equipment Corporation(DEC)Sun MicrosystemsSun MicrosystemsHP Alpha Server Series Digital Equipment Corporation(DEC)Novell

유닉스명

FreeBSDLinuxNetBSD

상용 UNIX 제품

무료 UNIX 제품

UNIX/Linux 시작

Page 11: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 11

UNIX 시작 (1/8)

사용자 명과 패스워드

• 시스템 관리자 (System Manager, System Administrator):

유닉스 시스템의 관리와 유지 / 보수를 수행하는 사람

• 사용자명 (User Id): 사용자를 구분할 수 있는 고유한 이름

• 계정 (Account): 시스템을 사용할 허가 ( 각 사용자는 계정을 부여 받음 )

• 패스워드 (Password)

UNIX/Linux 시작

Page 12: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 12

로그인 ( 유닉스로 작업 시작하기 )

• 사용자명 (login name) 을 입력하고 RETURN 키

• 패스워드를 입력하고 RETURN 키

UNIX 시작 (2/8)

login:

password:

UNIX/Linux 시작

Page 13: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 13

로그인 예제 ( 실제 수행해 봅시다 .)

UNIX 시작 (3/8)UNIX/Linux 시작

Page 14: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 14

로그인 후에 일어나는 일은 ?• 시스템을 설명하는 간단한 정보메시지 출력• 시스템 관리자가 어떻게 시스템을 설정했는가에 따라 다름• 공지사항 (Message of the Day)

- 시스템 관리자가 업데이트 하는 정보를 담고 있는 메시지 (/etc/motd)

- 사용자는 로그인 시 가장 최근에 새로이 추가된 항목을 볼 수 있음

UNIX 시작 (4/8)UNIX/Linux 시작

Page 15: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 15

로그인 후에 일어나는 일은 ? ( 계속 )

UNIX 시작 (5/8)

System Information

Message of the Day

UNIX/Linux 시작

Page 16: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 16

Shell Prompt• Shell: 사용자의 명령을 읽고 해석하는 프로그램• Shell 이 다음 명령을 받아들일 준비가 되면 , Prompt 를 보여줌• Prompt 는 사용하고 있는 Shell 에 따라 차이가 있음

− Default Prompt: C Shell(%, $), Korn Shell($), Bourne Shell, …

− User Defined Prompt: 사용자가 지정 (.cshrc) 하여 변경 가능함

• 끝내고자 할 때는 Shell Prompt 상에서 “ logout” 또는 “ exit” 를 입력

UNIX 시작 (6/8)UNIX/Linux 시작

Page 17: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 17

Shell Prompt ( 계속 )

UNIX 시작 (7/8)UNIX/Linux 시작

Page 18: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 18

로그 아웃 ( 유닉스 작업 마치기 )• 유닉스에서 작업을 마치려면 로그 아웃 (Log out) 명령으로 세션을 마친다 .

• 로그아웃 :유닉스에게 현재 사용자명으로 로그인한 사용자가 작업을 마친다고 알리는 것

• 로그아웃 방법− Shell Prompt 상에서 CTRL-D 키를 누름

− logout 명령어를 사용

− exit 명령어를 사용

UNIX 는 대소문자를 구별한다 .• 도스 (DOS) 와 같은 운영체제와 달리 , 유닉스는 대문자와 소문자를 구별함• 사용자명 , 패스워드 입력 시 대소문자 구별에 유의

UNIX 시작 (8/8)UNIX/Linux 시작

Page 19: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 19

날짜 및 시각 확인하기 (date)

현재 로그인한 사용자 확인하기 (who)

디렉토리 / 파일 목록 보기 (ls)

파일 내용 보기 (cat, more)

패스워드 변경하기 (passwd)

과거 로그인한 이력 보기 (last)

명령어 매뉴얼 보기 (man)

자신의 호스트 이름 보기 (hostname, uname)

배너 명령어 (banner)

간단한 유닉스 작업 (1/11)UNIX/Linux 시작

Page 20: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 20

날짜 및 시각 확인하기 (date)

간단한 유닉스 작업 (2/11)UNIX/Linux 시작

Page 21: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 21

간단한 유닉스 작업 (3/11)

현재 로그인한 사용자 확인하기 (who)

UNIX/Linux 시작

Page 22: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 22

간단한 유닉스 작업 (4/11)

디렉토리 / 파일 목록 보기 (ls)

UNIX/Linux 시작

Page 23: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 23

간단한 유닉스 작업 (5/11)

파일 내용 보기 (cat)

UNIX/Linux 시작

Page 24: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 24

간단한 유닉스 작업 (6/11)

파일 내용 보기 (more)

UNIX/Linux 시작

Page 25: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 25

간단한 유닉스 작업 (7/11)

패스워드 변경하기 (passwd)(Password 는 최소 6 문자 이상이어야 하며 , 사전상의 단어나 고유명사는 피하는 것이 좋음 )

UNIX/Linux 시작

Page 26: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 26

간단한 유닉스 작업 (8/11)

과거 로그인한 이력 보기 (last)

UNIX/Linux 시작

Page 27: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 27

간단한 유닉스 작업 (9/11)

명령어 매뉴얼 보기 (man)

UNIX/Linux 시작

Page 28: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 28

간단한 유닉스 작업 (10/11)

자신의 호스트 이름 보기 (hostname, uname)

UNIX/Linux 시작

Page 29: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 29

간단한 유닉스 작업 (11/11)

배너 명령어 (banner)

UNIX/Linux 시작

Page 30: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 30

로그인 (C Shell 가정 ) 할 때 자동적으로 실행되는 파일

자신의 환경 (Prompt 형식 , 명령어 Alias 등 ) 을 설정하기 위해서 사용

Prompt 상에서 .cshrc 파일 실행하는 명령어 (source)

$ source .cshrc

.cshrc 파일 (1/3)UNIX/Linux 시작

Page 31: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 31

.cshrc 파일 (2/3)UNIX/Linux 시작

Page 32: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 32

내 .cshrc 파일을 어떻게 작성하고 수정하지 ?

.cshrc 파일 (3/3)UNIX/Linux 시작

Page 33: Linux/UNIX Programming UNIX/Linux  시작 문양세 강원대학교  IT 대학 컴퓨터과학전공

Linux/UNIX Program-mingby Yang-Sae Moon

Page 33

Practice & Homework #1

실습 및 숙제를 위하여 UNIX 환경을 구축할 것

• 학과의 서버 활용 ( 계정 받아서 활용 ) 하거나

• 자신이 Access 가능한 다른 서버를 활용해도 무관

제출물 : 없음

이후 실습과 숙제를 위해 필수적 요소이므로 , 꼭 스스로 실천하세요 .

UNIX/Linux 시작