Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linux Shell 200811436 박철승.

Similar presentations


Presentation on theme: "Linux Shell 200811436 박철승."— Presentation transcript:

1 Linux Shell 박철승

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

3 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의 장점을 결합

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

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

6 # 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 [변수명]

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

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

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

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

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

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

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

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

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

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

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

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

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

20 쉘의 기초 문법 – 숫자와 문자 그리고 파일 크기 비교 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보다 작으면?

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

22 쉘의 기초 문법 – 숫자와 문자 그리고 파일 파일 다루기 표현방식 의미 [ -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보다 오래된 파일인 경우

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

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

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

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

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

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

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

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

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

32 Q & A


Download ppt "Linux Shell 200811436 박철승."

Similar presentations


Ads by Google