Microsoft PowerPoint - 04_UsingShell

Similar documents
Microsoft PowerPoint UNIX Shell.ppt

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint UNIX Shell.pptx

Microsoft PowerPoint - u5.pptx

Linux SHELL

Microsoft PowerPoint - u5.pptx

Linux SHELL

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - comp_prac_081223_2.pptx

PowerPoint 프레젠테이션

chap2

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - u4.pptx

제2장 리눅스 사용

Microsoft PowerPoint - 02-Shell-Programming

슬라이드 1

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

Discrete Mathematics

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

ksh프로그램문법.ppt

Computer Programming (2008 Fall)

제2장 유닉스 사용

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

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint 프레젠테이션

Microsoft Word - Lab_080104A.docx

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

vi 사용법

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

ISP and CodeVisionAVR C Compiler.hwp

PowerPoint 프레젠테이션

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

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

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

제1장 Unix란 무엇인가?

PowerPoint 프레젠테이션

Adobe Flash 취약점 분석 (CVE )

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

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

untitled

/chroot/lib/ /chroot/etc/

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

Tcl의 문법

PowerPoint 프레젠테이션

Microsoft PowerPoint - 01_1_Linux_Unix_기초.ppt [호환 모드]

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

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

PowerPoint 프레젠테이션

제8장 프로세스

리눅스 프로세스 관리

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

Microsoft Word ARM_ver2_0a.docx

고객 카드

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

PowerPoint 프레젠테이션

Mango220 Android How to compile and Transfer image to Target

PowerPoint 프레젠테이션

Microsoft PowerPoint - [2009] 02.pptx

Chapter 06. 프로세스관리하기

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

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

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

Unix 시스템 6장

PowerPoint 프레젠테이션

Smart Power Scope Release Informations.pages

01Àå

EndNote X2 초급 분당차병원도서실사서최근영 ( )

Microsoft PowerPoint Unix4.ppt

문서의 제목 나눔고딕B, 54pt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint Unix3.ppt [호환 모드]

1 Shell script What the shell?

vi 사용법

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

제8장 프로세스

untitled

6주차.key

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

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

Linux - editor - vim

단계

Microsoft PowerPoint - u6.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

2009년 상반기 사업계획

Transcription:

Linux Shell: 제대로사용하기 - Bash 소개 - 명령기본 + - Redirection - 명령행편집 - 셸 (Shell) 사용자가입력한명령을해석하고실행하는명령해석기 (Command Interpreter) 사용자가처음수행할수있는특수프로그램 UNIX 셸종류 sh: Stephen Bourne, 기본표준셸, $ prompt csh: Bill Joy, C 와닮은꼴, % prompt ksh: David Korn, sh 과호환, $ prompt zsh: Paul Falstad, ksh 의업그레이드 bash: Brian Fox, GNU free software, sh 과호환, csh 과 ksh 의장점수용, $ prompt 그외에도많음.

셸의기능 셸의공통기능 다수의내장명령어제공 메타문자 입력 / 출력 / 오류의재지정 (redirection) 파이프라인 명령어대치 / 완성 / 편집 환경변수와지역변수 후면처리 하위셸 (subshell) 생성 셸프로그래밍 작업제어 셸시작 로그인 계정생성시기본셸이지정된다. 셸변경 로그인셸확인 : echo $SHELL 현재수행중인셸확인 : ps 해당셸의이름을입력 sh, csh, ksh, tcsh, zsh, 셸프로그램이설치되어있지않을경우실행되지않는다. 빠져나올때는 exit

