Linux Shell 200811436 박철승.

Slides:



Advertisements
Similar presentations
The Practice of Micro-processor Yonam Institute of Digital Technology 06. LCD Control.
Advertisements

Computer Programming in C Chapter 년 가을학기 부산대학교 전자전기정보컴퓨터공학부.
6장 리눅스 쉘 정보보안 연구실 김동민.
RefWorks 15 분 완성. 순서 1) 계정 만들기 2) 레퍼런스 가져오기 3) 새 폴더 만들기 4) 폴더에 레코드 구성하기 5) 텍스트 파일반입 방식 6) 참고문헌 가져오기 7)Write-N-Cite III 을 사용하여 본문 내 인용 및 참고문헌 만들기.
Visual Basic과 MS-Access를 이용한 렌터카 관리 프로그램
Project Muse  주제분야 : 순수예술, 문화, 언어, 문학, 역사, 사회과학  저널종수 Premium package: 449 종 Standard: 316 종 Basic Research Collection:
(PCB 설계) OrCAD 실습을 위한 자기 주도적 학습 자료1 충남기계공업고등학교 공동실습소 전자통신과 연구회.
콘솔 케이블을 이용한 NESPOT AP 개통절차 엠엠씨 - 통합형 MW-3000AP Nespot 개통기량 향상을 위한 길라잡이.
프로그래밍 기초와 실습 Chapter 7 Enumeration Types and typedef.
KyungHee Univ. 1-0 문자열 입 · 출력 프로그램 작성 예. KyungHee Univ. 1-1  모니터에 문자열 출력 하는 프로그램 작성  표준 출력 장치에 문자를 출력 하는 함수 함수의 기본형 : void SCI_OutChar(letter)  문자를.
SAP Tuning 실무 교육
Chapter 40Classic Applications Contents UNIX Shell Accounts Logging in to Internet Hosts by Using Telnet Getting Information About.
Real-Time Computing and Communications Lab., Hanyang University Real-Time Computing and Communications Lab., Hanyang University.
SOAP 실전예제 Internet Computing KUT Youn-Hee Han.
Codec,battery,powermanager 커널 드라이버
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 실 습실 습 6 WEEK 1 - INTRODUCTION TO VOID FUNCTIONS (PROCEDURES)
12 Chapter 2 엑셀 데이터 다루기 엑셀의 작업구조 데이터 저장소 셀 ①장부 ②페이지 ③항목 ①장부 = 통합문서 ②페이지 = 워크시트 ③항목 = 셀 셀주소 A1: A 열 1 행 셀.
Database Programming using JSP and MySQL Byung-Hyun Ha
Korn Shell Programming1 AIX Ver. 4 Korn Shell Programming.
© 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5/e Starting Out with C++: Early Objects 5 th Edition Chapter 2 C++
Computer Programming in C Chapter 년 가을학기 부산대학교 전자전기정보컴퓨터공학부.
1 Chapter 2 UNIX for Users 2 Contents l Basic things in Unix - login, logout, password, online manual - X-window - file system - commands for files and.
1 Linux Command. Advanced Compiler Laboratory2 Simple linux cmds ls List information about FILEs, by default the current directory. pwd Print Working.
Lab 3. 프로세스 생성과 종료 (Unix/Linux) One, Two 출력하는 onetwo.c 코딩, 컴파일, 실행
Hanyang Univ.  강의 목표 ◦ 임베디드 개발 환경의 이해  강의 내용 ◦ 교차 컴파일 환경 구축 및 부트로더 실습 Hanyang Univ.
LINUX System : Lecture 4 Basic UNIX commands Acknowledgement : (i) wikipedia.org, (ii)
Shell Programming. Introducing UNIX Shells  Shell is also a programming language and provides various features like variables, branching, looping and.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 3 수식과.
Publishing Data for the Users (Chapter18) Data Warehousing Lab. Semester 2 HyunSuk Jung.
숙명여대 창병모 2011 가을 1. 2 A command processor that's run in a text window  allows the user to type commands which cause actions,  can also read commands.
IT CookBook, 초보자의 첫 번째 엑셀 2007 엑셀 2007 기초. 2 이 장에서 배울 내용  Section 01 엑셀 2007 기본 기능 익히기  Section 02 데이터 입력 및 편집  Section 03 워크시트 편집 및 관리  Section 04.
Why dooroos. RTOS Requirement 2 A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time application requests.operating.
AODVjr TinyOS Implementation
Real-Time Computing and Communications Lab., Hanyang University Real-Time Computing and Communications Lab., Hanyang University.
Chapter 14 Reading Usenet Newsgroups Contents Common Newsreading Tasks Newsreading in Outlook Express Newsreading in Netscape Newsgroup.
User-defined Functions CSED421: Database Systems Labs.
©2005 International.NET Association Asia Pacific WPF 둘러보기 이 수 겸 – kenial Microsoft ASP.Net MVP.
Simulink 강의 노트 작성 일자 : 2007, 01, 30 저 자 : 임 종수. 강의 순서 -- Section Simulink 의 특징과 install 시 주의사항. 2. simple simulink model 개발. 3. simulink 의 계산 방법.
프로그래밍 기초와 실습 Chapter 6 The Fundamental Data Types.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 컴퓨터와.
1 Router 동작 mode (1/2) User Mode Router 동작 상태, Interface 의 상태, 현황등을 check 할 수 있는 command 사용 가능 Router Configuration 의 변경은 불가 Privileged Mode Router 의 Full.
Windows95 VxD Design and Win32 Application inter face 발 표 : 노 원국 ( 컴퓨터 시스템 설계 )
1 Chapter 37 Files Transfer Protocol (FTP) Programs.
Kernel Programming Task Management ( 월 ) 이 병 희
Shell Programming Concept of the Shell Environment of Shell Shell as programming language.
Loading the Data Warehouse (Chapter10) Data Warehousing Lab. Semester 2 HyunSuk Jung.
Ubiquitous Computing Practice - Part 4(RSSI) - Laboratory of Intelligent KUT ( Yong-hwan Kim Spring.
영상 획득 영상 저장 카메라 파라메터 커스텀 이미지
Mapreduce framework suffling & sorting. mapreduce example - wordcount.
EBSCOhost Mobile for SmartPhone Users. EBSCOhost Mobile 시작하기 스마트폰에서 인터넷 연결 연결주소 1. search.ebscohost.mobisearch.ebscohost.mobi 2. m.ebscohost.comm.ebscohost.com.
Counting Rosen 6 th ed., §§ Sum and Product Rules Let m be the number of ways to do task 1 and n the number of ways to do task 2 The sum rule:
제 10 장 Cache Memory. kuic.kyonggi.ac.kr/~dssung 10.0 Cache = Cache Memory Cache 는 Fast Memory 이며 CPU 와 Memory 사이에 위치 Memory 내 일부 정보를 가지고 있다 CPU Cache.
Go by Example Closures ~ Errors , Sam Jo.
솔라리스 10 Chapter 23 점프 스타트 서버 관리 Solaris1. 점프 스타트 서버 구성.
9-4 The Shifter  Shifter shifts the value on Bus B  Right shift and Left shift Bidirectional shift register with parallel load First clock pulse 에 Bus.
Memory & Storage Architecture Seoul National University Python Installation In PC (Window, Mac OS) Byoungjun Kim Ansu
방명록 제작. 목차  기본 레이아웃  DB 구조  방명록 구조  코드 설명  화면 설명.
MPI: A Quick-Start Guide Information Physics Soon-Hyung Yook.
Chapter 9. Sending and Receiving Secure . Index (1/2) What is Security? Public Key Cryptography Getting and Using Your (Other People ’ s)
Chapter 3 An Introduction to the Utilities. Introduction u Unix utilities : PART2. The Unix Utility Programs 참조  사용자 확인 및 상호 메시지 관련 l finger, who, w,
아주대학교 LifecareScienceLAB Android Seminar 2 nd class Android Software Development 2011/04/13 – p.m. 06:00 – 팔달관 409 호 아주대학교.
솔라리스 10 Chapter 11 퍼미션 관리 Solaris4. RBAC 관리. RBAC ( Role Based Access Control ) 개념 –RBAC 는 시스템 자원의 권한 분배, 사용 권한 등을 설 정하는 역할을 한다. RBAC 구성 요소 –RBAC 구성 파일.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 실 습실 습 4.
1/24 E-Architecture 팀 e-Architecture DBA Part SQL Statement Tuning 실무사례 작성자 버전 최종 작성일 문서 번호 : 김 혜 란 : v1.1 : :
Analog IC design 7주차 Dec.4th Multimedia Lab..
May.28 1 Multimedia Lab  만나는 곳의 Junction 이 제대로 생겼는지 확인할 것.
C 프로그래밍 개발 도구. 컴파일러 gnu c compiler 컴파일 gcc sample.c 실행 a.out 실행 파일 지정 컴파일 gcc –o sample sample.c 실행 sample.
NAM S.B MDLAB. Electronic Engineering, KNU 1 Beaglebone Black System.
데이타베이스 보안 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ORACLE XML DB Repository 이 윤 주 인터넷기술 (032ITI10)
Mobile Harbor Project 김효영. Contents  About CSD Lab  What is Mobile Harbor?  About the Project.
Presentation transcript:

Linux Shell 200811436 박철승

LINUX Shell 리눅스 구성 커널 사용자 프로그램 쉘 커널 쉘 사용자 프로그램 운영체제의 핵심으로서 메모리나 프로세서 등 시스템을 제어 사용자 프로그램 웹서버나 FTP, SSH 등 일반적으로 사용하는 프로그램 쉘 커널과 사용자 프로그램의 중간에 위치하는 명령어 해석기 커널 쉘 사용자 프로그램

LINUX Shell – 쉘의 종류 Bourne Shell(sh) Korn Shell(ksh) C Shell(csh) 최초의 대중화된 유닉스 쉘 Korn Shell(ksh) Bourne Shell을 포함하고 있으며, 강력한 명령어 편집기로 유닉스에서 많이 쓰임 C Shell(csh) Bourne Shell과 호환이 되지만 인터페이스 구조가 다르고, C언어 문법과 제어구조에 비슷한 면을 가지고 있음 TC Shell(tcsh) C Shell을 확장시켜 제작하였고, 프리 소프트웨어로 많은 사람들이 사용 Bourne Again Shell(bash) 리눅스 시스템의 기본 Shell Bourne Shell을 기반으로 해서 기능을 추가, 발전시킨 Shell C Shell과 Korn Shell의 장점을 결합

LINUX SHELL - 사용자 쉘 변경 cat 명령어를 사용하여 /etc/shells 파일 내용 보기 echo 명령어를 사용하여 SHELL 변수 확인 Shell 변경 Shell 종류 Shell 변수명을 입력해주면 변경된다

기본 Shell이 C Shell로 변경되었다 LINUX SHELL - 사용자 쉘 변경 Shell 영구적으로 변경 chsh 쉘 변경 명령어 변경하고자 하는 쉘 경로 입력 기본 Shell이 C Shell로 변경되었다

# echo $[변수명] OR # printenv [변수명] LINUX SHELL - 쉘 환경 변수 변수 의미 BASH 사용하고 있는 bash 쉘의 경로 BASH_VERSION 사용하고 있는 bash 쉘의 버전 COLUMNS 터미널의 행수로 기본 값은 80 DISPLAY 현재 X-Window Display의 위치 HISTFLIE 히스토리 파일의 이름 HISTFILESIZE 히스토리 파일 사이즈 HISTSIZE 히스토리의 개수 HOME 사용자의 홈 디렉토리 HOSTNAME 시스템의 호스트명 HOSTTYPE 시스템의 타입 값 LINES 터미널의 라인 수 LOGNAME 로그인 사용자 명 LS_COLORS ls 명령어 사용시 파일 종류별 색상 지정값 MAIL 메일 저장 위치 MAILCHECK 메일점검 시간, 기본 값은 60초 MANPATH man 페이지의 경로 OSTYPE 운영체제의 타입 PATH 명령을 찾을 검색 경로 PS1 주 프롬프트 문자열의 설정값 UID 현재 사용자의 UID 값 # echo $[변수명] OR # printenv [변수명]

LINUX SHELL - 쉘 환경 변수 # printenv(Print Environment) # echo $[변수명]

LINUX SHELL - 쉘의 유용한 기능 명령 완성 기능 명령어의 길이가 길거나 이름이 일부만 생각날 경우, 명령어의 일부만 입력하고 Tab키를 입력하면 가능한 명령어 완성 명령어뿐만 아니라 해당 파일에 대해서도 완성 기능을 가지고 있다

LINUX SHELL - 쉘의 유용한 기능 명령 히스토리 기능 사용했던 명령어는 홈 디렉토리의 ~/.bash_history 파일에 저장 이미 사용한 명령어들을 다시 사용하고 싶을 때 사용 실행했던 명령어 개수는 HISTSIZE변수에서 지정 가능

LINUX SHELL - 쉘의 유용한 기능 마우스로 텍스트 복사 한 터미널에 있는 내용을 다른 터미널로 복사하고자 할 때 유용 복사하고자 하는 내용을 드래그 후 붙이고자 하는 터미널에 휠 버튼을 누르면 복사가 이루어진다

LINUX SHELL - 쉘의 유용한 기능 메타문자 사용 명령어를 실행할 때, 파일을 인수로 사용할 경우 문자열을 포함하거나 혹은 동시에 모든 파일들을 지정할 경우 사용 ? : 어떤 한 문자 * : 어떤 문자도 없거나, 그 이상인 경우 echo1.sh echo1.sh echo2.sh

LINUX SHELL - 쉘의 유용한 기능 리다이렉션(Redirection) 표준 입력과 출력을 필요에 따라서 변경할 때 사용 명령의 실행 결과를 화면이 아닌 파일로 저장할 때 혹은 반복된 입력이 필요한 경우에 사용 리다이렉션 의미 명령 > 파일명 명령의 실행 결과를 파일로 출력 명령 >> 파일명 명령의 실행 결과를 지정한 파일의 끝에 덧붙여 출력 명령>& 명령의 실행 결과와 에러를 파일로 출력 명령 2> 파일명 파일로 에러를 출력 명령 2>&1 명령의 에러를 표준 출력과 같은 곳으로 출력 명령 >>& 파일명 명령의 실행 결과와 에러를 지정한 파일의 끝에 덧붙여 출력 명령 >! 파일명 명령 실행 결과를 지정한 파일이 이미 존재해도 무시하고 출력 명령 >&! 파일명 명령 실행 결과와 에러를 지정한 파일이 이미 존재해도 무시하고 출력 명령1 | 명령2 명령1의 출력을 명령2의 입력으로 사용하여 실행 명령1 |& 명령2 명령1의 실행 결과와 에러를 명령2의 입력으로 사용하여 실행

Shell 스크립트 파일 만들기 쉘은 리눅스 운영체제를 운영함에 있어 명령어를 조합하는 방법으로 프로그램을 만들 수 있도록 해주는 도구 쉘을 이용하여 프로그램을 만들 수 있으며 이러한 프로그램을 쉘 스크립트라고 한다 장점 리눅스 환경을 사용하므로, 리눅스 명령어 및 환경 변수 등을 사용하기가 매우 용이하다 C 프로그램과 유사한 형태의 프로그래밍이 가능하다

Shell 스크립트 파일 만들기 – 변수 사용하기 변수 설정 변수명 다음에 ‘=‘을 사용하여 그 값을 정의 ‘=‘ 좌우에는 공백이 있으면 안되고, 대소문자 구별 “”를 이용한 경우 공백까지 변수에 저장 가능 ‘export’ 명령어를 이용하여 환경변수로 만들 수 있다 여기서 환경변수는 전역변수와 비슷하다고 보면 된다 A=10 //변수 A에 ‘10’의 값을 정의 B=“엔터프라이즈 리눅스” //변수 A에 ‘10’의 값을 정의 변수명=값 export 변수명

Shell 스크립트 파일 만들기 – 변수 사용하기 ‘$’를 사용하여 변수 사용 변수 os에 linux라는 문자열을 저장하고 ‘$’을 사용하여 변수 사용

Shell 스크립트 파일 만들기 – 스크립트 파일 생성 vi test.sh로 쉘 스크립트 파일 만들기 #! /bin/bash 배시 쉘로 작성되었다는 것을 의미하며 배시 쉘을 기준으로 실행되는 것을 의미

Shell 스크립트 파일 만들기 – 스크립트 파일 생성 Run Program -n : 자동 줄바꿈 방지 read : 사용자의 표준입력을 받아들여 변수로 저장 chmod : 퍼미션을 수정하여 실행권한(x)을 부여 $ : 변수를 사용할 때는 변수 앞에 ‘$’를 사용 date : 현재 시간을 출력 ‘_dir’ 변수에 사용자가 입력한 값을 받는다

Shell 스크립트 파일 만들기 – 스크립트 파일 생성 gedit &

Shell 스크립트 파일 만들기 – 스크립트 파일 생성 실행권한 추가 쉘 스크립트 파일은 기본적으로 644퍼미션 (rw-/r--/r--)을 갖는다. 이를 실행하기 위해서는 파일에 실행권한을 주어야 한다 스크립트 파일 실행 sh 명령을 이용한 방법 퍼미션 변경후 실행 sh 명령어를 사용하여 쉘스크립트 실행

쉘의 기초 문법 – 숫자와 문자 그리고 파일 크기 비교 if-else문을 써서 문장 출력 4가 9보다 작으면? 표현방식 의미 [ $A –gt $B] A가 B보다 크다 [ $A –lt $B] A가 B보다 작다 [ $A –ge $B] A가 B보다 크거나 같다 [ $A –le $B] A가 B보다 작거나 같다 [ $A –eq $B] A와 B가 같다 [ $A –ne $B] A와 B가 다르다 4가 9보다 작으면?

쉘의 기초 문법 – 숫자와 문자 그리고 파일 문자열 비교 표현방식 의미 [ “string1” = “string2” ] 두 문자열이 같은 경우 [ “string1” != “string2” ] 두 문자열이 다른 경우 [ -z “string” ] 문자열의 길이가 0인 경우 [ -n “string” ] 문자열의 길이가 0이 아닌 경우

쉘의 기초 문법 – 숫자와 문자 그리고 파일 파일 다루기 표현방식 의미 [ -a 파일명] 파일이 존재하는 경우 [ -b 파일명] 파일이 존재하고 블록 파일인 경우 [ -c 파일명] 파일이 존재하고 문자 파일인 경우 [ -d 파일명] 파일이 아니고 디렉토리인 경우 [ -e 파일명] [ -f 파일명] 파일이 존재하면서 크기가 0보다 큰 경우 [ -g 파일명] 파일이 존재하고 SetGID 가 설정된 경우 [ -h 파일명] 파일이 존재하고 심볼릭 링크인 경우 [ -k 파일명] 파일이 존재하고 Sticky bit가 설정된 경우 [ -r 파일명] 읽기가 가능한 파일인 경우 [ -u 파일명] 파일이 존재하고 SetUID가 설정된 경우 [ -x 파일명] 파일이 존재하고 실행 가능한 경우 [ ! –option 파일명] 옵션의 조건이 거짓이 되는 경우 [ 파일1 –nt 파일2 ] 수정시간을 기준으로 파일1이 파일2보다 새로운 파일인 경우 [ 파일1 –ot 파일2 ] 수정시간을 기준으로 파일1이 파일2보다 오래된 파일인 경우

쉘의 기초 문법 – 숫자와 문자 그리고 파일 숫자 계산 숫자의 계산은 expr을 사용 * : 곱하기(\* 로 사용) + : 더하기 - : 빼기 / : 나누기(\/ 로 사용) % : 나누기 후 나머지 값

쉘의 기초 문법 – echo문 : 기본출력 화면에 원하는 문자열을 출력 문자열에 공백이 있을 경우 전체를 “ “로 묶어준다 자동으로 줄 바꿈을 한다 (-n 옵션을 쓰면 줄 바꿈 X) 명령어를 실행하여 그 결과를 출력가능 ( 역따옴표 ( ` )를 사용 ) 변수를 출력할 때 마지막에 입력된 값을 출력한다

쉘의 기초 문법 – read 문 사용자의 표준입력을 변수로 받아들이는 역할

쉘의 기초 문법 – 조건문 if문 C언어의 if문과 거의 비슷하다 -o : or의 의미로 둘 중의 하나가 참이면 그 문장이 성립 -a : and의 의미로 모두가 참일 때 그 문장이 성립 elseif

쉘의 기초 문법 – for 문 변수 값의 개수만큼 루프를 돌면서 do 문장을 실행하고 done으로 마무리 변수 개수

쉘의 기초 문법 – while문 & until문 for문과 마찬가지로 조건문이 참일 경우 반복 실행 until 문 while문과 같은 반복문이지만, 반대로 동작 조건문이 참이면 루프 종료, 조건문이 거짓이면 루프를 돌린다

쉘의 기초 문법 – case문 case로 시작하여 esac로 끝난다 변수 값을 받아들여 이 값에 따른 패턴별로 문장을 실행

쉘의 기초 문법 – continue와 break문 반복문을 강제로 빠져 나오게 한다

쉘의 기초 문법 – 사용자 정의 함수 C 와 비슷한 형태의 함수 선언 가능 함수명 () 함수 내용

Q & A