제3장 유닉스 쉘.

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. 유닉스 셸 (Unix Shell) 실습 컴퓨터 : fedora.incheon.ac.kr ( )
제6장 쉘.
강 명 수 쉘 관리 강 명 수
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
SHELLScript ? 04 Spring SPARCS
Linux University of Seoul Computer Science Park Jong wook
Chapter 10 The Bourne Shell
Embedded Linux.
컴퓨터 네트워크 실습.
Unix(Linux) shell programming
ㅎㅎ 콘 쉘 (배시쉘) 활용하기 기본 사용법 익히기 입출력 방향 변경 콘 쉘의 환경설정 콘 쉘 명령 다루기 프롬프트 설정하기
디렉토리 다루기 ㅎㅎ 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd
Chapter 11 The C Shell.
리눅스 기본 명령어 및 Vi 명령어 정리 2015/1, 컴퓨터의 개념 및 실습.
Unix & Shell 사용법 1 번째주 Dept. of Computer Science & Engineering
제6장 쉘 창병모
 13장. 배시쉘 프로그래밍.
[beginning] Linux & vi editor
Linux 9.X 기초에서 활용까지 Chapter 09 쉘(Shell).
UNIX Unbounded A Beginning Approach
쉘(Shell).
Linux/UNIX Programming
UNIX Unbounded A Beginning Approach
컴퓨터 네트워크 실습.
콘 쉘 활용하기 ㅎㅎ 기본 사용법 익히기 입출력 방향 변경 콘 쉘의 환경설정 콘 쉘 명령 다루기 프롬프트 설정하기
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Linux/UNIX Programming
제6장 C 쉘(C Shell) 숙명여대 창병모
제2장 유닉스/리눅스 사용.
양방향 파이프의 활용 양방향 통신 파이프는 기본적으로 단방향이므로 양방향 통신을 위해서는 파이프를 2개 생성한다.
12장 파이프.
Shell Programming Concept of the Shell Environment of Shell
5. 네트워킹 사용자 표시 : users/ rusers/who/w users 지역 호스트 상에 있는 사용자의 간단한 목록 표시
Root Filesystem Porting
DataStage 운영자 지침서 Operator’s Guide
Root Filesystem Porting
기본 셸로는 Bash 셸을 사용하라. 하지만 스트립트를 실행하기 위해서는 Bourne 셸을 사용하라.
제4장 유닉스 쉘 숙명여대 창병모 2011 가을.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
이재광 정보보호 일반 중에서 제2장 운영체제 보안 이재광
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Linux/UNIX Programming
Linux/UNIX Programming
화면 갈무리 및 파일 권한 설정.
Linux/UNIX Programming
editing program files with vi 기본적인 Linux commands
Linux/UNIX Programming
6장 콘 셸 뇌를 자극하는 Solaris Bible.
PL/SQL 코드 생성 및 수행 1 여러가지 환경 DOS에서 sqlplus Windows에서의 sqlplusw
Linux/UNIX Programming
제 6 강 Getting started.
시스템 인터페이스 Lab#5 쉘 실습.
시스템 인터페이스 Lab#5 쉡 실습.
Linux/UNIX Programming
과제 1, 과제2 과제1 : 1999년 9월 30일(목)까지 과제 2 : 1999년 10월 15일(금)까지
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
4. 셸을 이용한 명령어 입력. Unix 시스템 쉘 간단한 셸 명령 명령 매개변수(Command arguments)
제4장 유닉스 쉘 숙명여대 창병모
제8장 C 쉘 창병모
Linux/UNIX Programming
Docker Study 6~7.
Linux/UNIX Programming
Linux/UNIX Programming
Intelligent software Lab. 전재원
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
Presentation transcript:

제3장 유닉스 쉘

개요 쉘이란 무엇인가? 쉘의 종류 Korn shell C shell Bourne shell core core 명령어 해석기(command interpreter) 사용자와 os 사이에 창구 역할 쉘의 종류 Bourne shell Korn shell C shell Korn shell C shell Bourne shell core core

쉘 선택 쉘 기능 쉘 선택 built-in commands, scripts, variables, redirection wildcards, pipes, sequences subshells, background processing, command substitution 쉘 선택 시스템 관리자가 설정 /etc/passwd 쉘의 절대 경로명 Bourne /bin/sh , /bin/bash Korn /bin/ksh C shell /bin/csh

쉘 선택 사용자가 쉘 선택 %chsh Changing login shell for chang Old shell : /bin/csh New shell : /bin/ksh %logout login : chang passwd: $

쉘의 절차 read a startup file in the user's home directory display a prompt and waits for a user command execute the user's command Control-D Terminate

시작 파일(Startup file) Bourne shell : /bin/sh .profile .login Bourne again shell : /bin/bash .bashrc C shell : /bin/csh .cshrc

실행 파일 대 내장 명령어 % echo -n {arg}* Shell 내장 명령어 % cd directory 유틸리티 프로그램(utility program) 실행 허용 파일(a file with execute permission) 디렉토리에 저장되어 있음 쉘 변수 $PATH에 있는 순서대로 찾아서 실행 /bin, /usr/bin, /usr/local/bin, /usr/ucb, /etc, /usr/bin/X11 % ls ... /bin/ls

출력 리디렉션 출력을 파일에 저장 출력을 파일에 첨부(append) %command >fileName %ls > sample.txt 출력을 파일에 첨부(append) %command>>fileName %cat >> sample.txt

