728x90
반응형

분류 전체보기 649

정규 표현식

​ 정규식은 리눅스 유틸리티들이 텍스트를 필터를 할수 있게 사용자가 그 패턴을 정의해 주는 것을 말합니다. 아래 그림은 정규 표현식을 이용햇서 데이터가 필터링 되는 과정을 보여 줍니다. 예를 들어 "*' 문자는 패턴에 매치가 되는 모든 파일들을 리스트해 줍니다. 아래의 예제를 살펴 보도록 합니다. $ ls -al da* -rw-r--r-- 1 ==> da로 시작하는 모든파일을 리스트업 -rw-r--r-- 1 rich rich 25 Dec 4 12:40 data.ts -rw-r--r-- 1 rich rich 180 Nov 26 12:42 data1 -rw-r--r-- 1 rich rich 45 Nov 26 12:44 data2 -rw-r--r-- 1 rich rich 73 Nov 27 12:31 data3..

쉘스크립트 2022.07.06

sed와 gawk의소개

​ 1. 텍스트 조작하기 로그 파일이나 리눅스에서 많이 데이터들이 텍스트 형식으로 저장이 됩니다. 이들 텍스트에서 필요한 정보만 추출하고 가공해서 사용하기 유용하게 만들어 주는 텍스트 에디터 중에 sed와 gawk가 있습니다. ​ sed Editor sed 에디터는 stream editor로 불립니다. 일반적은 상호 동작 텍스트 에디터는 데이터를 삽입, 삭제 또는 교체를 할때에는 키보드로 명령을 입력 하고 처리 하는 방식 이지만 stream editor는 적용한 룰에 따라 데이터 스트림을 편집 합니다. sed 에디터의 사용 구문은 아래와 같습니다. ​ $sed option script file ​ 아래표는 sed에서 사용할 수 있는 option들 입니다. sed 명령을 사용하는 하나의 예제를 보겠 습니다..

쉘스크립트 2022.07.06

스크립트에서 그래픽 사용하기

​ 스크립트가 모두 text기반이라 사용하는데 좀 불편한 점이 많습니다. 해서 이번 장에서는 스크립트에서 그래픽을 사용하는 방법에 대해 알아 보도록 하겠습니다. ​ 1. 텍스트 메뉴 만들기 그래픽을 스크립트에 사용하기 전에 현재 화면에 디스플레이되어 있는 모든 내용을 지우는편이 사용자 입장에서 깔끔하게 보입니다. 이를 위한 명령이 clear 명령 입니다. 그리고 echo 명령을 이용해 그래픽에 표시될 내용을 정하면 되는데요 기본적으로 echo명령은 출력 가능한 문자들만 보여 줍니다. 다시 말해 -t이나. newline 문자 등은 출력이 되지 않습니다. 이를 화면에 적용하기 위해서는 echo -e옵션을 사용하여 아래와 같이 사용을 하면 됩니다. ​ echo -e "1.\tDisplay disk space"..

쉘스크립트 2022.07.06

함수 만들기

​ 1. 기본 스크립트 함수 스크립트를 작성을 하다보면 동일한 Code를 여러개의 스크립트에 따로 작성해야 하는 경우가 많습니다. 이를 위해 공통으로 사용되는 스크립트의 Code들을 함수로 만들어 놓으면 나중에 작성 하는 스크립트에서는 전체 Code가 필요한게 아니라 단순히 함수만 호출 하는 형태로 스크립트 작성이 가능 합니다. ​ 함수 만들기 함수를 만드는 형식에는 두가지 형식이 있습니다. 아래를 참고 하시기 바랍니다. ​ 첫번째 형식: function이라는 키워드를 사용해 정의하는 방법 function name { commands } ​ 두번째 형식: 빈 괄호를 통해 함수라고 정의를 하는 형식 name() { commands } ​ 함수 이용하기 함수를 이용하는 예제를 한번 살펴 보겠습니다. #!/b..

쉘스크립트 2022.07.06

스크립트 제어

​ 1. 시그널 처리 하기 리눅스는 30개 이상의 시스템 상에서 사용할수 있는 시그날이 있습니다. 그 중 공통적인 시그널들은 아래표에 설명이 되어 있습니다. 기본적으로 bash shell은 sigquit(3)과 sigterm(15)은 무시를 하고 SIGHUP(1)과 sigint(2)는 처리를 합니다. bash shell이 SIGHUP을 수신을 하면 Shell에서 수행되고 있는 모든 프로세스에게 SIGHUP 시그널과 SIGINT를 전달을 합니다. 그리고 리눅스 커널은 shell processing time에 cpu상에서 해당 shell을 중단을 하고 이 shell에 의해 시작된 모든 프로세스에게 이 상황을 전달하기 위해 sigint 신호를 전달을 합니다. shell script들의 기본 동작은 이런 시그널..

