1 / 30

Introduction to Unix Systems

진 태 진 <dynaman@sparcs.kaist.ac.kr>. Introduction to Unix Systems. 목 차. OS 란 무엇인가 ? Unix (Linux) Unix 의 구성요소 Unix File System Using Unix – Shell Process UI Shell, Bash 원격접속 Editing command Line Executing a program Commands and programs Redirection,pipe References.

angelique
Download Presentation

Introduction to Unix Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 진 태 진 <dynaman@sparcs.kaist.ac.kr> Introduction to Unix Systems

  2. 목 차 • OS란 무엇인가? • Unix (Linux) • Unix의 구성요소 • Unix File System • Using Unix – Shell • Process • UI • Shell, Bash • 원격접속 • Editing command Line • Executing a program • Commands and programs • Redirection,pipe • References Introduction to UNIX Systems

  3. Operating System • Operating System이란? • “자원”을 관리하는 software! <resource manager> • Memory, hardware, CPU 등을 종합관리 • program 실행 환경을 제공한다. • 이 세상에 OS가 Windows뿐일까? No ! Introduction to UNIX Systems

  4. Unix • 왜 수많은 OS 중에 Unix는 유명하고, 널리 알려졌을까? • -> OS를 C언어로 제작! • 1969년 AT&T Bell 연구소에서 개발 • 다양한 branch • BSD (UC Berkeley – FreeBSD, OpenBSD, Mac OS X - Apple) • 상용 UNIX (SunOS/Solaris, AIX - IBM) • Linux Introduction to UNIX Systems

  5. UNIX Unix History

  6. Linux <Unix’s branch1> • 리누스 토발즈(Linus Torvalds)가 만든 Unix 클론 • 소스가 “완전 공개된 자유로운” 운영체제 “open source” • Linux는 전세계 개발자들이 자발적으로 참여하고 만들어가는 운영체제 • 현재도 활발하게 개발되고 있다. Introduction to UNIX Systems

  7. Unix를 비롯한 현대 OS의 특징 및 구성 요소 • Multi-user • 하나의 컴퓨터에 여러 사용자가 동시에! 사용 가능! (time sharing) • Multi-tasking • 동시에 여러 개의 작업 • foreground / background Introduction to UNIX Systems

  8. Unix File System • File system (Storage abstraction) • Directory와 그 안에 저장된 file을 찾기 쉽도록 유지 관리하는 system • Directory: file들의 집합 구조 • Directory를 이용하여 file들을 계층적으로 관리, 조작 가능하다. • Windows와 Unix에서는 파일 관리가 어떻게 다를까? Introduction to UNIX Systems

  9. Unix File System Filesystem (Windows vs UNIX) Windows: C:\, D:\라는 partition 구분 (물론 A,E,G등도 가능) C:/ D:/ For example) c:\documents and settings\MYID\내문서\HaHaHa.txt Introduction to UNIX Systems

  10. Unix File System Unix: root(/) 에서 갈라진 여러 directory.. 각각의 directory에 partition을 연결(link, mount) 할 수 있다. / bin dev usr etc … home For example) /home/MYID/hahaha.txt Introduction to UNIX Systems

  11. Unix File System • Storage abstraction • 계층적 구조: 하나의 단일 file구조(root directory)에서 뻗어나감. • Login시 위치 → 사용자의 HOME directory • 각 파일이나 디렉토리 에는 사용자의 권한에 따른 permission 존재 Introduction to UNIX Systems

  12. Unix File System • File permission • 시스템의 각 파일은 특정 사용자가 소유하며 파일의 퍼미션을 설정한다. • User/ group/ other • Read/ Write/ Excute • Root는 모든 권한을 가질 수 있다. $ chmod u+r a.txt User Group Other Introduction to UNIX Systems

  13. Unix File System Hierarchy • /bin: 기본적인 프로그램 저장, ls 같은 중요한 유닉스 명령이 위치 • /dev: system의 device 관리 디렉토리 • 모든 디바이스(하드웨어)들이 이 안에 파일처럼 간주된다. • /etc: system 환경 설정 파일 • 각종 System Program 환경 설정 파일들이 저장 되 있음 • /usr: 각종 프로그램 및 공유 라이브러리 • /var: 시스템 파일이나 로그 파일 저장 • /home: 사용자들의 home directory 들이 저장됨 • Windows의 “Documents and Settings”와 같음. • /home/user_id/ 안에 개인 사용자의 자료를 자유롭게 저장할 수 있다. Introduction to UNIX Systems

  14. Process • Process (Thread of execution abstraction) • 독립적인 실행의 단위 • 우리가 실행하는 중인 프로그램 각각이 하나의 프로세스..

  15. Process 리눅스의 프로세스 (top) 윈도우의 프로세스 (컨트롤 + 알트 + 딜리트)

  16. Using OS - User Interface • CUI (Character User Interface) • 문자로 모든 실행과 동작을 표현 • MS-DOS 등… • GUI (Graphical User Interface) • 그림으로 된 요소로 기능과 용도를 나타냄… • 그래픽을 직접 조작함으로써 실행 및 동작 가능 • Mac OS X, Windows, Linux 등… • 마우스 사용! Introduction to UNIX Systems

  17. Shell • Linux/Unix System에서 사용하는 대화형 Interface • 사용자와 kernel 사이의 인터페이스 • 사용자로부터 명령을 읽어 실행하는 프로그램 • 사용자가 입력을 해석하여 kernel에 전달 • 종류 : bash, tcsh, ksh, … Introduction to UNIX Systems

  18. 다른 컴퓨터의 Shell 사용하기 - 원격 접속 • 원격 데스크탑(mstsc)과 유사함 • 네트워크를 통해 원격에 있는 컴퓨터에 접속하여 작업을 함 • 방법: SSH(Secure SHell) 이 대표적 • SSH: 암호화 기법을 사용하여 강력한 인증 + 안전한 통신 기능 • SSH client 프로그램- PuTTY, Xshell 등 Introduction to UNIX Systems

  19. Editing command line • Shortcut • ^L: clear 기능 • ^U: line의 시작 ~ cursor 위치 까지 삭제 • ^K: cursor 위치 ~ line의 끝 까지 삭제 • ^R: 명령어 history 검색.. 과거에 사용했던 명령어 검색 Introduction to UNIX Systems

  20. Executing a program • Path • File or directory의 주소 • 실행시킬 file까지의 path를 입력하면 file이 실행됨. <절대경로> • /: root directory <상대경로> • ./: 현재 directory • ../: 상위 directory TIP : ~/ 는 자기의 홈 디렉토리 ex) $ /bin/ls → root directory의 bin directory 안의 ls 실행.. $ ./a.out → 현재 directory의 a.out 프로그램을 실행

  21. Various shell built-in commands and programs • Basic builtins: shell에 포함된 명령어 • cd: directory 이동 • pwd: 현재 위치 경로 출력 • exit / logout: 끝내기 • Coreutils: 자주 사용하는 프로그램들을 모은 package • mkdir / rmdir: 디렉토리 생성 / 삭제 • cp / rm / mv: 파일 복사, 삭제, 이동 • ls, cat, less, grep, sort, chmod, ps, w, ... • Applications: 기타 자주 사용하는 유용한 프로그램들 • vim, mutt, javac/java, gcc, telnet, ssh Introduction to UNIX Systems

  22. g Permission User/group/other byte u Various shell built-in commands and programs $ ls (directory 내 file 및 directory list 목록) $ ls –a (hidden file을 포함한 모든 file 목록) $ ls –l (file의 추가 정보를 포함한 file 목록) Introduction to UNIX Systems

  23. Various shell built-in commands and programs $ ls(directory 내 file 및 directory list 목록) $ cd ..(상위 directory) / cd ~(home directory) / cd ***(*** directory) $ mkdir temp(temp라는 이름의 directory 생성) $ rmdir temp(temp directory 삭제) $ cp old.txt new.txt(old.txt를 new.txt에 복사) $ rm old.txt(파일 삭제) / rm temp –rf(폴더 삭제) $ mv new.txt ./new.txt (파일 이동) Introduction to UNIX Systems

  24. Various shell built-in commands and programs • 파일 내용 보기 $ vim ***(빔 파일 편집기 실행) $ cat ***(파일의 내용을 보여줌) $ less ***(한 장씩 끊어서 읽기 가능) $ ps(현재 실행중인 process) $ w (log-on 되어있는 사용자가 무엇을 하는지 보여줌) Introduction to UNIX Systems

  25. Various shell built-in commands and programs • pwd : 현재 자신의 위치를 보여준다. • passwd : 패스워드를 바꿀 수 있다. • chsh : 사용할 쉘을 고를 수 있다. ex) chsh /bin/bash Introduction to UNIX Systems

  26. Various shell built-in commands and programs • tab키 : 남은 명령을 유추하여, 정확한 부분은 매꿔준다. • ? : 어떤 문자, * : 어떤 문자열 -> ls 등에 응용가능 Introduction to UNIX Systems

  27. Redirection, pipe • >, <, >> (redirection) $ ls > ls.txt : ls.txt 파일에 ls의 output이 저장 $ grep home < ls.txt : ls.txt 파일을 input으로 받아 grep home 실행 (home 이라는 단어가 들어가있는 line을 출력) $ ls –al >> ls.txt : ls.txt 파일의 뒤에 이어서 ls –al 출력 Introduction to UNIX Systems

  28. 출력 입력 (앞 command) Pipe (뒷 command) Redirection, pipe • | (pipe): (앞 command) | (뒷 command) • (앞 command)의 출력 결과를 (뒷 command)의 입력으로 생각! $ nugu | grep 07 : nugu의 결과를 화면에…→ 화면에 출력될 결과 안에 07 이라는 단어가 들어가있는 line들만 출력 $ ls –al | grep test : ls –al를 화면에…→ 그 결과를 입력으로 받아 test 가 들어가있는 line들만 출력 Introduction to UNIX Systems

  29. Q&A Introduction to UNIX Systems

More Related