<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

Similar documents
10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint UNIX Shell.ppt

Microsoft PowerPoint UNIX Shell.pptx

Microsoft PowerPoint - 02-Shell-Programming

Linux SHELL

Linux SHELL

Microsoft PowerPoint - u5.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - u5.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 05_(Linux)_(Fundamental)_Shell_Programming

PowerPoint 프레젠테이션

Microsoft PowerPoint - 04_UsingShell

Microsoft PowerPoint - comp_prac_081223_2.pptx

Content Shell 이란? Redirection & Pipes Shell Programming 변수 조건 프로그램제어 리스트 함수 Shell 에내장된명령 Here documents Page 2

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

1 Shell script What the shell?

ksh프로그램문법.ppt

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

단계

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

Tcl의 문법

PowerPoint 프레젠테이션

Microsoft PowerPoint - 게시물2 - unix07.ppt [호환 모드]

Microsoft PowerPoint - u6.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

제9장 프로세스 제어

untitled

PowerPoint 프레젠테이션

Microsoft Word - Lab_080104A.docx

제1장 Unix란 무엇인가?

CHAP 10 PERL.hwp

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

C 프로그램의 기본

chap2

Microsoft PowerPoint Unix3.ppt [호환 모드]

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

Microsoft PowerPoint - 07-EDU-LinuxUser-3.ppt

제8장 프로세스

Microsoft PowerPoint - unix02.ppt [호환 모드]

Microsoft PowerPoint - chap4_2013 [호환 모드]

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

제8장 프로세스

INDEX 1. 개요 데이터백업스크립트작성 crontab 을이용한자동백업예약 활용 - 다른서버에백업하기

Microsoft PowerPoint - Java7.pptx

Table of contents 1. 구성도 Maxgauge For MySQL 설치정보... 6 설치파일정보... 6 포트정보... 6 주요디렉토리... 6 소프트웨어기동 / 종료... 7 기동... 7 종료 Maxgauge For MySQ

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch09_파이프 [호환 모드]

2009년 상반기 사업계획

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

Unix & Linux 개요 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante fro

쉽게 풀어쓴 C 프로그래밍

ABC 7장

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Adobe Flash 취약점 분석 (CVE )

슬라이드 1

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력

Microsoft PowerPoint 통신 및 압축 명령어.ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap9 [호환 모드]

PowerPoint 프레젠테이션

Microsoft PowerPoint - 05_Utility

Microsoft PowerPoint - C프로그래밍-chap15.ppt [호환 모드]

/chroot/lib/ /chroot/etc/

작성자 : 기술지원부 김 삼 수

제2장 리눅스 사용

