Transcript null
UNIX 응용 6주 - 쉘 [email protected] 쉘(shell)이란? • 사용자와 운영체제 사이의 인터페이스로 동작하는 명령어 해석기 – 사용자가 입력한 명령을 해석하여 원하는 프로그램을 호출 – 고급 프로그래밍 언어로 사용 가능 2/12 쉘의 종류 • Steven Bourne의 Bourne 쉘(sh) – 가장 오랜 동안 모든 UNIX시스템의 표준 구성 요소 – 강력한 명령 프로그래밍 언어 기능을 가짐 – 쉘 명령 대본을 작성하는데 이용 • Bill Joy의 C 쉘(csh) – C 언어와 유사한 언어를 사용 – 대화형 사용으로 C쉘을 추천 • Dave korn의 Korn 쉘(ksh) – UNIX시스템에서 표준 shell로 제공되지만 보편적으로 사용되지 않음 – Bourne쉘과 완전히 호환성이 있으며, C 쉘의 대화형 기능을 추가 3/12 명령줄(command line) • 명령줄의 문법 : command [arg1] [arg2] … [argn] – 명령 이름 – 인수 • 파일명, 문자열, 숫자의 문자열, 혹은 명령이 작용하는 기타의 객체들 • 옵션 – 명령의 효과를 수정하는 인수 – 옵션 앞에 -를 붙임 – 한 명령에 여러 개의 옵션 제공 e.g. ls –al, ls –la, ls –a –l, ls –l –a • 명령줄의 처리 – 그림 5-3, 5-4 참조 4/12 프로그램 실행 • 포그라운드 프로세스(foreground process) – 계속 진행하기 전에 명령이 끝나기를 기다림 – 인터럽트 키를 이용해 프로세스 중지 • 백그라운드 프로세스(background process) – 명령의 실행 기간이 길고 감독을 필요로 하지 않을 때 유용 • sorts, compilation – 명령의 끝에 앰퍼샌드(&)를 붙임 – 백그라운드 프로세스와 포그라운드 프로세스를 동시에 수행 (멀티태스킹 시스템) – 프로세스 중지 • kill [-9] PID ee%kill 1406 5/12 표준 입출력 • 단말기를 파일로 – /dev/pts/번호 • 이 파일에 쓰면 단말기의 화면에 표시되고, • 이 파일에서 읽으면 단말기의 키보드로 입력한 것이 읽힌다. • 표준 입력과 출력으로서의 단말기 6/12 표준 출력의 방향 전환 • 명령의 출력을 단말기 대신 지정된 파일로… • 출력 재지정 기호(>) %command [arguments] > file • 예 ee%cat > memo … ^D ee% 출력 방향 전환을 하고자 하는 파일이 기존에 존재하는 파일일 경우, 이전 내용이 모두 지워진다? 7/12 표준 입력의 방향 전환 • 명령의 입력을 단말기 대신에 지정된 파일로 방향전환 • 입력 재지정 기호 (<) %command [arguments] < file • 예 ee%cat < memo ee%mailx alex < memo.alex 8/12 표준 출력을 파일에 추가하기 • 출력을 파일의 끝에 추가하고자 하는 경우 – 기존의 파일 내용을 그대로 유지 • 출력 재지정 추가 기호(>>) %command >> file • 예 ee%date > whoson ee%cat whoson ee%who >> whoson ee%cat whoson 9/12 파이프 • 한 프로그램의 표준 출력을 다른 프로그램의 표준 입력으로 연결 – 입출력 재지정 방법 %ls –al > tempfile %wc –l < tempfile %rm tempfile – 파이프라인 방법 %ls | wc –l • 예 %who | grep ‘chas’ %who | sort %ls | more 10/12 필터와 tee 유틸리티 • 필터 – 데이터의 입력 스트림을 처리하여 데이터의 출력 스트림을 생성하기 위한 명령 %who | sort | more • tee – 명령의 출력을 파일로 보내면서 동시에 표준 출력으로 보냄 %who | grep chas %who | tee who.out | grep chas 11/12 파일명 생성 • 파일명 생성을 제어하는 특수 문자(메타 문자 혹은 와일드 카드) • ? : 어떤 한 글자와 부합 %ls memo? • * : 어떠한 문자열과 부합 %ls memo* %ls .* • [ ] : 문자 클래스 정의 %ls part[01235] %ls [a-m]* 12/12