입력 리디렉션 입력 리디렉션 Here documents %command << word 파일을 표준입력으로 받아서 실행 %command < fileName %elm chang < sample.txt Here documents %command << word … word

파이프(Pipe) Command1의 표준 출력을 command2의 표준 입력으로 만든다. %command1 |command2 %ls | wc -w

명령어 대치 backquote(`)로 둘러 쌓인 명령어는 그 표준출력으로 대치된다. %echo the date today is `date`

명령어 조합 명령어 그룹 %(command1; ... ; commandn) 자식쉘(서브쉘)에 의해서 실행 표준 입력, 표준 출력, 표준 에러 공유 하나의 명령어처럼 리디렉션과 파이프 처리 가능 %date; ls; pwd > out.txt %(date; ls; pwd) > out.txt

명령어 조합 명령어 열 조건 명령어 열(Conditional sequence) %command1; …; commandn 순서적으로 실행 조건 명령어 열(Conditional sequence) % command1 && command2 Command1이 성공적으로(0 반환) 실행되면 command2 실행 %cc myprog.c && a.out % command1 || command2 Command1이 성공적으로 실행되지 않으면 command2 실행 %cc myprog.c || echo compilation failed

파일 이름 대치 파일 이름 대치 예 Wildcard 의미 %ls *.c %ls */* %ls [ac]* %cc *.c Wildcard 의미 * Matches any string, including the empty string ? Matches any single character [..] Matches any one of the characters between the brackets. A range of characters may be specified.

후면 처리 후면 처리(Background Processing) 예 %command & % find . -name b.c -print & 27174 %date & pwd & 27310 27311 %command & command shell

후면 처리 후면 프로세스의 리디렉션 후면 프로세스의 출력이 터미널에 나타나는 것을 방지 출력을 파일에 리디렉션 %find .-name a.c -print > find.txt & 출력을 메일로 보내기 % find . -name a.c -print | mail glass & 입력 리디렉션 % mail glass < inputfile &

쉘 프로그램(Shell Script) 쉘 프로그램이란 ? 쉘 프로그램의 종류 1. 일련의 쉘 명령어들을 포함하는 파일 2. 실행 허가권(execute permission) 3. 이름을 타이핑하여 실행 쉘 프로그램의 종류 1. C shell script, if the first line is # 2. If the first line is #!pathName, the executable program pathName is used to interpret the script. 3. Otherwise, it is Bourne shell script.

쉘 프로그램: 예 script.csh #This is sample C shell scripts echo -n the date today is date script.ksh #!/bin/ksh #This is sample Korn shell scipt. 실행 준비 %chmod 700 script.csh script.ksh

자식 쉘(서브 쉘) Parent  An initial login shell Parent when you log into UNIX  When your current shell(parent) creates a new (child) shell ? 1. When a grouped command is executed, such as (ls; pwd; date). 2. When a script is executed. 3. When a background job is executed. Parent Child Parent Env. vars Local vars Child Env. vars Local vars

환경 변수 대 지역 변수 쉘의 두 종류의 변수 1. 환경 변수(environment variable) 자식 쉘은 부모의 환경 변수를 상속 받는다. 2. 지역 변수(local variable) 자식 쉘은 깨끗한 지역 변수를 갖는다.

환경 변수 사전 정의 환경 변수 %echo HOME=$HOME, PATH=$PATH, MAIL=$MAIL

지역 변수 지역 변수 이미 정의된 지역 변수 - export 는 지역 변수를 환경 변수로 만든다. - 사전 정의 환경 변수를 제외한 모든 변수 - export 는 지역 변수를 환경 변수로 만든다. 이미 정의된 지역 변수

예 $firstname=Graham $lastname=Glass $echo $firstname $lastname $export lastname $sh $^D

인용부호 쉘의 wildcard 대치, 변수 대치, 명령어 대치를 제한 1. single quote (') inhibit wildcard replacement, variable substitution, and command substitution 2. double quote (") inhibit wildcard replacement only 3. when quotes are nested, the outer quote have any effect.

인용 부호 예 % echo 3 * 4 = 12 % echo "3 * 4 = 12" % echo '3 * 4 = 12' % set name = Graham % echo 'my name is $name and the date is 'date`' % echo "my name is $name and the date is 'date' "

작업 제어  Process status: ps ps -arux list process status information, by default your processes. -a option : all processes  sleep seconds sleeps for the specified number of seconds and then terminate  wait [pid] The shell suspends until the child process with pid terminates. If no arguments are supplied, the shell waits for all its child processes

작업 제어  Signaling process : kill kill [-signalId] {pid}+ kill -l 1. Kill(TERM signal) process or 2. sends the signal with code signalId to the list of numbered processes. %(sleep 10; echo done) & %ps 27390 %kill -9 27390 %sleep 30 & sleep30 & sleep 30 %kill –9 0

실습:쉘 리다이렉션 파일 이름 대치 파이프 사용 명령어 대치 명령열 조건부 명령열 후면처리 (123-124) (126-127) (128) 명령어 대치 (130) 명령열 (131) 조건부 명령열 (132) 후면처리 (134)

실습:쉘 쉘 작업 제어 명령어 찾기 간단한 쉘 스크립트 생성 및 실행(137) 쉘 변수 사용(140) 인용(143) Here document(144) 작업 제어 프로세스 상태: ps (145) 명령어 찾기 $PATH(151)