임베디드시스템설계강의자료 3 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다. / /bin/ /home/ /home/taesoo/ /home/taesoo/downloads /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자 (t

긴급송부 보안경고 코드인젝션 취약점관련금융회사자체점검및패치적용권고 보안서비스본부민상식팀장, 조병열인턴 / 개요 코드인젝션취약점이발견됨 에따라조속한 조치가요구되므로이를전파함 위험도및긴급도 구분 위험도 긴급도 등급 상 상 취약점내용 명령인젝션취약점 일

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

2013 년정보보호학과졸업작품보고서 Linux 보안관련가상실습및학습시스템개발 팀명 : 1 조 S3(Server Security System) 지도교수 : 양환석교수님 조장 : 노수지 (4 년 ) 유승언 (4 년 ) 최준호 (4 년 ) 중부대학교정보보호학과

The Pocket Guide to TCP/IP Sockets: C Version

강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Refer

PowerPoint Presentation

Discrete Mathematics

System Programming Lab

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

데이터 시각화


ORACLE-SQL

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

DBMS & SQL Server Installation Database Laboratory

PowerPoint 프레젠테이션

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

제 1604 회리눅스마스터 2 급 2 차 A 형정답

Transcription:

쉘 (Shell) 환경 운영체제실습

목차 Ⅴ. 쉘 (shell) 환경 5.1 쉘 (shell) 이란? 5.2 쉘 (shell) 기능 5.3 쉘 (shell) 변수 5.4 기타기능 5.5 쉘 (shell) 프로그래밍

5.1 쉘 (shell) 이란? 쉘 (Shell) 사용자가입력한명령어를해석해주는명령어해석기 (Command interpreter) 사용자와운영체제 (OS) 사이에인터페이스 (interface) 역할 쉘프롬프트 - 쉘 (shell) 이사용자가명령어를입력해주길기다리며, 명령어를받을준비가되어있음을알림 (ex: #, $, %) 명령어입력 명령어해석

5.1 쉘 (shell) 이란? 쉘 (Shell) 종류 본쉘 (bourne shell-sh) - AT&T사의벨 (bell) 연구소에서 Steven Bourne이개발한시스템 V의 shell - 쉘프롬프트 : $ - 가장오랫동안표준구성요소로서사용 - 강력한명령프로그래밍언어기능 C 쉘 (C shell - csh) - 캘리포니아대학의빌조익이개발한 4.3BSD의 shell - 쉘프롬프트 : % - C언어와유사한언어사용 본어게인쉘 (bourne-again shell bash) - GNU 프로젝트를위해브라이언폭스 (Brian Fox) 가개발한 shell - 쉘프롬프트 : $ - bourne 쉘과대부분호환 - ksh, csh 에서제공하는기능들추가 ( 히스토리, 별명, 연산기능, job control, 명령어나파일이름자동완성기능등 ) - 대화형에적합 콘쉘 (Korn shell ksh) - AT&T사의벨 (bell) 연구소에서 Dave Korn이 bourne shell, Korn shell의장점 + 새로운기능추가하여개발한 shell - 쉘프롬프트 : $ - 보편적으로사용하지않음

5.2 쉘 (shell) 기능 쉘 (Shell) 의기능 내 / 외부명령어해석기 다중프로세스관리 여러명령연결 ( 파이프 ) 입 / 출력리다이렉션 특수문자해석및치환 명령어치환 지역변수 / 환경변수관리 스크립트프로그래밍언어

5.2 쉘 (shell) 기능 현재사용가능한 shell 정보 - #cat /etc/shells 쉘 (Shell) 선택 현재사용중인 shell -#echo $SHELL 로그인쉘 (login shell) 정보 - #cat /etc/passwd - 7 번째필드 참고 : echo 명령어 - 문자열이나변수의값을화면에출력시키는명령어 - #echo 출력할문자열 - #echo $ 변수명 프롬프트정보출력

5.2 쉘 (shell) 기능 쉘 (Shell) 해석과정 명령어입력 shell이명령어해석 ( 명령어행중에 $ 변수가있으면, 찾아서변수의값으로대체 ) 더이상해석할것이없다면, 자식프로세스 (child shell) 을복제하여생성 자식 shell은해당명령어를실행 ( 현재 shell은자식shell이명령어를종료할때까지기다림 ) 예 ) #echo $SHELL Yes( 유 ) Shell 프롬프트 (#, $, %) 명령어입력 ( #echo $SHELL ) 명령어해석 ( #echo $SHELL ) 환경변수 유무 No( 무 ) 자식 프로세스생성 No( 무 ) 백그라운드실행유무 대기 Yes( 유 ) $ 변수명을 변수값으로대체 ( #echo /bin/bash ) 명령어수행 (/bin/bash 출력 )

5.2 쉘 (shell) 기능 메타문자 (Meta Characters) Shell 이특수한의미로받아들이고, 해석을시도하는문자 (shell 이문자그대로의의미로받아들이지않음 ) 메타문자가나올때마다, 항상실행전에 shell 이먼저해석 메타문자 : $ -$ 단어 - $ 뒤에나오는단어를변수이름으로생각하고, 변수값으로대체 -예)#echo $SHELL 해석금지메타문자 : \, backslash - shell이 \ 문자를만나면, 그다음문자가메타문자이든아니든, 상관하지않고해석을하지않음 - 예 ) echo \$SHELL

5.2 쉘 (shell) 기능 메타문자 (Meta Characters) 문자열해석금지메타문자 :, - 공백문자 : 명령어와옵션등을구별하는기본구분자 (delimeter) - 공백문자를포함하는문자열에대하여공백문자해석방지 큰따옴표 - 공백이포함된문자열그대로출력 작은따옴표 - 공백이포함된문자열그대로출력 - 문자열속에변수에대하여대체기능금지 - 예 ) #echo My shell is $SHELL // My< 공백 >< 공백 >shell 예 ) #echo My\ \ shell is $SHELL // My\< 공백 >\< 공백 >shell 예 ) #echo My shell is $SHELL // My< 공백 >< 공백 >shell 예 ) #echo My shell is $SHELL // $SHELL을해석하지않음