쉘스크립트 2022.07.06

데이터 표현하기

​ 1. 입력과 출력 이해하기 지금까지 데이터의 출력은 모니터로 보내거나 또는 파일로 보내거나를 진행해 보았습니다. 하지만 가끔은 특정 데이터는 모니터로 보내고, 특정 데이터를 파일로 보내고 싶은 경우가 있을겁니다. 그럼 지금부터 스크립트에서 어떻게 그렇게 사용할수 있는지 알아 보도록 하겠습니다. ​ 표준 파일 디스크립터 리눅스 시스템은 모든 객체를 파일로 취급을 합니다. 출력과 입력도 모두 파일로 처리가 되는데요. 이 파일 디스크립터는 음이 아닌 정수이고 하나의 세션에서 최대 9개의 파일 디스크립터를 열수 있습니다. bash shell에서는 첫번째 부터 3개의 파일 디스크립터를 예약을 해놓고 있습니다. (0번, 1번, 2번) ​ STDIN 표준 입력 파일 디스크립터는 shell로의 표준 입력값을 참조 ..

쉘스크립트 2022.07.06

사용자 입력 데이터 처리

​ 1. Command Line 파라메터 입력 스크립트에 입력 데이터를 전달 하는 방법 중 기본적인 방법은 명령어 라인에 입력 데이터를 직접 전달 하는것입니다. 전달 방법은 아래와 같이 명령어 라인에 직접 전달 하면 됩니다. $./test 10 20 ​ 파라메터 읽기 Bash Shell은 위와 같이 명령어 라인에 입력되는 데이터를 처리 하기 위해 positional parameter라고 하는 특별한 변수를 할당 합니다. 이 변수는 $0 ~ $9번까지 할당이 가능하고 0번은 스크립트 파일의 이름이 저장되고 1번 부터 순차적으로 명령어 라인에 입력된 값들을 저장하게 됩니다. ​ 예제를 하나 만들어 봅시다. #!/bin/bash # 명령어 라인에서 데이터 한개 입력 받기. factorial=1 for (( n..

쉘스크립트 2022.07.06

세부 구조적인 Shell 명령어

​ 1. For 명령어 For 명령어는 반복적인 일을 처리할때 아주 유용한 명령어 입니다. 사용구문은 아래와 같습니다. for var in list do commands done 반복적인 변수의 입력은 list를 통해서 제공을 해야 됩니다. do 와 done 사이에 실행할 명령어들을 입력을 시킵니다. ​ List에서 변수값 읽기 리스트를 사용하는 방법 중 하나는 아래와 같이 space로 값들을 분리 하여 나열하는 방법 입니다. #! /bin/bash # for 문에서 list 사용하는 예제 for test in seoul busan daegu daejun incheon kwangju do echo the next city is $test done # 실행을 시켜보면 아래와 같이 도시명들이 한줄씩 출력이 ..

쉘스크립트 2022.07.06

구조화된 명령어들

​ 1. If then 구문 사용하기 if-then 구문 스크립트에서 가장 많이 사용되는 구문중에 하나로 If ~ then문이 있습니다. 이 구문은 if 뒤에 정의되는 명령어들의 실행결과가(exit code 0) 정상수행이 되면 then 구문의 명령이 실행이되고 exit code가 0이 아니고 다른 code로 들어오면(명령어 정상 수행되지 않음) then문이 수행이 되지 않습니다. 기본적인 구문은 아래와 같습니다. ​ - 사용 구문 if command then commands fi ​ if command; then commands fi ​ 그럼 /etc/passwd 에 해당 사용자가 있으면 사용자의 bash shell파일을 리스트 하는 예제를 만들어 보겠습니다. $touch test10 $gedit te..

쉘스크립트 2022.07.06

기본 Shell 스크립트 작성

1. 한라인에서 명령어 여러개 수행하기 한개의 명령어 라인에서 여려개의 명령을 실행할때에는 명령어 사이에 세미콜론으로 분리하면 됩니다. $ date ; who Mon Sep 24 19:44:35 EST 2007 rich :0 2007-09-24 18:23 (console) rich pts/1 2007-09-24 18:24 rich pts/0 2007-09-24 18:42 barbara pts/2 2007-09-24 19:30 katie pts/3 2007-09-24 19:39 $ ​ 2. 스크립트 파일 작성하기 스크립트 파일을 작성할때에 항상 첫째줄에는 사용할 Shell을 아래와 같이 정의를 해야 합니다. $ touch test1 $gedit test1 #! /bin/bash # this is test ..

쉘스크립트 2022.07.05
728x90