Linux SHELL

Similar documents
Linux SHELL

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

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

Microsoft PowerPoint - 02-Shell-Programming

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint UNIX Shell.ppt

Microsoft PowerPoint UNIX Shell.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - 04_UsingShell

Microsoft PowerPoint - u5.pptx

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

Microsoft PowerPoint - comp_prac_081223_2.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

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

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

리눅스 프로세스 관리

PowerPoint 프레젠테이션

Microsoft Word - Lab_080104A.docx

/chroot/lib/ /chroot/etc/

Microsoft PowerPoint - u5.pptx

ksh프로그램문법.ppt

1 Shell script What the shell?

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

Microsoft PowerPoint - [2009] 02.pptx

Java ...

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word - PLC제어응용-2차시.doc

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

단위: 환경정책 형산강살리기 수중정화활동 지원 10,000,000원*90%<절감> 형산강살리기 환경정화 및 감시활동 5,000,000원*90%<절감> 9,000 4, 민간행사보조 9,000 10,000 1,000 자연보호기념식 및 백일장(사생,서예)대회 10

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

윈도우즈프로그래밍(1)

Microsoft PowerPoint - Java7.pptx

ABC 7장

OCW_C언어 기초

슬라이드 1

C 프로그램의 기본

PowerPoint 프레젠테이션

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

우리나라의 전통문화에는 무엇이 있는지 알아봅시다. 우리나라의 전통문화를 체험합시다. 우리나라의 전통문화를 소중히 여기는 마음을 가집시다. 5. 우리 옷 한복의 특징 자료 3 참고 남자와 여자가 입는 한복의 종류 가 달랐다는 것을 알려 준다. 85쪽 문제 8, 9 자료

상품 전단지

::: 해당사항이 없을 경우 무 표시하시기 바랍니다. 검토항목 검 토 여 부 ( 표시) 시 민 : 유 ( ) 무 시 민 참 여 고 려 사 항 이 해 당 사 자 : 유 ( ) 무 전 문 가 : 유 ( ) 무 옴 브 즈 만 : 유 ( ) 무 법 령 규 정 : 교통 환경 재

2

DBPIA-NURIMEDIA

화이련(華以戀) hwp

ÆòÈ�´©¸® 94È£ ³»Áö_ÃÖÁ¾

歯1##01.PDF

<5BC1F8C7E0C1DF2D31B1C75D2DBCF6C1A4BABB2E687770>

120229(00)(1~3).indd

01Report_210-4.hwp

<C3D1BCB15FC0CCC8C45FBFECB8AE5FB1B3C0B0C0C75FB9E6C7E D352D32315FC5E4292E687770>



교육 과 학기 술부 고 시 제 호 초 중등교육법 제23조 제2항에 의거하여 초 중등학교 교육과정을 다음과 같이 고시합니다. 2011년 8월 9일 교육과학기술부장관 1. 초 중등학교 교육과정 총론은 별책 1 과 같습니다. 2. 초등학교 교육과정은 별책

시험지 출제 양식

177

제주어 교육자료(중등)-작업.hwp

¸é¸ñ¼Ò½ÄÁö 63È£_³»Áö ÃÖÁ¾

<C3D6C1BE5FBBF5B1B9BEEEBBFDC8B0B0DCBFEFC8A C3D6C1BEBABB292E687770>

초등국어에서 관용표현 지도 방안 연구

6±Ç¸ñÂ÷

과 위 가 오는 경우에는 앞말 받침을 대표음으로 바꾼 [다가페]와 [흐귀 에]가 올바른 발음이 [안자서], [할튼], [업쓰므로], [절믐] 풀이 자음으로 끝나는 말인 앉- 과 핥-, 없-, 젊- 에 각각 모음으로 시작하는 형식형태소인 -아서, -은, -으므로, -음

민주장정-노동운동(분권).indd

untitled

<C0CEBCE2BABB2D33C2F7BCF6C1A420B1B9BFAAC3D1BCAD203130B1C72E687770>


E1-정답및풀이(1~24)ok

< BDC3BAB8C1A4B1D4C6C75BC8A3BFDC D2E687770>

