1 / 24

Linux/UNIX Programming UNIX SHELL 최미정 mjchoi@kangwon.ac.kr 강원대학교 IT 대학 컴퓨터과학전공

Linux/UNIX Programming UNIX SHELL 최미정 mjchoi@kangwon.ac.kr 강원대학교 IT 대학 컴퓨터과학전공. Shell?. UNIX Shell. Shell 이란 명령어 해석기 ( Command Processor or Command Interpreter ): 사용자가 입력하는 명령을 읽고 해석하는 프로그램 프로그래밍 언어 : Shell 이 해석할 수 있는 스크립트 (shell script) 라는 프로그램을 작성 유닉스를 사용하는데 있어 주요한 인터페이스.

milos
Download Presentation

Linux/UNIX Programming UNIX SHELL 최미정 mjchoi@kangwon.ac.kr 강원대학교 IT 대학 컴퓨터과학전공

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. Linux/UNIX Programming UNIX SHELL 최미정 mjchoi@kangwon.ac.kr 강원대학교 IT대학 컴퓨터과학전공

  2. Shell? UNIX Shell Shell이란 명령어 해석기(Command Processor or Command Interpreter):사용자가 입력하는 명령을 읽고 해석하는 프로그램 프로그래밍 언어:Shell이 해석할 수 있는 스크립트(shell script)라는 프로그램을 작성 유닉스를 사용하는데 있어 주요한 인터페이스

  3. Shell의 종류 (1/2) UNIX Shell • C Shell • UNIX에서 기본적으로 제공되는 shell로서, 일반적으로 가장 많이 사용함 • C Sehll에는 크게 두 가지가 있음 • 첫 번째는 C Shell 자체로서 프로그램 이름은 csh (/bin/csh) • C Shell 계열의 다른 하나는 tcsh이며, 다른 쉘들에 비해서 아주 뛰어난 기능을 제공하는 C Shell의 하나임 • Bourne Shell • 초기의 유닉스 Shell 중의 하나로 지금도 널리 사용되고 있음 • Korn Shell은 Bourne Shell에 대해 호환성을 제공하는 확장판 • Korn Shell의 중요한 특성: 이전 명령어 기억, 작업 제어 등 • Bourne Shell의 아류들: Bash Shell, zsh 등

  4. Shell의 종류 (2/2) UNIX Shell

  5. 표준 입력과 표준 출력 UNIX Shell • 표준 입출력의 기본 개념모든 프로그램은 어떤 자원으로부터든지 입력을 받아들일 수 있어야 하고 어떤 대상이든지 출력할 수 있어야 함 • 표준 입력(standard input): 데이타를 읽는 방법/디바이스 • 표준 출력(standard output): 데이타를 출력하는 방법/디바이스 • 두 가지 커다란 장점 • 표준 입출력을 사용하면 사용자 입장에서 엄청난 유연성을 가질 수 있음 • 프로그램을 설계하고 작성하는 일이 매우 쉬워졌음

  6. 표준 출력의 Redirection (1/2) UNIX Shell Redirection: 표준 출력을 파일로 보내는 것 어떤 명령의 결과를 파일로 보내고 싶다면 그 명령어 다음에 “>” 문자를 사용하고 파일 이름을 사용예) $ ls –l > dir_list 표준 출력 내용을 기존 파일에 Append하려면 “>>”를 사용예) $ date >> dir_list

  7. 표준 출력의 Redirection (2/2) UNIX Shell

  8. 표준 출력의 Redirection (2/2) UNIX Shell

  9. 파이프라인(Pipeline) (1/4) UNIX Shell 표준 출력을 다른 프로그램의 입력으로 사용하고자 할 때 사용함(프로그램의 결과를 다른 프로그램에 파이프 시킨다고 말함) 프로그램(명령어) 이름 다음에 “|”(수직 막대)를 사용 예) sort 프로그램의 결과를 lpr(데이타를 인쇄하는 명령어)로 보내려면:$ sort input | lpr Shell을 사용하는데 있어서 매우 유용한 기능의 하나임

  10. 파이프라인(Pipeline) (2/4) UNIX Shell

  11. 파이프라인(Pipeline) (3/4) UNIX Shell

  12. 파이프라인(Pipeline) (4/4) UNIX Shell

  13. 표준 입력의 Redirection (1/3) UNIX Shell 표준 입력(즉, 키보드 입력)을 파일로 Redirection 시키고 싶은 경우(Shell에게 그 프로그램이 데이타 입력을 키보드로부터가 아니라 파일로부터 읽어 들이도록 말하는 것) 실행하고자 하는 프로그램(명령어) 다음에 “< ” 문자를 사용한 후 입력 파일의 이름을 적음$ sort < input 표준 입력과 출력을 함께 Redirection하는 것도 가능$ sort < unsorted > sorted

  14. 표준 입력의 Redirection (2/3) UNIX Shell

  15. 표준 입력의 Redirection (3/3) UNIX Shell

  16. 파이프라인 분리(tee) (1/3) UNIX Shell T자 관(tee)자신에게 들어오는 입력 데이타를 표준 출력(stdout)으로 출력할 뿐 아니라 지정된 파일로도 보내는 장치 T관을 만들기 위해서는 tee 명령을 사용$ tee [-a] files // “-a”는 append를 의미함 일반적으로 파이프라인과 함께 사용하여, 출력 결과를 화면(표준 출력)으로 display함과 동시에 파일로 저장하기 위하여 사용함$ sort < unsorted | tee sorted

  17. 파이프라인 분리(tee) (2/3) UNIX Shell

  18. 파이프라인 분리(tee) (3/3) UNIX Shell

  19. 히스토리(history) 기능 (1/5) UNIX Shell 명령 입력을 쉽게 하도록 C Shell에서 제공하는 기능으로서, 과거에 입력한 명령을 반복하여 입력할 때 매우 유용함 히스토리 치환 기능: 이전에 사용했던 명령을 다시 칠 필요 없이 고쳐서 재입력 하도록 해주는 것 히스토리 목록을 보기 위해서는 history 명령을 사용$ history [n]// 최근 n개의 명령어 이력을 보여줌 히스토리 기능을 사용한 명령어 입력 방법$ !!// 가장 최근에 수행한 명령어를 반복하여 수행$ !n// n번째 수행한 명령어를 반복하여 수행$ !pattern// 주어진 pattern으로 시작하는 가장 최근의 명령어 반복 수행

  20. 히스토리(history) 기능 (2/5) UNIX Shell

  21. 히스토리(history) 기능 (3/5) UNIX Shell

  22. 히스토리(history) 기능 (4/5) UNIX Shell

  23. 히스토리(history) 기능 (5/5) UNIX Shell

  24. 초기화 파일과 종료 파일 UNIX Shell • C Shell이 명령을 저장해 두었다가 자동으로 실행되도록 할 수 있는 특수한 세 파일: .cshrc, .login, .logout • .cshrc 파일(or .login 파일)에 일반적으로 들어가야 할 명령 • Shell 변수를 설정하는 것 (주로 경로, 터미널 타입 등을 정의) • Alias를 정의하기 위한 것 • .cshrc과 .login은 그 의미가 조금 다르나, 현재의 UNIX 환경에서는 큰 차이가 없으므로, 둘 중 하나의 파일에 대부분의 내용을 정의하여도 무방함 • .logout은 로그 아웃 시에 수행되는 파일임 (일반적으로 사용치 않음)

More Related