80 likes | 284 Views
과제 1 : Linux 기본 이해. 제출일: 3월 31일 까지 제출 방법 : Electronic version 과 Printout version 모두 제출 Electronic version: 지정 디렉토리(~ mysung/2000osreport/ 자기학번)에 소스파일과 실행파일 복사 Printout version: 편집 결과 및 프로그램의 소스와 실행 결과를 출력하여 제출 과제 내용 Vi 편집기를 이용하여 자기 소개서를 작성하여 제출
E N D
과제 1 : Linux 기본 이해 • 제출일: 3월 31일 까지 • 제출 방법: Electronic version과 Printout version 모두 제출 • Electronic version: 지정 디렉토리(~mysung/2000osreport/자기학번)에 소스파일과 실행파일 복사 • Printout version: 편집 결과 및 프로그램의 소스와 실행 결과를 출력하여 제출 • 과제 내용 • Vi 편집기를 이용하여 자기 소개서를 작성하여 제출 • Linux의 Booting 과정에 대하여 가능한한 자세하게 정리하여 제출 • ftp site (210.126.35.140)의 /pub/osprog/p.c 프로그램을 참조하여 C 언어로 아래와 같은 p 프로그램의 version 2와 3을 작성하고 그 소스 코드및 실행 파일을 위의 지정 디렉토리에 복사 • Version 2: 페이지당 줄 수를 명령 줄로부터 변수 pagesize에 지정되도록 $p –n … • Version 3: 이전의 입력부분을 재출력하는 기능을 추가 • 선행 작업 • Linux 명령 익히기 • Vi 편집기 익히기 • Ftp 접속 익히기 (man ftp) • Linux 환경에서 C 언어 프로그램 실행 방법 알기 (man gcc) • 참고문헌 • M. Beck, H. Bohme, M. Dziadzka, U. Kunitz, R. Magnus, D. Verworner, Linux Kernel Internals, Second Edition, Addison-Wesley 1999 • 한동훈, 이만용 역(Neil Mattew, Richard Stones 원저), 초보자용 리눅스 프로그래밍 (Beginning Linux Programming), 대림, 1998. • 기타 Linux 참고서적 • Unix 실습중심 UNIX 시스템 개론, 이동호 저, 정익사, 1993. 2000 운영체제
Bill Joy가 개발 Unix 텍스트 에디터 vi: 화면 단위 편집기, ed/ex 포함 ex: ed 기반 강력한 행 단위 편집기 ed: 첫번째 Unix 시스템용 편집기 edit: 단순한 행 단위 편집기 sed: 문자열 에디터 lex: 프로그래머 유틸리티 awk: 프로그램 가능한 텍스트 편집 언어 grep: 텍스트 검색 프로그램 emacs: MIT Richard Stallman이 개발 윈도우 형식 많은 버전 Warren Montgomery 버전 Jove(Jonathan) Gosling EMACS GNU EMACS(Richard stallman) Vi를 이용한 기본 텍스트 편집 • Vi의 시작 • $ vi ex1 • $ vi -R ex1 • 그림 참조 2000 운영체제
replace append insert open esc esc esc esc a i R oO $Vi filename ~ ~ Vi mode (Vi 명령 모드) ~ $ :q! (기록 않음) ZZ(기록) :wq x dd r 커서이동 Vi 편집 모드 2000 운영체제
커서의 이동 hjkl 이용 H J K L [Vi mode] 4j G 명령으로원하는 행으로 이동 7G G : 마지막 행으로 화면 이동 ^F ^B ^D ^U 텍스트 추가, 삽입, 수정 a(append) i(insert) o(open) O(Open) R(Replace) 텍스트의 삭제 및 취소(undo) x(exclude?) d(delete) dw db d$ d^ r(replace) u(update) U(Update) 최근 명령 재 실행 . 파일 관리 Vi를 벗어나지 않고 저장하기: :w 저장 않고 끝내기: :q! 또 다른 파일 편집: :e xx 또는 :e! xx 다른 파일을 읽어 와 덧붙이기: :r xx http://marvel.inchon.ac.kr/ 의 Information 참조 Vi를 이용한 기본 텍스트 편집.. 2000 운영체제
FTP와 익명(anonymous) FTP • 신뢰성 있는 파일 전송 프로토콜 ftp(file transfer protocol) 접속 $ ftp hostname (인터넷 도메인 명) 또는IP_address $ ftp gnu.inchon.ac.kr 또는 210.126.35.140 Name : anonymous Password: mysung@lion.inchon.ac.kr • ftp 명령 ascii : 전송할 파일 타입을 ASCII 파일로 자정 binary: 전송할 파일 타입을 이진 파일로 지정 cd dir : 원격 ftp 안에서 디렉토리를 변경 delete file : 파일을 삭제 (대부분 허용되지 않음) dir [file] : -l 옵션처럼 긴 포맷으로 파일 리스트를 출력, ls보다유용 lod dir : 자신의 지역 시스템의 디렉토리 변경 ls [files] : 현재 (원격) 디렉토리 안의 파일명을 출력 get file : 자신의 지역 호스트로 파일을 가져옴 mget file : 여러 개의 파일을 가져옴 put file : 원격 시스템에 파일을 가져다 놓음 mput file: 여러 파일들을 원격 시스템에 가져다 놓음 help [cmd]: 설명을 출력 open host : 다른 호스트에 접속 quit : 접속을 끊고 ftp 종료 pwd : ftp 호스트의 작업 디렉토리를 출력 glob : 원격 ftp 디렉토리에서 만능문자 매칭 사용 여부에 대한 토글 기능 status : ascii/binary, glob off/on 등 세션의 접속 파라미터들을 출력 2000 운영체제
C 언어 프로그래밍 • Unix: cc compiler • $ cc –o hello hello.c • $ hello • Linux: gcc compiler • GNU project C and C++ Compiler • GNU(GNU’s Not Unix, Free Software Foundation의 Richard Stallman) • man gcc • info gcc • $ gcc hello.c • $ a.out • $ gcc –o hello hello.c • $ hello 2000 운영체제
일찍 일어나는 새 당신이 새라면 아침에 일찍 일어나야 한다. 그래야 벌레를 잡아먹을 수 있을 테니까. 만일 당신이 새라면 아침에 일찍 일어나라. 하지만 만일 당신이 벌레라면 아주 늦게 일어나야 하겠지. 쉘 실버스타인 2000 운영체제