<C1B6BCB1B4EBBCBCBDC3B1E2342DC3D6C1BE2E687770>

최우석.hwp

교사용지도서_쓰기.hwp

時 習 說 ) 5), 원호설( 元 昊 說 ) 6) 등이 있다. 7) 이 가운데 임제설에 동의하는바, 상세한 논의는 황패강의 논의로 미루나 그의 논의에 논거로서 빠져 있는 부분을 보강하여 임제설에 대한 변증( 辨 證 )을 덧붙이고자 한다. 우선, 다음의 인용문을 보도록

cls46-06(심우영).hwp

0429bodo.hwp

伐)이라고 하였는데, 라자(羅字)는 나자(那字)로 쓰기도 하고 야자(耶字)로 쓰기도 한다. 또 서벌(徐伐)이라고도 한다. 세속에서 경자(京字)를 새겨 서벌(徐伐)이라고 한다. 이 때문에 또 사라(斯羅)라고 하기도 하고, 또 사로(斯盧)라고 하기도 한다. 재위 기간은 6

Microsoft PowerPoint 웹 연동 기술.pptx

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

PowerPoint Presentation

Adobe Flash 취약점 분석 (CVE )

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint 프레젠테이션

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

제8장 프로세스

PowerPoint 프레젠테이션

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

PowerPoint 프레젠테이션

Transcription:

Linux SHELL SHELL? 리눅스는크게커널, 쉘, 사용자프로그램으로분류 커널은운영체제의핵심으로서메모리나프로세서등을관리하며시스템을제어하는역할을함 사용자프로그램은일반적으로사용하는 SSH, FTP, HTTP 등의프로그램등을말함 쉘은커널과직접적으로연결되어사용자가프로그램에서실행시킨명령어를해석하여그결과를커널로보내는역할을함 ( 명령어해석기 ) 다양한종류가있으며사용자의활용도와사용목적에따라각각에맞는쉘을선택해서사용할수있음 리눅스는기본적으로 BASH SHELL 이설정되어있으며, 다른쉘을사용하고싶다면작업중에쉘을바꾸어사용할수도있고, 로그인시다른쉘을지정해서사용할수있음

Linux SHELL 쉘의종류 Bourne Shell 1979 년, Bell 연구소의 Steven Bourne 이개발한최초의대중화된유닉스쉘 오랜시간동안 UNIX 시스템의표준구성요소였으나, 후에개발된여러쉘에비하여기능적인면에서부족한점이있음 Korn Shell(ksh) AT&T 사의 David Korn 이제작 Bourne Shell 을포함하는더욱강력한쉘이며일반적으로유닉스에서많이쓰임 Bourne Shell 의기능들을확장한쉘로 Bourne Shell 과의호환성이높이며, C Shell 의기능들도제공 C Shell(csh) 버클리대학교에서개발됨 Bourne Shell 과호환이되지만인터페이스구조가다르고, C 언어문법과제어구조에비슷한면을가지고있음 명령어모드에서다양한기능을제공하기때문에유닉스실행시기본쉘로주로쓰이기도함

Linux SHELL 쉘의종류 TC Shell(tcsh) 1908년대초반, Ken Greer 등이 C Shell을확장시켜제작 C Shell의모든기능을제공하면서, 명령행편집을 emacs 스타일방식을취함 Bourne Agine Shell(bash) 현재리눅스시스템의기본 Shell이며가장많이이용됨 Bourne Shell의기능을추가, 발전시킨쉘 C Shell과 Korn Shell에서제공하는기능들도상당수포함되어있음

Linux SHELL /etc/shells 파일 # cat /etc/shells 사용할수있는쉘들의경로가설정되어있음

Linux SHELL 자신의쉘확인 # echo $SHELL -> SHELL 변수확인 로그인후자신이사용하는쉘이 SHELL 변수에저장되어있음

쉘변경

Linux SHELL 변경 # /bin/ksh -> 변경할쉘을실행시키면됨

Linux SHELL 변경 chsh, /etc/passwd, usermod -s # chsh -> Shell 을영구적으로변경 usermod -s 로변경할수도있으며직접 /etc/passwd 를수정할수도있음

