SHELLScript ? 04 Spring SPARCS

Slides:



Advertisements
Similar presentations
Apr. 25, 2013 Laboratory of Systems Medicine BASIC LINUX COMMANDS.
Advertisements

SPARCS 10 이 가 영 기본 UNIX 명령어. 일단 로그인 ! Linux login 시 계정을 입력하거나 root 를 입력 Root -> # 일반 사용자 -> $ 패스워드 : echo 기능을 꺼서 볼 수 없다. 대소문자 구분 패스워드 처음 설정 시 : ~$ passwd.
쉘 스크립트와 cron coearth, george.
컴퓨터와 인터넷.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
시작부터 끝까지 진지한 궁서체로 진행하는 완벽한 주입식의 하드코어한 리눅스/장난감 세미나
Power Java 제3장 이클립스 사용하기.
Linux University of Seoul Computer Science Park Jong wook
Android Wi-Fi Manual (Guest용)
Chapter 10 The Bourne Shell
Unix(Linux) shell programming
Introduction to UNIX/Linux
Homework 4… 11월 4일(금) 11:59pm 까지 Bash 셸 프로그램 개선 교재 p185 연습문제
제3장 유닉스 쉘.
Unix & Shell 사용법 1 번째주 Dept. of Computer Science & Engineering
4. Shell script & make SPARCS 13 KAIST CS 12 argon.
제6장 쉘 창병모
 13장. 배시쉘 프로그래밍.
[beginning] Linux & vi editor
Linux 9.X 기초에서 활용까지 Chapter 09 쉘(Shell).
UNIX Unbounded A Beginning Approach
UNIX Unbounded A Beginning Approach
UNIX Unbounded A Beginning Approach
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Linux/UNIX Programming
7장. 셸 스크립트 프로그래밍.
Shell Programming Concept of the Shell Environment of Shell
UNIX 시스템 정보통신공학과 이 우 섭.
Root Filesystem Porting
Communication and Information Systems Lab. 황재철
정보검색 환경세팅 및 쉘스크립트 맛보기 IS lab. 김건영.
Root Filesystem Porting
HW #4 파일과 디렉토리 1. 자신의 HOME 디렉토리 아래에 다음과 같은 구조의 디렉토리 및 파일을 생성하고, 이 구조를 다음 명령을 사용하여 파일로 저장한 후, 이를 프린트하여 제출한다. $ ls –lR linux_unix > hw4-1 $HOME linux_unix.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Cross Compiler 설치.
기본 셸로는 Bash 셸을 사용하라. 하지만 스트립트를 실행하기 위해서는 Bourne 셸을 사용하라.
Cross Compiler를이용한 커널 컴파일 및 포팅
제4장 유닉스 쉘 숙명여대 창병모 2011 가을.
Linux/UNIX Programming
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
HW #4 UNIX 파일과 디렉토리 1. 자신의 HOME 디렉토리 아래에 다음과 같은 구조의 디렉토리 및 파일을 생성하고, 이 구조를 다음 명령을 사용하여 파일로 저장한 후, 이를 프린트하여 제출한다. $ ls –lR linux_unix > hw4-1 $HOME linux_unix.
Linux/UNIX Programming
이재광 정보보호 일반 중에서 제2장 운영체제 보안 이재광
Linux/UNIX Programming
Linux/UNIX Programming
U N I X 창원대학교 전자계산학과 김병찬.
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
Linux/UNIX Programming
Linux/UNIX Programming
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
시스템 인터페이스 Lab#5 쉡 실습.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Linux 기본 사용법.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
4. 셸을 이용한 명령어 입력. Unix 시스템 쉘 간단한 셸 명령 명령 매개변수(Command arguments)
제4장 유닉스 쉘 숙명여대 창병모
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
Docker Study 6~7.
Linux/UNIX Programming
시스템 해킹과 보안 permission과 SetUID.
Linux/UNIX Programming
Linux/UNIX Programming
Intelligent software Lab. 전재원
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
Presentation transcript:

SHELLScript ? 04 Spring SPARCS Yiseul Cho (idewi@sparcs.kaist.ac.kr)

INDEX SHELL SHELL& SHELL Script SHELL Script EX SYNTAX 복습 HW ★ REFERENCE

1.Shell Interface between user and kernel Command Interpreter Bourn Shell C Shell Korn Shell Bash Tcsh 커널 user Shell

1.5 Shell & Shell Script Shell Script란? 명령어들의 모음 ( +간단한 구조화 프로그래밍) 시스템 콜, 여러 프로그래밍 도구들, 유틸리티, 실행파일, 쉘 내부명령어 등

2.Shell Script EX - =_=; #!/bin/bash mutt telnet ara telnet ska telnet loco exit 0