Bash Bash (Bourne Again Shell) GNU 표준셸 리눅스표준셸 1988년처음배포 현재버전 3.2 Bash 정보 다운로드 : http://www.gnu.org/software/bash 리눅스에 bash 가설치되어있지않은경우또는 upgrade 매뉴얼 온라인 : http://www.gnu.org/software/bash/manual 명령행에서 help 명령으로도움말기능제공 명령기본 + More meta-characters 메타문자의미예? 문자하나 a? ab, ac, a3, * 문자여러개 c*t cat, chat, come at, set에있는하나의문자 [abc] abc 중하나 [a-z] 모든소문자중하나 [-a-z] -와모든소문자중하나 [set] [!set] set 에없는하나의문자 { s1,s2, } s1 and s2 and [!0-9] 숫자가아닌문자 [0-9!] 모든숫자와! b{ed,olt,ar}s beds, bolts, bars ls *.{c,h,o} 확장자가.c,.h,.o 인모든파일리스트

명령기본 + 셸에서의미를가지는특수문자 메타문자 의미 메타문자 의미 ~ 홈디렉터리 $ 변수 ` 명령대체 & 백그라운드작업 # Comment *? 와일드카드 ( ) 하위셸시작 / 종료 \ 문자그대로 파이프 [ ] 문자집합 { } 명령블록 ; 셸명령분리 강한인용부호 약한인용부호 < 입력재지정 > 출력재지정 / 경로명분리! 논리 NOT 명령기본 + 백그라운드작업 & 여러작업을동시에수행 입력없이시간이많이걸리는작업에편리

명령기본 + 특수문자를일반문자로취급하려면? 인용부호사용 \ 사용 약한인용부호 : $,?, \ 제외하고일반문자로해석 명령기본 + 명령행의계속 \n 을일반문자로취급하기 행의끝에 \ 사용 \n 을완전히무시하고한줄로연결 인용부호 ( ) 로연결 \n 을명령의끝이아닌하나의문자로취급

명령기본 + 컨트롤키 컨트롤키 stty 명 기능 ^C intr 현재명령중지 ^D eof 입력의끝 ^\ quit ^C가동작하지않을경우현재명령중지 ^S stop 화면출력정지 ^Q start 화면출력다시시작 DEL, ^? erase 마지막문자삭제 ^U kill 전체명령행삭제 ^Z susp 현재명령일시중단 Redirection 표준입출력 데이터가유닉스시스템에저장되거나전송되는표준방식 다양한입출력기기를추상화하고공통된처리방식을사용하도록최초로시도 세가지표준파일 stdin (0) : 표준입력 stdout (1) : 표준출력 stderr (2) : 표준오류출력 http://en.wikipedia.org/wiki/image:stdstreams-notitle.svg

Redirection 쉘에서제공하는편의기능 표준입력또는출력을파일등다른입출력장치로보냄. 메타문자를사용해서 redirection 을지시한다. 기호 Redirection 의미 > 출력 redirection 출력 redirection, csh의 >! noclobber 옵션을중복정의 >> 기존파일에출력을추가기존의파일에출력을추가, csh의 noclobber 옵션을중복 >>! 정의하고파일이존재하지않으면파일생성 다른명령으로파이프출력 < 입력 redirection <<word >& >>& word로시작하는줄의앞줄까지표준입력으로받아들임표준출력과표준에러를파일로 redirection한다. 표준출력과표준에러를파일에추가한다. Redirection Redirection 을이용한텍스트파일편집 입력끝 (EOF) 표시는 ^d >> 로 redirection: 기존파일에추가

Redirection 입력 입출력혼용 Redirection Pipe 한프로세스의표준출력을다른프로세스의표준입력으로사용 하나의커다란문제를작은작업으로나누어해결하는것이가능 예 : man 명령의결과를파일에저장 $ man 명령어 colcrt > 파일 $ program1 program2 program3 http://en.wikipedia.org/wiki/image:pipeline.svg

Redirection Named Pipe 표준입출력외에파일을이용해파이프설정 $ mkfifo 파이프이름 파이프이름 사용은 redirection (<, >) 이용 두개이상의프로세스가함께실행되어야함. Keyboard stderr stdin Program1 pipe stdout stdin Display Program2 stdout, stderr 명령행편집 단순히명령을타이핑하고 Enter 키입력? 잘못쓴글자는? Backspace 복잡한명령을재사용하고싶으면? 이전에했던명령을보고싶으면? 긴명령을한꺼번에혹은한단어씩지우고싶으면? 이전명령을조금만바꿔서다시사용하고싶으면? 기타등등 명령행편집기능!

명령행편집 두가지모드 Emacs 모드 / vi 모드 vi 모드로바꾸고싶으면 set o vi Emacs 모드기본명령 명령 기능 명령 기능 ^B( ) 한문자왼쪽으로이동 ^F( ) 한문자오른쪽으로이동 ^D 오른쪽한문자삭제 ESC-B 한단어왼쪽으로이동 ESC-F 한단어오른쪽으로이동 ESC-DEL 왼쪽한단어삭제 ESC-D 오른쪽한단어삭제 ^Y 마지막삭제항목되살림 ^A 명령행시작점으로이동 ^E 명령행맨끝으로이동 ^K 현재에서끝까지삭제 명령행편집 히스토리.bash_history 에사용한명령을기록 500 개를기록하도록설정되어있다. history : 히스토리파일을보는명령 명령기능명령기능 ^P( ) 이전명령!! 마지막명령 ^N( ) 다음명령!n n 번째명령 ^R 뒤로검색!-n n번째앞의명령 string ESC-< 히스토리파일의첫명령으로시작하는마지막!string 명령 ESC-> 히스토리파일의끝명령 ^str1^str2 마지막명령의 str1 을 str2 로바꾸어반복

명령행편집 내용자동완성 TAB 함수, 경로명, 파일명등의입력시텍스트일부를입력후 TAB 키를누른다. 일치하는것이여러개있을경우가장긴것이선택된다. 자동완성관련키명령 ESC-? ESC-/ ESC-~ ESC-$ ESC-@ ESC-! ESC-TAB 기능 선택할수있는모든경우출력파일명자동완성사용자명자동완성변수명자동완성호스트명자동완성명령자동완성히스토리목록에서이전명령의자동완성 명령행편집 vi 모드명령행편집 vi 편집기사용과거의같다. 나만의편집기능정의 emacs, vi 모드다싫다면?.inputrc 내에 readline 함수를사용.inputrc Control-t: end-of-line Control-o: > output \e-b\e-x: backward-kill-word 자세한내용은매뉴얼을참조하자.

시동파일 (startup file) 셸이시작할때여러가지환경설정등기초작업을수행하는명령들을모은파일 Bourne Shell(sh):.profile C Shell(csh):.login,.cshrc Korn Shell(ksh):.profile Bash:.bash_profile,.bashrc,.bash_logout.bash_profile: 로그인시실행. 없으면.bash_login,.profile 차례로찾아수행.bashrc: 셸수행시마다실행. 로그인시에도실행되도록하려면.bash_profile 에. ~/.bashrc 를포함시킨다..bash_logout: 로그아웃시실행. 개별시동파일외에 /etc/profile, /etc/bashrc 등실행 시동파일수정 환경설정을변경하고, 그를로그인시마다변화없이유지하고싶을때 vi 등의편집기로수정 효력이생기려면? 새로로그인하거나셸을실행 source 또는. 명령어를사용하면즉각효력발생 그외환경설정파일.vimrc.emacs $ source.bashrc

Alias 명령어의별칭또는약어정의 alias name=command = 좌우에공백없어야한다. 순서에따라적용된다. 현재적용되는모든 alias를보려면? $ alias 명령어외의 alias? $ alias ss=~/system/quiz $ cd ss alias rm= rm -i alias ls= ls sfc alias la= ls a alias dir= ls alias cds= cd ~/system/quiz 공백문자로끝나는 alias 를만들어해결 고수가되면? alias 보다셸스크립트 / 함수활용 셸옵션 on 또는 off 로설정하여동작을제어 $ set o optionname $ set +o optionname 옵션을 on 옵션을 off 옵션 emacs ignoreeof noclobber noglob nounset vi 설명 emacs 모드시작. 기본값은 on ^D로로그아웃하는것방지출력재지정 (>) 시 overwrite 방지와일드카드확장방지정의하지않은변수사용시오류메시지 vi 모드시작

셸변수설정 셸변수 : bash 제공내장변수 + 사용자지정변수 on/off 만으로설정하지못하는요소설정 셸변수값설정 varname=value = 좌우로공백이없어야하고두단어이상은 로묶는다. 다른명령에변수를사용하려면이름앞에 $ 붙인다. 지정변수삭제 unset varname 변수값의확인 echo $varname 설정한변수값을환경변수로효력발생 export $varname 공통적인내장환경변수 변수 의미 변수 의미 HOME 홈디렉터리경로 BASH_VERSION 실행중인 bash의버전 PATH 명령어를탐색할경로 PWD 현재디렉터리 MAIL 메일박스의절대경로 HISTFILE 히스토리저장파일명 USER 사용자 ID HISTFILESIZE 히스토리에저장할최대명령수. 기본값은 500 SHELL 로그인셸의절대경로 EDITOR 기본편집기절대경로 TERM 터미널유형 CDPATH cd 명령시사용할탐색경로 PS1, PS2, PS3, PS4 프롬프트문자열변수

PATH 설정 명령을입력했을때그명령 ( 의실행파일 ) 이어디있는지셸이찾을수있게해주는변수 : 로구분하여경로명을입력한다. PATH=/bin:/usr/bin:$HOME/bin 이미설정된 PATH 에덧붙일때는 $PATH 활용 PATH=$PATH:/usr/local/bin 명령어를입력하면 $PATH 에설정된경로의앞에서부터찾는다. 즉, 같은이름이있으면앞의경로에있는것실행 경로가많으면명령어실행이오래걸릴까? hash 명령을한번실행해보자. 프롬프트설정 나만의프롬프트를만들자! PS1: 기본프롬프트문자열변수 미리정의된기호와사용자가선호하는문자들을사용해만든다. \ 가해석되어야하므로약한인용부호 ( ) 를사용한다.

프롬프트문자열정의 기호의미기호의미 \a ASCII beep 문자 (\007) \j 현재수행중인작업의수 \d 요일, 월, 일 형식의날짜 \l 셸의터미널디바이스명 \e ASCII escape 문자 (\033) \v Bash 의버전 \H 호스트명 \V Bash 의 release \h 처음. 까지의호스트명 \w 현재작업디렉터리 (~/ ) \n RETURN (carriage return + linefeed) \W 현재작업디렉터리 ( 마지막 ) \s 실행중인셸이름 \! 현재명령의히스토리번호 \T HH:MM:SS 형식 (12시간제) 의현재시간 \# 현재명령의명령번호 \t HH:MM:SS 형식 (24시간제) 의현재시간 \$ UID가 0이면 #, 아니면 $ 출력 \@ am/pm 형식 (12시간제) 의현재시간 \nnn 8진수로된문자코드 \A HH:MM 형식 (24시간제) 의현재시간 \\ backslash \u 현재사용자명 \[ \] 비출력용문자열시작과끝 vi 환경설정.vimrc 파일에자신만의 vi 환경을설정 옵션, 키보드매핑, 화면구성 ( 색깔등 ), 프로그래밍언어별설정등가능 옵션 220 개가넘는옵션 set option=value vi 실행시 ex-mode 에서직접입력가능 즉시효력을발생하나다음 vi 실행시에는유지되지않는다. 옵션을리셋 : set nooption 어떤옵션의값을보고싶으면 : set option? 어떤옵션의값을디폴트값으로설정 : set option&

vi 환경설정 옵션예 set ic set ai set ts=4 set sm set si set bg=dark ignorecase autoindent tabstop=4 showmatch smartindent background command 도미리설정 syntax on 언어의문법에따라색깔을달리표현