쉘의유용한기능

Linux SHELL 의유용한기능 명령완성기능 명령어의길이가길거나, 명령어의이름이일부만생각날경우일부만입력하고 <Tab> 키를입력하게되면, 가능한명령어를완성시켜주게됨 해당하는명령어가다수일경우해당명령어들의리스트를출력 명령히스토리기능 사용했던명령어는 ~/.bash_history 파일에저장되어있음 이미사용한명령어들을다시사용하고싶을경우키보드의 키나 를사용하여실행했던명령어를검색할수있음 실행했던명령어가저장되는개수는 HISTSIZE 변수에지정할수있음 메타문자사용 명령어를실행할때파일들을인수로사용할경우특별한문자열을포함하거나혹은동시에파일들을지정할경우가있음 이러한경우메타문자를사용함

Linux SHELL 의유용한기능메타문자들 문자의미 > 표준출력을파일에기록하는출력리다이렉션기호 >> 표준출력을파일의끝에추가하는출력리다이렉션기호 < 파일로부터표준입력을읽어들이는입력리다이렉션기호 * 널문자열을포함한모든문자열치환? 모든단일문자와치환 [...] 대괄호안의어떠한문자와도일치하는파일치환대표문자 표준출력을입력으로보내는파이프기호 조건부실행 : 이전명령이실패하면실행 ; 명령어의순서에사용 & 백그라운드모드실행 && 조건부실행 : 이전명령이성공할경우실행 # 주석처리 $ 변수의접근

Linux SHELL 의유용한기능메타문자들 문자의미 > 표준출력을파일에기록하는출력리다이렉션기호 >> 표준출력을파일의끝에추가하는출력리다이렉션기호 < 파일로부터표준입력을읽어들이는입력리다이렉션기호 * 널문자열을포함한모든문자열치환? 모든단일문자와치환 [...] 대괄호안의어떠한문자와도일치하는파일치환대표문자 표준출력을입력으로보내는파이프기호 조건부실행 : 이전명령이실패하면실행 ; 명령어의순서에사용 & 백그라운드모드실행 && 조건부실행 : 이전명령이성공할경우실행 # 주석처리 $ 변수의접근

Linux SHELL 의유용한기능 리다이렉션 (Redirection) 리눅스에서는명령수행시에표준입력과표준출력장치가있음 보통키보드는표준입력, 모니터가표준출력이됨 이러한표준입력과출력을필요에따라서변경할수있음 리다이렉션 의미 명령 > 파일명명령 >> 파일명명령 >& 파일명명령 2> 파일명명령 2>& 1 명령 >>& 파일명명령 >! 파일명명령 >&! 파일명명령1 명령2 명령1 & 명령2 명령의실행결과를파일로출력명령의실행결과를파일의끝에추가하여출력명령의실행결과와에러를파일로출력파일로에러를출력명령의에러를표준출력과같은곳으로출력명령의실행결과와에러를지정한파일의끝에추가하여출력명령실행결과를지정한파일이이미존재해도무시하고출력명령실행결과와에러를지정한파일이이미존재해도무시하고출력명령1의출력을명령2의입력으로보내어실행명령1의실행결과와에러를명령2의입력으로보내어실행

쉘환경변수

Linux SHELL 환경변수 쉘환경변수 쉘의환경변수는쉘환경을입맛에맞게, 혹은필요에맞게설정하는데사용되는값들을가지고있음. 변수값을수정함으로써사용자마다원하는환경을설정할수도있음 변수 의미 변수 의미 BASH 사용하고있는 bash 쉘의경로 BASH_VERSION 사용하고잇는 bash 쉘의버전 COLUMNS 터미널의행수 ( 기본값 = 80) DISPLAY 현재 X-Window Display 위치 HISTFILE 히스토리파일의이름 HISTFILESIZE 히스토리파일사이즈 HISTSIZE 히스토리의개수 HOME 사용자의홈디렉토리 HOSTNAME 시스템의호스트명 HOSTTYPE 시스템의타입값 LINES 터미널의라인수 LOGNAME 로그인사용자명 LS_COLORS ls ls 명령어사용시파일종류별색상지정 MAIL 메일저장위치 MAILCHECK 메일점검시간 ( 기본값 = 60초 ) MANPATH man man 페이지의경로 OSTYPE 운영체제의타입 PATH 명령을찾을검색경로 PS1 주프롬프트문자열설정값 UID 현재사용자의 UID 값