5.2 쉘 (shell) 기능 파이프 ( pipe, ) 동시에실행되는프로그램간에 data 를전달하는통로를만드는것 명령어1 명령어2 - [ 명령어1] 의실행결과가, [ 명령어2] 의표준입력으로연결됨 - 예 ) cat /etc/passwd grep pyo - 예 ) ls /bin more - 예 ) cat /root/anaconda-kr.cfg wc ( 참고 ) wc명령어 - # wc [ 옵션 ] 파일명 - 파일을분석하여, 총행수, 단어수, 바이트수출력 -옵션 ( -l : 행수만출력 / -w : 단어수만출력 / -c : 바이트수만출력 )

5.2 쉘 (shell) 기능 리다이렉션 (Redirection, <, >, ) 표준입력 (stdin) - 일반적으로, 키보드입력 표준출력 (stdout) - 모니터 - 정상적인처리결과를모니터를통해출력 표준에러 (stderr) - 모니터 - 에러결과를모니터를통해출력 ( 버퍼링하지않고바로출력 ) 표준출력리다이렉션 ( >, >>) - 오른쪽의결과를왼쪽방향으로출력 - 보통외쪽의실행결과를오른쪽의파일로저장할때사용 - 예 ) #ls l /usr/bin > bin-list.txt - 예 ) #ls /dev >> bin-list.txt

5.2 쉘 (shell) 기능 리다이렉션 (Redirection, <, >, ) 표준입력리다이렉션 (<) - 오른쪽의내용을왼쪽방향으로출력 - 예 ) cat < /etc/passwd 표준에러리다이렉션 (2>) - 왼쪽의실행결과에러가발생했을때, 에러결과를오른쪽방향으로출력 - 예 ) 명령어 > stdout.txt 2> stderr.txt - 예 ) 명령어 > stdall.txt 2>&1 // 출력과에러를 stdall.txt에저장 - 예 ) 명령어 > /dev/null 2> /dev/null // 출력과에러결과가필요하지않을때 // null장치 (/dev/null) 사용

5.2 쉘 (shell) 기능 명령관리 한줄에여러개의명령어 - 세크콜론 (;) 메타문자로명령어구분 - 예 ) 명령어1 ; 명령어2 ; 명령어3 && 메타문자 (AND) - 명령어1 && 명령어2 - 앞의 [ 명령어1] 이성공적으로수행되었을때만, [ 명령어2] 가실행됨 메타문자 (OR) - 명령어 1 명령어 2 - [ 명령어 1] 이실패한경우에만 [ 명령어 2] 실행

5.3 쉘 (shell) 변수 Shell 변수 쉘 (Shell) 변수 - 명령어실행, 사용자환경설정및 shell 프로그래밍을하기위한환경정보를저장 Shell 변수종류 지역변수 환경변수 변수 변수 변수전달 (X) 자식 shell 생성 변수전달 (O) X 변수

5.3 쉘 (shell) 변수 환경변수 쉘 (Shell) 변수

5.3 쉘 (shell) 변수 쉘 (Shell) 변수 지역변수설정 - 변수명 = 값 -예)#movie=X-man #movie= Notting Hill // 공백주의 변수값확인 - #echo $ 변수명 - 예 ) #echo $movie 변수삭제 - unset 변수명 - 예 ) #unset movie

5.3 쉘 (shell) 변수 쉘 (Shell) 변수 지역변수를환경변수로만들기 - #export 지역변수명 환경변수를지역변수로만들기 - #export n 환경변수

5.4 기타기능 별칭 (alias) Alias설정 - 긴명령어를간단한이름으로대체하여사용하는기능 - #alias 별칭 = 명령어 - 예 ) #alias ll= ls l Alias 삭제 - #unalias 삭제할별칭 - 예 ) #unalias ll

5.5 쉘프로그래밍 쉘스크립트작성 쉘프로그래밍 #!/bin/sh echo user name : $USERNAME echo home dir : $HOME exit 0 쉘스크립트실행 - #sh < 스크립트파일 > - 실행퍼미션추가후실행 #chmod u+x scriptfile.sh #./scriptfile.sh 기타 - 펄 (perl) - 파이썬 (python)