티스토리 뷰

728x90
반응형

SE 로 일 하면서 고객 을 옆에 두고 작업 하게 되면
단순 반복 작업 과 일일이 나열 하며서 해야 하는 작업이 종종 있는데
그런 구찬고 어찌보면 전문성 떨어져 보이는 행동을 안하려면 스크립트를 배워야 겠더라~
그래서 개인 공부 정리 겸 해서 작성 합니다.


1. Shell 개요

- OS 에서 제공 하는 실행 프로그램 으로 관리 하는 어플리케이션 과 인터페이스 를 제공 한다.
Shell 의 종류 여러 가지가 있지만 Bourne shell , Bourne Again shell 이 대표적 이다.
Bourne shell ( sh )
1974년 Bell Lab 에서 Stephen R. Bourne 이 $ 프로프트를 기반으로 사용 도록 만든 shell
" 최초 의 Unix Shell "
Bourne Shell (본 쉘) 의 위치는 " /bin/sh "

- Bourne Agin Shell
Liunx 의 GNU Project의 부분으로 Unix 의 Bourne shell 에 비해 속도가 빠르고
여러가지 기능 을 개선 한 Shell(sh 에서 업그레이드 한 것)

- Script란 파일에 저장된 명령들의 집합
Shell이 이 파일을 읽어 들여서 순차적 처리 하는 방식
배포 되고 있는 리눅스 대부분은 Bash 를 기본으로 사용 한다.

2. Shell 확인 하기

- Linux 에서 사용 가능한 Shell 목록을 확인 하기 위해서는 몇가지 의 방법이 있다.

# Shell 목록 확인 하기
$ cat /etc/shells
$ chsh -l

# 현재 접속 사용자 Default Shell 확인 하기
$ echo $SHELL   

# 시스템 사용자 별 default Shell 확인 하기
$ cat /etc/passwd

$ cat /etc/passwd | awk -F":" '{print$1,$(NF)}'
# /etc/passwd 파일에 결과를 : 로 구분하여 첫번째 와 마지막 줄 출력

# 현재 세션 에 사용중인 Shell 확인
$ ps $$


3. 유저 기본 쉘 변경 하기

$ usermod -s /bin/bash username # username 이란 유저의 쉘을 bash 로 변경
$ chsh -s /bin/bash username    # username 이란 유저의 쉘을 bash 로 변경
# vi 편집기로 /etc/passwd 의 내용을 직접 수정해도 된다.

첨부 이미지 흰색 으로 표시한 부분을 원하는 Shell 로 변경 하면 적용 된다.

4. Shell Script 사용 예

 

  • 시스템 감시 및 모니터링
  • crontab 을 이용한 스케줄링 작업
  • 서비스 등 문제 발생시 이메일 전송
  • 보안 문제 발생시 자동 처리 ( 로그인 거부 된 IP 가 반복적 접속 시도시 IP 차단)


5. Shell Scrip 명령어 확인

 

# 리눅스 내에 있는 모든 명령어 확인
$ compgen -b

# 조건 , 반복문 처리 명령어 확인
$ compgen -K


6. Shell Script 실습

 

#!/bin/bash
echo " 로그인한 계정명 =" $LOGNAME
echo " 접속한 서버명 = " $HOSTNAME
exit 0

위 내용을 vi , vim , nano 편집기에 작성 하고 실행 해보자
## 실행 방법 ##
파일명이 check.sh 로 했다면
$ sh check.sh
로 해도 되고 만약 chmod +x check.sh 로 실행 권한 을 줬다면
$ ./check.sh
로 해도 된다

### 요즘 RHCE 공부 중이라 디렉토리가 ansible 이니 신경 쓰지마세용



####### 오늘은 여기 까지 내일 또 이어서 작성 할께요 ########


728x90
반응형
댓글