2.1 Shell Script EX- Korea Herald 오늘 날짜의 영자 신문 을 보여준다 #!/bin/bash YEAR=`date +%Y` M=`date +%m` d=`date +%d` sec=$RANDOM let "sec %=40" ((sec+=10)) lynx -nolist -verbose –dump www.kor eaherald.co.kr/SITE/data/html_dir/$YEA R/$M/$d/${YEAR}${M}${d}00${sec}.a sp|tail +4|sed -e 's/\[LINK\]//g' -e's/ \[INLINE\]//g' |less -r exit 0

2.2 Shell Script EX– Process Control #!/bin/bash Process=$* Num=`pidof $Process` kill –s 9 $Num exit 0

3. Basic Syntax # comments… list; list; list; … list | list | list … list < input > output list & (list) `list` “list” ‘list’ { list;} name=value name () { list;}

유닉스툴에서 배웠을 내용 복습 Pipelining Redirection Job control 그밖에 shell commands

3.1 Syntax(1) - if if list; then list; [elif list; then list; ] ... [ else list; ] fi #주인을 알아보는 프로그램 ^^;; #!/usr/bin/bash me=$1; If [“$me”=“idewi”]; then echo “Hi~”; else echo “$1, who are u -_-?”; fi

3.2 Syntax(2)- for for arg in [list] do command... done #!/bin/bash #현재 디렉토리의 파일 #대문자->소문자 #!/bin/bash for f in *; do mv $f `echo $f | tr '[A-Z]' '[a-z]'` done exit 0

3.3 Syntax(3)- case case "$variable" in "$condition1" ) command...;; "$condition2" ) command...;; esac #!/bin/bash echo "아무키나 누른 다음 리턴을 치세요." read Keypress case "$Keypress" in [a-z] ) echo "소문자";; [A-Z] ) echo "대문자";; [0-9] ) echo "숫자";; * ) echo "구두점이나, 공백 문자 등등";; esac # [대괄호]속 범위의 문자들을 받아 들입니다. exit 0

4. 복습 Example #!/usr/local/bin/bash for i in`cat /SPARCS/mail/aliases.d /sparcs2003`; do finger $i | egrep -h 'Last login' >/home/idewi/homework/$i; done; tar cvzf airlover.tar.gz /home/idewi/homework; ls /home/idewi/homework ; exit 0; #!/usr/local/bin/bash lynx -dump keyterms.html | cat > imsi; a=$((`wc -l < imsi`/2)); cat imsi | tail -$a | cut -c52- > imsi2 ; rm -f imsi; for i in `cat imsi2`; do echo $i | cut -c60-; lynx -dump "../$i"; done; exit 1;

5. HW 지금까지 본 Shell Script 무슨 일을 하는가? 왜 쓸까? 편리하다 많이 쓰자 ^^

그렇다면 숙제는? 모두 nugu의 개인 정보중 생일 정보를 입력한다. nugu를 이용해서 04학번 회원들의 이름 아이디 생일의 정보만을 추려낸 파일을 생성해서 idewi회원에게 메일을 보낸다 파일첨부 ^^ 힌트는 세미나시간중에…ㅎㅁㅎ/~

6. Reference http://doc.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/index.html http://doc.kldp.org/Translations/html/Sed-KLDP/introduction.html UNIX IN A NUTSHELL

INTERFACE? 사용자에게 컴퓨터를 편리하게 사용할 수 있는 환경을 제공하는 설계 내용. 사용자가 컴퓨터나 프로그램과 의사소통을 하고 쉽고 편리하게 사용할 수 있도록 하는 것이 목적이다.

Redirection & pipe File File < > Program Program | Etc.. >> << <<< 2>&1 2> &> …

커널 kernel(알멩이)이라는 이름에서 보듯이, 커널이란, 유닉스 시스템이 시작될 때 - 이것을 흔히 부팅 작업 이라고 하지요 -, 가장 먼저 읽혀지는 핵심 부분입니다. 커널은 그 시스템의 모든 자원을 관리하고, 당신이 어떤한 자원을 요청할 때, 그것을 준비해서 당신의 타당한 작업을 할 수 있도록 해 줍니다. 굳이 당신이 그 커널 자체에 대해서 모두 알아야 할 필요는 없습니다. 중요한 것은 커널이 이런 것이고, 이러한 작업을 한다는 것 정도만 알아도 충분할 것입니다. File Management System, Memory Management System, Process Management System

대문자 소문자 바꾸기 주석지우기 (#!은 제외) 로긴과 동시에 새메일의 도착여부를 알림 &지난번 로긴후의 흐른 시간도 함께 ^^;

오늘의 영자 신문 긁어오기 한방에 프로세스 kill 하기 >_< (pidof & kill) 메일을 읽은 시간 학번별로 정리해서 보여주는 스크립트 (finger에서 메일 수신을 알려줄때 procmail을 실행하는 사람은 안됨! && /var/mail 은 퍼미션 권한이 없음 -0-)