EASY7

쉘 스크립트(프로그래밍) 본문

보안 공부/리눅스

쉘 스크립트(프로그래밍)

E.asiest 2019. 10. 16. 23:54

쉘 프로그래밍

하나의 작업 명령을 반복적으로 실행하거나 다양한 명령어를 조합하여 사용할 때는 오랜시간이 걸릴 수 있다.

이럴때 쉘 프로그래밍을 사용하면 한번의 작업으로 시간과 작업을 절약할 수 있다.

 

1. 쉘 스크립트 주석

한 줄 주석은 해당 라인의 앞에 #만 적으면 된다.
여러 줄 주석은

:<<'END'

여기가 주석~~

END

2. 쉘 스크립트 실행

예시) 현재 디렉터리의 모든 파일의 권한을 750으로 변경하고 소유자와 그룹을 hacker로 변경.

bash shelltest.sh 또는 sh shelltest.sh 하면 실행됨.(bash든 sh든 아무거나 상관없다)

 

hello world 글자 출력하기

/bin/bash 는 이 셸의 실행파일이 있는 경로이다. 셸은 들어오는 명령어를 해석하고 내부 명령어라면 바로 실행하고, 외부명령어라면 해당 실행파일을 찾아 메모리에 필요한 부분을 적재한다.

 

3. 파일 디스크립터와 리디렉션

파일 디스크립터는 보통 stdin(표준 입력), stdout(표준 출력), stderr(표준 에러) 세가지로 나누어진다.

ls -l > ls-l.txt (덮어쓰기)

ls -l >> ls-l.txt (append)

grep da * 2> grep-errors.txt (표준 에러를 파일로 보내기)

 

4. 파이프

pipes는 흘려보내기랄는 뜻이다.

ls -l의 결과를 그대로 grep 명령어로 넘어가, \.txt$에 맞는 값만 화면에 출력한다는 뜻이다.

ls -l | grep "\.txt$"는 ls -l *.txt와 같은 명령어이다.

 

 

5. 변수

데이터 타입을 미리 정할 필요 없이, 숫자나 문자, 문자열을 지정할 수 있다.

변수에 들어있는 값을 출력하기 위해서 변수 앞에 $를 사용해야 이것이 변수라는 것을 알려줄 수 있다.

$를 안쓰면 변수가 아닌 문자열로 인식하여 STR이 출력되므로 주의해야한다.

 

'보안 공부 > 리눅스' 카테고리의 다른 글

리눅스 rm 명령어  (0) 2019.10.23
리눅스 find, grep, awk 사용하기  (0) 2019.10.21
vmware workstation vmware tool [Kali]  (0) 2019.10.14
tcpdump  (0) 2019.10.12
CentOS 서버 부팅시 데몬 자동실행  (0) 2019.10.03
Comments