Just do IT
article thumbnail

스크립트

   * 쉘을 사용해서 프로그래밍을 있음

   * 서버 작업 자동화 운영 (DevOps) 위해 기본적으로는 익혀둘 필요가 있음

   * 명령어를 기본으로  하되, 가지 문법이 추가된 형태

   * 시스템 프로그래밍에서 익히는 내용 하나

 

기본 문법

   * 스크림트는 파일로 작성 파일을 실행

   * 파일의 가장 위의 라인은 "#!/bin/bash" 시작

   * 스크립트 파일은 실행 권한을 가지고 있어야 한다

   * 일반적으로 '파일이름.sh' 같은 형태로 파일 이름을 작성한다

 

주석

   * # 기호로 시작하는 라인은 주석처리이다

 

변수

   * 선언

      - 변수명 = 데이터

      - 변수명 = 데이터 사이에 띄어쓰기는 허용되지 않음

   * 사용

      - $변수명 으로 사용됨

 

리스트 변수(배열)

   * 선언

      - 변수명 = (테이터1 테이터2 테이터3 )

   * 사용

      - ${변수명[인덱스번호]}

 

사전에 정의된 지역 변수

   $$ : 쉘의 프로세스 번호

   $0 : 쉘스크립트 이름

   $1 ~ $9 : 명령줄 인수

   $* : 모든 명령줄 인수리스트

   $# : 인수의 개수

   $? : 최근 실행한 명령어의 종료

      - 0 (성공), 1 ~ 125 (에러),

      - 126 (파일이 실행가능하지 않음),

      - 128 ~ 255 (시그널 발생)

 

연산자

   * expr : 숫자 계산

   * expr 사용하는 경우 역작은 따옴표(') 사용해야 (작은 따옴표가 아니다)

   * 연산자 * 괄호() 앞에는 역슬래시() 같이 사용

   * 연산자와 숫자, 변수, 기호 사이에는 space 넣어야 한다

 

조건문 문법

   * 기본 if 구문

      - 명령문을 탭으로 띄워야 하는 것은 아니다 (then fi안에만 있으면 )

   if [조건]

   then

      명령문

   fi

 

조건

   * 조건 작성이 다른 프로그래밍 언어와 달리 가독성이 현저히 떨어진다

   * 필요할 때마다 참조하면 된다

 

문자 비교

   문자1 == 문자2   # 문자1 문자2 일치

   문자1 != 문자2    # 문자1 문자2 일치하지 않음

   -z 문자              # 문자가 null 이면

   -n 문자              # 문자가 null 아니면

 

수치비교

   1 eq 2 : 값이 같음 (equal)

   1 ne 2 : 값이 같이 않음 (not equal)

   1 lt 2 : 1 2보다 작음 (less than)

   1 le 2 : 1 2보다 작거나 같음 (less or equal)

   1 gt 2 : 1 2보다 (greater than)

   1 ge 2 : 1 2보다 크거나 같음 (greater or equal)

 

파일 검사

   e     #

   d     #

   h     #

   f      #

   r      #

   s      # 0

   u      # s e t - u s e r - i d

   w     #

   x      #

 

논리 연산

   조건1 -a 조건2    #AND

   조건1 -o 조건2    #OR

   조건1 && 조건2   # 양쪽 성립

   조건1 || 조건2      # 한쪽 또는 양쪽 성립

   !조건                  # 조건이 성립하지 않음

   true                   # 조건이 언제나 성립

   false                   # 조건이 언제나 성립하지  않음

 

조건문 문법

   * 기본 if/else 구문

      if [조건]

      then

         명령문 

      else

         명령문

      fi

 

조건문 한줄에 작서하기

   * if 구문 : if [ 조건 ]; then 명령문; fi

   * if [ 뒤와, ] 앞에는 반드시 공백이 있어야 한다

   * [] dptj &&, || <, > 연산자들이 에러가 나는 경우 [[ ]] 사용하면 정상 작동하는 경우가 있다

 

반복문 문법

   * 기본 for 문법

      for 변수 in 변수값1 변수값2 …

      do

         명령문

      done

 

   * 기본 while 구문

      whild [ 조건문 ]

      do

         명령문

      done

 

압축 명령 tar

   * 리눅스에서는 여러 파일을 파일로 묶은 것을 아카이브(archive)라고 한다

      - 파일 확장자는 .tar

   * 리눅스에서 파일 압축은 단계로 진행된다

      - 아카이브(archive) 만든다

      - gzip 프로그램을 사용해서 압축한다 + 파일 확장자는 .tar .gz이다

   * 압축 명령어는 tar 사용하되 옵션을 사용해서 gzip 기능을 사용한다

   * 주요 옵션

      x : 묶음을 해제

      c : 파일을 묶음

      v : 묶을/해제 과정을 화면에 표시

      z : gunzip 사용

      f : 파일 이름을 지정

   * 압축시 주로 사용하는 옵션

      tar -cvzf [압축된 파일 이름] [압축할 파일이나 폴더명]

   * 압축을 풀을 주로 사용하는 옵션

      tar -xvzf [압축 해제할 압축 아카이브 이름]

   * 쉘을 사용해서 프로그래밍을 있음

   * 서버 작업 자동화 운영 (DevOps) 위해 기본적으로는 익혀둘 필요가 있음

   * 명령어를 기본으로  하되, 가지 문법이 추가된 형태

   * 시스템 프로그래밍에서 익히는 내용 하나

 

출처 : 제로베이스

profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!