목록프로그래밍 (73)
Self-Improvement
*원격 서버의 자동 명령어 수행 #vi telnet.sh #chmod 755 telnet.sh #telnet.sh *특정 경로의 파일 확장자 변경 #vi move.filename.sh #chmod 755 move.filename.sh #move.filename.sh /root/bin txt els *환경 설정 스크립트 #vi ENV_main.sh --------ENV_main.sh---------- /root/bin/ENV1.sh /root/bin/ENV2.sh /root/bin/ENV3.sh ---------------------------- #chmod 755 ENV_main.sh #vi ENV1.sh (telnet, ssh Open서비스 진행) ------------ENV1.sh-----------..
*hosts파일에 등록 프로그램(본인 IP 제외) #vi hosts.shd #chmod 755 hosts.sh #cp /etc/hosts hosts #hosts.sh #cat hostsd *사용자추가 프로그램 #vi user.listd #vi useradd.shd #useradd.shd *다른서버와의 서비스내용 비교 #vi check_service.shd #chmod 755 check_service.sh #check_service.shd *파일에서 일부 데이터 추출 #vi report.txtd #vi check_report.shd #chmod 755 check_report.sh #check_report.sh U-1d *ftp 파일 자동 업로드/다운로드 (비대화형 ftp) 1.정해진 파일 업로드/다운로드 ..
*루프제어 : break N, continue N //break N (N은 숫자) && break 1 : 루프 하나 탈출 && break 2 : 루프 두개 탈출 //continue N (N은 숫자) 제어 루프의 시작으로 되돌린다. && continue 1 : 첫 안쪽 루프의 제어부분으로 && continue 2 : 두번째 안쪽 루프의 제어부분으로 *실습 1.로그파일을 이용하여 10초마다 점검하여 특정레벨 발생시 메일로 전송 (nohup CMD) ※nohup CMD : 로그아웃해도 계속 진행 #vi script.shd #chmod 755 script.sh #cp -p /var/log/messages /root/bin/messages #script.sh /root/bin/messages & #echo cri..
*반복문 : while while condition do statement done *실습 1.간단 실습 #vi seq.shd #chmod 755 seq.sh #seq.sh 1 10d 2.while문과 shift 사용 #vi shift.shd #chmod 755 shift.sh #shift.sh 1 2 3 4 5 d 3.답을 맞출때까지 반복 #vi quiz.shd #chmod 755 quiz.sh #quiz.shd
*반복문 : for for VAR in VAR_LIST do statement done *실습 1.간단 실습 #vi for.sh d #chmod 755 for.sh #for.sh d 2-1.파일내용을 변수로 #cp /etc/vsftpd/ftpusers /root/bin #vi ftpuser_check.shd #chmod 755 ftpuser_check.sh #ftpuser_check.sh d 2-2.특정 사용자의 ftp내용 확인 #vi ftpuser_check2.shd #chmod 755 ftpuser_check.sh #ftpuser_check2.sh admd
*Case 구문 case VAR in pattern1 | pattern2 | ....) statement ;; pattern3 | pattern4 | ....) statement ;; ..... *) statement ;; esac *실습 1.종합 툴 만드는 예제 #vi tools.shd #chmod 755 tools.sh #tools.sh d 2.yes/no 입력받기 예제 #vi yes.shd #chmod 755 yes.sh #yes.sh d 3-1.시작 스크립트 작성 예제 #vi new.shd #chmod 755 new.sh #new.sh restart d 3-2.service.sh CMD을 통한 new.sh 작동 #vi service.shd #chmod 755 service.sh #service.s..
*if 구문 1.기본구문 if 명령어 ; then statements fi 2.else if구문 if 명령어 ; then statements elif 명령어 ; then statements fi *실습 1.실행권이있는 파일의 대해서 실행하기 #mkdir /test/test.exe #vi /test/test.exed #vi execfile.sh #chmod 755 execfile.sh #execfile.sh /test/test.exe d 2.파일이 디렉터리인지 아닌지 검사하기 #vi dir.shd #chmod 755 dir.sh #dir.sh /etc/passwd d 3.if 구문을 사용한 인자 처리 예제 #vi filesize.shd #chmod 755 filesize.sh #filesize.sh #fi..
*산술 연산 ※기본적으로 소수점 계산을 하지 않는다. ※산술식의 공백은 중요 #expr 1 + 4 (더하기) #expr 4 - 1 (빼기) #expr 4 \* 3 (곱하기) #expr 10 / 2 (나누기) #expr 10 % 3 (나머지) *조건문 선수지식 : test CMD //test CMD 선수지식 1.test명령어 ([]) 참, 거짓을 판별해주는 것 ex) if [ -f /etc/profile ] ; then ex) if test -f /etc/profile ; then 2.파일 test 연산자 -d file : 파일이 존재하고 디렉토리인 경우 -f file : 파일이 존재하고 일반파일인 경우 -r file : -w -x -s 3.문자열 test 연산자 4.산술연산 test 구문 ※연산자 우선순..
*쉘 스크립트 입/출력 : echo //실습 #vi echo.shd #chmod 755 echo.sh #echo.sh d ※echo -n : echo명령어의 라인띄기을 막는것 *사용자 입력 읽기 : read ex) read 변수이름 ※변수가 하나이상이면 값이 하나씩 들어가고 마지막변수에 다들어감 //실습 1.사용자 이름을 입력받아 재출력 #vi read.shd #chmod 755 read.sh #read.sh d 2. #vi enter.shd #chmod 755 enter.sh #enter.shd
*쉘 스크립트 실행방법 1.#bash -x script.sh (ex 디버깅) =read권한만 있으면 실행 =서브쉘로 실행됨 2.#.script.sh (ex 환경파일) =read권한만 있으면 실행 =현재 쉘로 실행 3.쉘이 fork되어 실행 #./script.sh (#!/bin/bash을 안씀) =실행권한 필요 4.#!/bin/bash (ex 쉘스크립트) =작성시 쉘을 직접 지정 =실행권한 필요 *쉘 스크립트 편리 설정 테스트 스크립트 작성 위치를 PATH변수에 지정을 하여 쉽게 사용(/root/bin) /root/bin이 기본으로 추가되어 있을 수 있으니 #echo $PATH로 확인하고 없으면 설정 진행 #vi ~/.bash_profiled 해당 두라인을 추가한다. #. ~/.bash_profile #e..