Linux SHELL 환경변수변수값의확인 # printenv -> 현재시스템에설정된모든환경변수값확인 # echo $ 변수명 -> 변수명에해당하는변수값확인

Linux SHELL 환경변수변수값설정및변경 # export [ 환경변수명 ]=[ 변수값 ] -> 환경변수명으로변수값을설정

환경설정파일

Linux SHELL 프롬프트변경 쉘프롬프트변경 쉘환경변수인 PS1 을변경하면됨 export PS1= 프롬프트형식 옵션 의미 \t 현재시간을 HH:MM:SS 형식으로출력 \d 현재날짜를 요일월일 형식으로출력 \s 쉘의이름을출력 \w 현재작업디렉토리를절대경로로출력 \W 현재작업디렉토리의이름만출력 \u 현재사용자의사용자명을출력 \h 호스트만 \H 호스트이름전체 \# 현재명령의명령번호 \$ root이면 #, 일반사용자면 $ \! 이명령의히스토리번호 \nnn 8 진수에해당하는 nnn 에해당하는문자 \[ 비출력문자의시퀀스를시작 \] 비출력문자의시퀀스를종료

Linux SHELL 프롬프트변경 # export PS1= 쉘프롬프트형식지정 -> 쉘프롬프트변경 지정한쉘프롬프트를계속사용하고싶을경우사용자홈디렉토리의.bashrc 파일에내용을추가하면됨

환경설정파일

Linux SHELL 환경설정파일 /etc/profile 시스템환경설정과시작프로그램들 리눅스시스템전반에적용되는환경변수들을설정 $PATH, $USER, $LOGNAME, $MAIL, $HOSTNAME, $HISTSIZE,... 등의환경변수를지정해줌 BASH Shell 이시작될때실행됨 ~/.bash_profile 사용자환경설정과시작프로그램들 사용자의홈디렉토리에서찾으면 /etc/profile 다음으로읽어들임 없을경우 ~/.bash_login 파일을찾아대신읽으며, ~/.bash_login 파일도없을경우 ~/.profile 파일을찾음 즉, 상위 3 파일중하나만처리하며, ~/.bashrc 파일이있으면읽어들임

Linux SHELL 환경설정파일 ~/.bashrc 사용자 alias 와함수들 /etc/bashrc 시스템의 alias 와함수들 시스템전반에적용되는 umask, 프롬프트형태를지정 ~/.bash_history 입력된명령 (history) 들이저장 HISTFILESIZE 환경변수를통해크기를조정할수있음 ~/.bash_logout 로그아웃할때실행

Linux SHELL 환경설정파일 BASH Shell 이초기화파일을처리하는순서 1 /etc/profile 파일이있으면실행 2 ~/.bash_profile 파일이있으면실행 -> 없을경우 ~/.bash_login 실행 -> 없을경우 ~/.profile 실행 3 ~/.bashrc 실행 즉, 제일마지막에실행되는.bashrc 의우선순위가가장높게됨

Linux SHELL 환경설정파일.bashrc 파일변경 # vi ~/.bashrc 쉘을실행할때 alias 와쉘프롬프트변경이적용

Linux SHELL 환경설정파일변경한내용확인 접속하면쉘프롬프트모양이바뀌어있음

쉘스크립트

Shell 스크립트파일만들기 쉘스크립트 쉘을통하여프로그램을만들수있으며이러한프로그램을쉘스크립트라고함 Linux 환경에서명령어및환경변수등을사용하기용이하므로여러명령어들을연결하여원하는결과를얻어낼수있음 C 프로그램과유사한형태로프로그래밍가능함 (ex : if 문, while 문, case 문, for 문, 연산,... 등 )

변수의설정및사용

Shell 스크립트파일만들기변수의설정및사용 (echo 를이용한출력 )

Shell 스크립트파일만들기변수의설정및사용 (echo 를이용한출력 )

Read 문의사용

Shell 스크립트파일만들기 read 문의사용 echo 명령어는출력시문자열에개행문자를붙여서출력함 -n 옵션을이용하면개행문자를붙이지않고출력

Shell 스크립트파일만들기 read 문의사용

변수와 read 문을이용한간단한예제

Shell 스크립트파일만들기변수와 read 문을이용한간단한예제 ( 사용자가입력한계정을생성 ) echo 명령어는출력시문자열에개행문자를붙여서출력함 -n 옵션을이용하면개행문자를붙이지않고출력

Shell 스크립트파일만들기변수와 read 문을이용한간단한예제 ( 사용자가입력한계정을생성 )

간단한실습

Shell 스크립트파일만들기실습 1 다음과같은역할을하는셀스크립트를작성

Shell 스크립트파일만들기실습 2 다음과같은역할을하는셀스크립트를작성

연산하기 (expr)

Shell 스크립트파일만들기연산하기 (expr) 연산하기 쉘스크립트안에서숫자의계산은 expr 사용 사용연산자는다음과같음 연산자 설명 연산자 설명 + 더하기 - 빼기 * 곱하기 ( \* 로사용 ) / 나누기 % 나누기후의나머지값 주의 expr로지정시역따옴표 ( ` : 키보드 1 왼쪽 ) 를사용 연산자를사용할경우앞에역슬래지 (\) 를같이사용 연산자와숫자, 변수, 기호사이에는 Space( 공백 ) 이존재해야함

Shell 스크립트파일만들기연산하기 (expr)

Shell 스크립트파일만들기연산하기 (expr)

조건문사용 (if)

Shell 스크립트파일만들기조건문사용 (if) - 형식 단일 if if [ 조건문 ] then fi 문장 1 문장 2 if ~ elif ~ else if [ 조건문 ] then elif [ 조건문 ] then else fi 문장 1 문장 2 문장 1 문장 2 문장 1 문장 2

Shell 스크립트파일만들기조건문사용 (if) 조건문표현 단일 if 표현방식 C라면?? 의미 [ $A gt $B ] > A가 B보다크다 [ $A ge $B] >= A가 B보다크거나같다 [ $A eq $B ] == A와 B가같다 [ $A lt $B ] < A가 B보다작다 [ $A le $B ] <= A가 B보다작거나같다 [ $A ne $B ]!= A와 B가다르다

Shell 스크립트파일만들기조건문사용 (if)

Shell 스크립트파일만들기조건문사용 (if)

Shell 스크립트파일만들기조건문사용 (if)

Shell 스크립트파일만들기조건문사용 (if)

조건, 반복문 (for)

Shell 스크립트파일만들기조건, 반복문사용 (for) - 형식 for 문 for 변수 in 변수값 1 변수값 2 변수값 3 do 문장 1 문장 2 done

Shell 스크립트파일만들기조건, 반복문사용 (for)

Shell 스크립트파일만들기조건, 반복문사용 (for)

반복문 (while)

Shell 스크립트파일만들기반복문 (while) - 형식 while while [ 조건문 ] do done 문장 1 문장 2 sleep sleep 5 <- 5 초간정지

Shell 스크립트파일만들기반복문 (while)

Shell 스크립트파일만들기반복문 (while)

Shell 스크립트파일만들기 while, if, sleep 사용

Shell 스크립트파일만들기 while, if, sleep 사용

간단한실습 2

Shell 스크립트파일만들기간단한실습 2

패턴검색 (case)

Shell 스크립트파일만들기패턴검색 (case) while case 변수 in 패턴 1) 문장 ;; 패턴 2) 문장 ;; *) 문장 ;; esac

Shell 스크립트파일만들기패턴검색 (case)

실습

Shell 스크립트파일만들기실습 1 - 다음과같은역할을하는프로그램만들기

Shell 스크립트파일만들기실습 2 - 다음과같은역할을하는프로그램만들기

Shell 스크립트파일만들기실습 3 - 다음과같은역할을하는프로그램만들기

Shell 스크립트파일만들기실습 4 다음소스를이용하여메뉴를완성