KTDS 62

[UNIX/LINUX] Shell Script - sed 명령을 이용한 new line <-> 특정 문자열 (1)

이번 글은 sed 명령어를 이용하여 new line(개행문자 \n)을 특정 문자열로 바꾸거나, 특정 문자열을 new line으로 변경하는 방법에 대한 글입니다. Shell Script를 작성하다 보면 한꺼번에 많은 내용을 바꾸어야 할 때가 종종 발생하는데, 그 때 유용하게 쓰이는 명령어가 바로 이 'sed' 명령어죠. sed와 비슷한 역할을 하는 명령어로 'tr' 이라는 명령어도 있습니다. 각자가 처한 상황에 맞게, 취향에 따라 골라 쓰시면 되는데요. 그러한 내용 변경 상황 중에서도 new line, 다시 말해 줄바꿈 상태를 특정 문자열로 변경하거나, 그 반대로 특정 문자열을 줄바꿈 상태로 바꿔야 하는 경우가 있습니다. 그럴 때 다음과 같이 사용하시면 되겠습니다. (1) 특정 문자열 --> new lin..

[UNIX/LINUX] Shell Script 기본 - 5.case문 (1) 기본 사용법 및 예제

5. case문 (1) 기본 사용법 및 예제 case 변수 in 경우1) ~ ;; 경우2) ~ ;; 경우3) ~ ;; ...esac case문의 사용법은 아주 간단합니다. shell script를 아무 생각없이 코딩하다 보면 무수히 많은 if문을 남발하게 되고 소스 자체가 지저분해 보이게 되는데 이 때 이 case문만 적절히 사용할 줄 알아도 훨씬 심플하고 보기 좋은 shell script를 작성할 수 있습니다. 그럼 바로 예제문을 통해 설명 드리겠습니다. 먼저 동일한 결과를 보여주는 if문부터 보도록 하겠습니다. tmpSize=`df -g /tmp | grep tmp | awk '{print $3}' | cut -d '.' -f 1` echo 'The size of /tmp filesystem '${t..

PostgreSQL (PPAS) PLAN 및 실행계획 보기 [2]

explain analyze를 통한 PLAN 분석 예제 입니다. 해당 명령은 PLAN확인 뿐만 아니라 실제 수행이 동반되므로 주의해야 합니다. 1. 테스트를 위한 테이블은 먼저 생성한 테이블을 기준으로 합니다. create table zz_test001 ( a varchar(5), b varchar(10) ); create table zz_test002 ( c varchar(5), a varchar(5), b varchar(10) ); 2. SQL PLAN 정보 보기 (실행계획 확인) explain analyze select * from zz_test001 a, zz_test002 b where a.a = '00001' and a.a = b.a; 3. SQL PLAN 결과 explain analyze을 ..

[UNIX/LINUX] Shell Script 기본 - 4.while문 (1) 기본 사용법 및 예제

4. while문 (1) 기본 사용법 및 예제 while [ 조건식 ]; do // while문 시작 ~done // while문 종료 for문과 마찬가지로 while문 또한 루프 처리를 담당합니다. 사용법이 다소 다르므로 상황에 따라 적절히 선택해서 사용해야 하는데요. 이 while문 역시 조건식 뒤에 세미콜론을 사용하지 않고 사용 가능합니다. while문의 조건식엔 보통 산술 비교 형태가 들어갑니다. 가령, 다음과 같은 식이지요. while [ ${index} -le 10 ] // index 변수값이 10보다 작거나 같은 동안 while문 수행do ~done 위와 같은 조건식으로 시작하여 '~' 로 처리한 컨텐츠 부분에 그 조건식에 위배되는 순간이 오게 되면 while문을 종료하는 식이지요. 헌데 f..

Apache ssl 사설인증서 설치 방법

운영시스템은 인증기관을 통하여 구매 후, 인증서를 발급을 받아야하지만.. 개발시스템은 개발자만 접속을 하기 때문에 사설인증서를 사용을 하면 됩니다. openssl을 사용하여 다음과 같이 사설인증서를 설치하여 사용하시면 됩니다. 1. 개인키 생성 openssl genrsa -des3 -out ktds.com_key.pem 2048 2. 개인서명인증(CSR) 생성 openssl req -new -key ktds.com_key.pem -out ktds.com_csr.pem 3. 개인키에서 패스워드 삭제 openssl rsa -in ktds.com_key.pem -out ktds.com_key_nopass.pem 4. 사설인증서 생성 openssl x509 -req -days 36500 -in ktds.com_..

[UNIX/LINUX] Shell Script 기본 - 3.for문 (2) 예제

#!/bin/shif [ -d $1 ]; then cd $1 if [ -f $2 -a -s $2 ]; then echo $2' is file and has contents more than one character.' array=`cat $1/$2` for day in ${array}; do if [ -n ${day} ]; then if [ ${day} == "Fri" -o ${day} == "Sat" ]; then echo ${day}' is very happy day!!' else echo ${day}' is gloomy day.' fi fi done else echo $2' is not file or has zero character.' fifi 앞서 if문 예제 글에서 보여 드렸던 예제 스크립트보..

[UNIX/LINUX] Shell Script 기본 - 3.for문 (1) 기본 사용법

3. for문 (1) 기본 사용법 for 단일변수 in 리스트; do // for문 시작 ~done // for문 종료 for문의 용도에 대한 것을 모르시는 분은 없을 겁니다. C, Java 등 많은 language들에서 while문과 함께 가장 많이 쓰이는 루프 처리 구문이 바로 이 for문이기 때문이죠. 위 구문에서도 if문 처리에서 보았던 것처럼 세미콜론을 볼 수가 있는데, 마찬가지로 세미콜론을 사용하지 않으려면 다음과 같은 형태로 처리해야 합니다. for 단일변수 in 리스트 // for문 시작do ~done // for문 종료 '리스트' 자리에는 보통 배열 형태로 들어가게 되는데요. '리스트' 자리의 배열은 일일이 값을 나열할 수도 있고 배열 형태의 값을 가진 파일을 읽어들이는 형태일 수도 있습..

[UNIX/LINUX] Shell Script 기본 - 2.기본 문법 (3) 배열

(3) 배열 배열을 선언하여 값을 할당하는 방법에는 크게 두 가지 정도가 있습니다. 하나는 배열의 인덱스 하나하나를 구분하여 각각의 인덱스에 일일이 값을 지정하는 방법과, 또 다른 하나는 뭉탱이로 배열에 값을 넣어주는 방법입니다. 먼저 인덱스 하나하나에 값을 따로따로 지정하는 방법은 다음과 같습니다. array[0]='Shell'array[1]='Script'array[2]='Programming' 위 예제의 경우, 인덱스 '0'에는 'Shell'이란 문자열이, 인덱스 '1'에는 'Script'란 문자열이, 인덱스 '2'에는 'Programming'이란 문자열이 각각 지정되었습니다. 위와 같이 지정한 후, 다른 라인에서 해당 배열 변수값을 호출하고자 할 때는 아래와 같이 사용하면 됩니다. echo ${a..

Nginx 설치

운영체제 베포판의 저장소에는 대부분 Nginx 바이너리가 포함되어 있지만, 다음과 같은 방법을 통하여 최신 보안 및 성능 패치가 된 최신 Nginx 버전의 설치를 권장을 합니다. Nginx는 테스트 버전과 stable버전으로 구분이 되며, (http://nginx.org/en/download.html)에서 내려 받을 수 있습니다. ● Nginx 설치 이미지 다운로드 Nginx의 홈디렉토리에서 아래의 명령을 수행하여 Nginx 설치 이미지를 내려 받습니다. # cd /nginx # wget http://nginx.org/download/nginx-1.6.0.tar.gz # wget https://github.com/yaoweibin/nginx_ajp_module/archive/master.zip ● pcr..

Nginx 소개

인터넷 초창기에는 모든 관심이 웹 서버와 웹 클라이언트간에 요구되는 HTTP 프로토콜의 충실한 구현과 웹 브라우저와 사용자 간의 그래픽 사용자 인터페이스 구현, 그리고 브라우저의 자체의 풍부한 기능성 구현에 집중이 되었습니다. 인터넷 초기의 성능 이슈는 통신망 인프라에 집중이 되었고, 세월이 흘러 이제는 초고속 인터넷 시대가 되었고, 그동안 아파치는 수많은 웹서비스를 제공하는 웹서버로서 2013년 기준 55%이상 점유율을 가지며 확고부동하게 자리를 잡았습니다. 하지만 이제는 통신망이 아닌 다른 성능 이슈를 생각해야 할 시점입니다. 초고속 인터넷망을 통한 웹사이트 트래픽이 폭주하면 아파치가 이를 감당하지 못하고 있어 대안으로 차세대 웹서버의 도입을 한번쯤은 생각을 해 봐야합니다. 러시아 엔지니어 이고르 시..