'IT 이야기/Linux 셸 스크립트' 카테고리의 글 목록 (5 Page)
본문 바로가기

IT 이야기/Linux 셸 스크립트137

[Linux 셸 스크립트] 셸 기능 다루기 - 093 리다이렉트가 번잡하지 않도록 그룹핑해서 보기 좋게 만들기 1. 사용 명령어 (1) echo 2. 키워드 & 사용처 (1) 키워드 리다이렉트, 그룹핑 (2) 사용처 여러 명령어 결과를 같은 파일에 리다이렉트해서 출력하는 걸 한꺼번에 묶어서 작성하고 싶을 때 사용합니다. 3. 실행 예제 $ ./echo-redirect.sh $ cat output.log [Script start] Wed Apr 14 11:11:11 KST 2021 echo-redirect.sh output.log script.sh [Script end] 4. 스크립트 #!/bin/sh # 중괄호로 그룹핑해서 리다이렉트를 하나로 합치기 { ① echo "[Script start]" date ls echo "[Script end]" } > output.log ② 5. 해설 이 스크립트는 여러 명령어 .. 2021. 4. 14.
[Linux 셸 스크립트] 셸 기능 다루기 - 092 이식성을 고려한 외부 명령어 이용하기 1. 사용 명령어 (1) uname (2) echo 2. 키워드 & 사용처 (1) 키워드 범용성, 이식성, OS (2) 사용처 OS마다 명령어 동작이 달라 각각 명령어를 변수로 정의하고 싶을 때 사용합니다. 3. 실행 예제 $ ./os-command.sh 이것은 줄이 이어진 메시지 입니다. 4. 스크립트 #!/bin/sh # echo 명령어 경로를 환경에 따라서 바꿔서 셸 변수 ECHO에 대입 case $(uname -s) in ① # Mac 이면 셸 내장이 아니라 bin/echo 사용 Darwin) ② ECHO="/bin/echo" ② ;; ② *) ECHO="echo" ;; esac $ECHO -n "이것은 줄이 이어진 " ③ $ ECHO "메시지 입니다." ③ 5. 해설 이 스크립트는 echo 명령.. 2021. 4. 14.
[Linux 셸 스크립트] 셸 기능 다루기 - 091 scp로 파일 전송할 때 CPU 이용률을 계산해서 압축 처리를 할 것인지 판단하기 1. 사용 명령어 (1) time (2) scp (3) awk (4) bc 2. 키워드 & 사용처 (1) 키워드 CPU 바운드, I/O 바운드, 처리 시간, 측정 (2) 사용처 스크립트 실행 시간과 CPU 사용 시간을 측정해서 전체 실행 시간 대비 CPU 사용률을 알고 싶을 때 사용합니다. 3. 실행 예제 $ ./time-scp.sh transfer.dat100%18MB9.0MB/s00:02 scp 전송 CPU 사용률 : 66.98 (%) 4. 스크립트 #!/bin/sh # 테스트 전송 파일명, 전송할 곳 등 정의 username="park" # ssh 사용자명 ① filename=transfer.dat" # 전송 파일명 ① hostname="192.168.2.10" # 전송 호스트 ① path="/va.. 2021. 4. 14.
[Linux 셸 스크립트] 셸 기능 다루기 - 090 늘 지정한 환경 변수를 설정해서 명령어를 실행하도록 래퍼 스크립트 작성하기 1. 사용 명령어 (1) exec 2. 키워드 & 사용처 (1) 키워드 래퍼, 환경 변수 (2) 사용처 래퍼 스크립트를 작성하고 싶을 때 사용합니다. 3. 실행 예제 $ ./exec.sh -o output.txt 2021. 4. 13.
[Linux 셸 스크립트] 셸 기능 다루기 - 089 이상 종료해도 흔적을 남기지 않도록 종료 시 작업 파일을 삭제하는 뒷처리하기 1. 사용 명령어 (1) trap (2) rm 2. 키워드 & 사용처 (1) 키워드 임시 파일, 종료, 시그널, 트랩 (2) 사용처 임시 파일을 사용하는 스크립트에서 정상 종료든 강제 종료든 상관없이 공통된 종료 처리를 하고 싶을 때 사용합니다. 3. 실행 예제 $ ./sig-exit.sh ^C > "$tmpfile" ③ ./calcB.sh >> "$tmpfile" ③ # 계산 결과를 더해서 최종 합계를 계산 awk '{sum += $1} END{print sum}' "$tmpfile" ④ 5. 해설 이 스크립트는 정상으로 종료했을 때는 물론이고, 키보드에서 Ctrl + C를 입력해 강제 종료했을 때도 임시 파일(tmpfile)을 삭제하고 종료합니다. 그리고 bash를 사용한다고 전제합니다. 이 스크립트.. 2021. 4. 13.
[Linux 셸 스크립트] 셸 기능 다루기 - 088 HUP 시그널을 받아서 실행 중에 설정 파일을 다시 읽어들이기 1. 사용 명령어 (1) trap (2) uptime (3) .(닷 명령어) 2. 키워드 & 사용처 (1) 키워드 시그널, 끼어들기, 트랩, 리로드 (2) 사용처 실행 중인 스크립트의 설정 파일이 바뀌어도 프로세스를 멈추지 않고 다시 설정 파일을 읽어들이고 싶을 때 사용합니다. 3. 실행 예제 $ ./sig-hup.sh $ kill -s HUP > "${UPTIME_FILENAME}" ⑤ sleep 1 done 5. 해설 이 스크립트는 서버 부하 평균값을 1초마다 한 번씩 파일로 반복 출력합니다. uptime 명령어는 다음처럼 서버 기동 시간과 서버의 과거 1분/5분/15분 부하 평균값을 출력합니다. 이 결과를 장시간 추출하면 서버 부하 상태를 볼 수 있습니다. $ uptime 16:33:32up 9 d.. 2021. 4. 13.
[Linux 셸 스크립트] 셸 기능 다루기 - 087 스크립트 실행할 때 시그널을 받아서 현재 실행 상태 출력하기 1. 사용 명령어 (1) trap (2) nc (3) sleep 2. 키워드 & 사용처 (1) 키워드 시그널, 끼어들기, 트랩 (2) 사용처 처리 시간이 긴 셸 스크립트를 실행하는데 프로세스를 정지하지 않고 내부 실행 상태를 표시하고 싶을 때 사용합니다. 3. 실행 예제 $ ./sig-usr1.sh Connection to 192.168.2.105 80 port [tcp/http] succeeded! Connection to 192.168.2.105 80 port [tcp/http] succeeded! Connection to 192.168.2.105 80 port [tcp/http] succeeded! Try Count: 3 2021. 4. 13.
[Linux 셸 스크립트] 셸 기능 다루기 - 086 함수나 if문 같은 히어 도큐먼트를 쓸 때 탭 정렬로 보기 좋게 만들기 1. 사용 명령어 (1) cat 2. 키워드 & 사용처 (1) 키워드 히어 도큐먼트, 들여쓰기, 인텐트, 탭 (2) 사용처 함수 블록이나 if문 등 들여쓰기가 필요한 곳에 히어 도큐먼트도 들여쓰고 싶을 때 사용합니다. 3. 실행 예제 $ ./here-indent.sh "My Title" 히어 도큐먼트 자체는 앞머리에 탭이 있지만 출력에는 탭이 없음 Auto HTML Sample. 4. 스크립트 #!/bin/sh # 명령행 인수 확인 if [ -z "$1" ]; then ① echo "title을 인수로 지정하세요." >&2 ① exit 1 ① else # 명령행 인수$1 문자열을 title 요소에 넣어서 표시 # 히어 도큐먼트에 -(하이픈)을 지정해서 # 앞부분 탭을 무시하고 들여쓰기 cat 2021. 4. 13.
[Linux 셸 스크립트] 텍스트 처리 - 085 HTML 파일 문자 코드를 자동으로 판별해서 UTF-8로 인코딩된 파일로 바꾸기 1. 사용 명령어 (1) grep (2) sed (3) iconv 2. 키워드 & 사용처 (1) 키워드 HTML, meta 태그, 문자 코드 (2) 사용처 HTML 파일 meta 태그에서 자동으로 문자 코드를 판별해서 UTF-8로 변환하고 싶을 때 사용합니다. 3. 실행 예제 $ ./charset-utf8.sh $ ls newdir/ &2 ⑤ coontinue ⑤ fi # meta 태그에서 추출한 문자 코드에서 UTF-8으로 변환 # 디렉터리 $outdir에 출력 iconv -c -f "$charset" -t UTF-8 "$filename" > "${outdir}/${filename}" ⑥ done 5. 해설 이 스크립트는 현재 디렉터리에 있는 HTML 파일(확장자 .html)을 HTML 파일에 있는 m.. 2021. 4. 13.
[Linux 셸 스크립트] 텍스트 처리 - 084 텍스트 파일에서 HTML 파일 만들기 1. 사용 명령어 (1) sed 2. 키워드 & 사용처 (1) 키워드 HTML, 이스케이프, 문자 참조, 줄바꿈, 텍스트 파일 (2) 사용처 서버에서 텍스트 파일을 간단한 HTML 파일로 변환해서 웹 브라우저로 보고 싶을 때 사용합니다. 3. 실행 예제 $ cat sample.txt 1 + 1 sample.html $ cat sample.html 2021. 4. 13.