티스토리 뷰
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 이니 신경 쓰지마세용
####### 오늘은 여기 까지 내일 또 이어서 작성 할께요 ########
'System > etc' 카테고리의 다른 글
리눅스 쉘 스크립트 기초 - read 명령어 및 옵션 (0) | 2022.11.21 |
---|---|
리눅스 쉘 스크립트 기초 - echo 명령어 및 옵션 (0) | 2022.11.21 |
리눅스 쉘 스크립트 - 환경 변수 설정 방법 (0) | 2022.11.19 |
리눅스 쉘 스크립트 기초 - Shell 시작하기! (0) | 2022.11.18 |
리눅스 - Log 란? (2) | 2022.11.02 |
- Total
- Today
- Yesterday
- rhcsa8 기출문제
- 리눅스 명령어
- grootboan
- podman
- rhcsa8덤프
- 파이썬기초
- 리눅스
- 리눅스본딩
- 맨탈훈련
- CTF
- 주소DB만들기
- 리눅스 환경변수 지정
- rhcsa8
- Rcity 9번
- Rcity1번
- rhcsa8 시험문제
- Rcityboan.com
- 파이썬실습
- Rcity
- RCity operation 1
- gzip
- 리눅스 쉘 스크립트
- 쉘 스크립트 기초
- Rcity CTF
- 7-zip
- rhcsa8 덤프
- grootsecuriry
- 라쿤시티
- Grootsecurity
- PODman기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |