본문 바로가기

Linux

(10)
Shell Script: if 조건문 shell script 작성시 특정 조건을 비교해야할 경우가 많이 있습니다. 이 때 if문이나 case문을 사용하게 되는데, 일반적인 프로그래밍 언어에서는 중괄호 { } 로 조건문의 시작과 끝을 정의하지만 shell script에서는 다르게 정의합니다. 이부분을 제외하면 특별히 어려운 것은 없습니다. if statements if문은 3가지 용법으로 구분할 수 있습니다. if문만 사용하는 경우 if [ 조건 ] then 실행문 fi if [ $1 -eq 1 ] then echo "The value is 1" fi if else 문 if [ 조건문 ] then 실행문 else 실행문 fi if [ $1 -eq 1 ] then echo "good" else echo "bad" fi if elif 문 if [..
scponly 설정하기 Linux 서버를 운용하다 보면, Machine to Machine 통신이 필요한 경우가 있습니다. 특히, 단순히 파일 전송을 위해 계정을 만들어야 할 경우가 있는데, scponly를 사용하면 많은 부분에서 보안 문제를 해결할 수 있습니다. 아래 예제는 CentOS에서 적용하는 방법입니다. 1. /usr/sbin/scponlyc 확인 [sems@LEMon33 ]$ ls -l /usr/sbin/scponlyc -rwsr-xr-x 1 root root 24088 Oct 15 2014 /usr/sbin/scponlyc 2. root 계정으로 아래의 Directory를 만든다. 예시 user 계정 : jftp root directory : /ap_log, home directory : /ap_log/corelo..
Shell Script 연산자 정리 Shell Script도 일반 프로그래밍 언어와 마찬가지로 다양한 연산자를 지원합니다. 주로 사용하는 연사자는 아래와 같이 구분할 수 있습니다. Arithmetic Operators Relational Operators Boolean Operators File Test Operators 산술 연산자(Arithmetic Operators) 일반적인 산술 연산과 동일하지만 사용법은 조금 다릅니다. 연산자 설명 + 두 값을 더한다. - 왼쪽값에서 오른쪽 값을 뺀다. * 두 값을 곱한다. / 나누기 % 나머지(모듈러) bash는 기본적으로 산술 연산자를 바로 사용할 수 없습니다. 산술 연산을 위해서는 아래의 예와 같이 expr을 사용하거나 변수 처리가 필요합니다. #!/bin/bash x=10 y=20 z=`e..
PC에서 VirtualBox Ubuntu와 통신하기 VirutalBox에 Ubuntu를 설치하면 Network 설정이 기본적으로 NAT로 설정된다. 이 경우 Ubuntu에서 외부로 통신은 가능하지만 PC에서 Ubuntu로 연결이 되지 않는다. Windows에서 Ubuntu로 파일을 전송한다거나 서버 개발, 시험 등을 위해서 연결이 필요한 경우가 많다. 여러 가지 방법이 있지만 간단히 Network 설정으로 가능하다. Ubuntu 설정 값 및 상태 보기 위 그림과 같이 IP 10.0.2.15로 PC의 망인 192.x.x.x와 다르다. Windows에서는 10.x.x.x 대 망을 모르기 때문에 Ping을 실행하면 Timeout이 발생한다. Ubuntu Network 설정 변경 네트워크로 이동해서 어댑터 -> 어댑터에 브리지로 변경한다. 변경 후 ifconfi..
VirtualBox Ubuntu 20.04 해상도 설정 VirtualBox에 Ubuntu를 설치한 후 해상도가 맞지 않고 크기 조정이 되지 않을 수 있다. 이 경우에는 장치->게스트 확장 CD 이미지 삽입으로 추가를 통해 설정 가능한다. 아래와 같이 장치->게스트 확장 CD 이미지 삽입을 실행한다. Run을 실행한다. 필요시 암호를 입력한다. 아래와 같이 실행되는 것을 확인할 수 있다. 아래와 같이 Ubuntu version에 따라 gcc make perl package가 필요하다는 message가 뜰 수 있다. 이 경우에는 먼저 해당 package를 설치해준 다음 위의 절차를 실행해 주어야 한다. sudo apt install gcc make perl 위의 pacakage를 설치한 후 다시 게스트 확장 CD를 삽입하면 정상적으로 설치가 진행된다. 실행 후 ..
Shell Script - 변수 Shell Script 변수명 Shelle Script 작성 시 변수명은 알파벳, 숫자 모두 사용할 수 있다. '_' 이외의 특수문자는 사용할 수 없고 숫자로 시작할 수 없다. 일반적으로 변수명은 대문자로 사용한다. 예시> VAR_1, VAR2, 변수 사용하기 정의한 변수를 사용할 때는 $를 변수명 앞에 붙여준다. TEST_VAR="Test" echo $TEST_VAR 실행 결과 Test 특별한 변수들 $0 현재 실행중인 스크립트 파일 이름 $n 스크립의 Argument 숫자 $1, $2 등으로 입력한 argument의 값을 사용한다. $# 스크립트 실행시 입력되는 argument 개수 $* 모든 arguement, 입력 변수가 두 개라면 $*는 $1$2와 같다. $@ 모든 arguement로 $*과 유..
Shell Script 작성해보기 Shell의 개념 및 종류 Shell은 Unix(Linux) System에 Interface를 제공하는 것으로 명령이나 프로그램, script등의 실행 환경을 제공한다. Shell은 대표적인 shell로는 Bourne shell, C shell이 있고, Bourne shell은 Bourne shell, Korn shell, Bourne Again shell, POSIX shell 등 다양하게 나눠진다. 여기서는 흔히 사용하는 Bourne Again Shell(bash)을 기준으로 작성하고자 한다. Shell Script File은 아래의 예와 같이 #!로 시작해서 어떤 shell로 실행해야 하는지 명시해준다. #! /bin/sh #!/bin/bash #은 hash라고 읽고, !는 bang이라 불리는데, ..
VirtualBox Ubuntu 설치 VirtualBox에 Ubuntu를 설치한다. 설치 버전은 현재 최신 LTS Version인 20.04를 기준으로 한다. 다른 Version을 Download 받고자 한다면, releases.ubuntu.com/에 접속하여 원하는 Version을 다운로드 받을 수 있다. 1. Ubuntu Download 아래 사이트로 접속하여 Ubuntu 20.04 Version을 다운로드한다. ubuntu.com/download/desktop Download Ubuntu Desktop | Download | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your interne..
VirtualBox 설치하기 프로젝트를 진행하다 보면 다양한 OS 환경에서 개발, 시험을 해야 할 경우가 많다. 이럴 때 본인의 PC에 가상 머신을 설치하고 원하는 OS를 올려서 사용하는 것은 여러 모로 편리하다. 그중 VirtualBox는 무료이고 사용하기에 부족함이 없다. 설치 방법도 매우 간단하여 별도의 Guide를 찾아볼 필요는 없지만 절차를 정리하면 아래와 같다. 설치 절차 1. VirtualBox Download 아래 사이트로 접속한후 Download VirtualBox 6.x를 클릭합니다. www.virtualbox.org/ Oracle VM VirtualBox Welcome to VirtualBox.org! News Flash New January 19th, 2021VirtualBox 6.1.18 released! O..
Shell Script 개요 Shell Script는 Linux(Unix) 계열의 서버 개발이나, 서버의 운용, 유지 보수 등의 업무를 하는데 있어 효율성을 높일 수 있는 유용한 수단이다. 일반 프로그래밍에 비해 요구 기능이 단순한 경우가 많고, 스크립트 언어 자체가 어렵지 않고, 범용성이 있기 때문에 간단한 문법만 익혀도 다양한 기능을 구현할 수 있다. 예를 들어, 서버 운용자라면 여러 명령을 일일이 수행하던 것을 스크립트로 작성하여 일괄 수행한다 거나, 원하는 시간에 수행하고, 저장된 결과물을 추후 확인하는 등 유용하게 사용할 수 있고, Database를 운용하는 경우, 원하는 Data를 SQL문을 통해 UI의 도움 없이도 CSV 등으로 뽑아 낼 수 있다. 즉 내가 원하는 작업을 입맛대로 수행할 수 있는 다양한 옵션을 제공한다고..