반응형

DevOps/Unix, Linux 11

리눅스 zip, unzip 압축, 압축 풀기

리눅스 환경에서 zip으로 압축 및 .zip파일을 압축해제하는 zip, unzip 명령어에 대해 정리합니다. 1. zip zip 명령어를 통해 특정 파일 혹은 디렉토리를 압축할 수 있습니다. zip [압축 파일명.zip] [압축 대상] [압축 대상]... 특정 디렉토리 압축 -r 옵션은 대상 디렉토리 하위에 또 다른 폴더가 있을경우 전부 포함시키라는 옵션입니다. zip -r [압축 파일명.zip] [압축 대상 디렉토리] # test 폴더 전체 압축해 test.zip 생성 zip -r test.zip test/* 2. unzip unzip 명령어를 통해 zip파일 압축 해제를 할 수 있습니다. 현재 폴더에 압축 풀기 unzip [압축 파일명.zip] 특정 디렉토리에 압축 풀기 unzip [압축 파일명.zi..

DevOps/Unix, Linux 2020.06.02

리눅스 CentOS Jenkins 설치하기

Jenkins는 가장 널리 사용되는 CI(Continous Integration)툴 중 하나입니다. 현 시점에서 많이 사용되는 CI툴로 Travis CI, Jenkins, TeamCity 등이 있습니다. 이 중에서도 Jenkins는 오랜 기간 널리 사용되어 오면서 수많은 사용자와 플러그인, 레퍼런스 등이 갖춰져있습니다. 개인 프로젝트에 적용할 CI툴을 고민해봤는데, Travis CI는 무료정책도 있지만 현재 제 상황에서는 무료정책을 이용할 수 없는 상황이었고, TeamCity도 일정 기준 이상이면 무료로는 사용이 불가하다고하여 우선 무료이면서 가장 보편적인 Jenkins를 구축해보기로 했습니다. 설치 먼저 아래 명령어로 Jenkins를 설치합니다. wget -O /etc/yum.repos.d/jenkin..

DevOps/Unix, Linux 2020.03.21

리눅스 CentOS Git 설치하기

CentOS에서 git을 설치해 사용하는 방법을 간략하게 정리합니다. 1. 설치확인 설치 전에 먼저 이미 설치되어있는지 확인합니다. git --version command not found 오류가 발생하거나, git이 설치되어있지 않다는 오류 문구가 나면 설치되지 않은 것입니다. 2. 설치 아래 명령어를 통해 git을 설치할 수 있습니다. yum install git 위와 같이하면 yum에서 제공되는 git 버전이 자동으로 설치되는데, 만약 원하는 버전이 있다면 아래와 같이 버전을 명시하면 됩니다. yum install git- 3. 사용자 설정 git config --global user.name "userName" git config --global user.email "email" 4. 정상 설치 ..

DevOps/Unix, Linux 2020.03.20

리눅스 SSH, MySQL 접속 지연 문제

신규로 발급받은 서버에서 SSH, MySQL 접속 시 상당한 시간이 딜레이되는 현상이 있었습니다. 구글링 해본 결과 서버 측에서 접속한 클라이언트의 IP를 resolve하는 과정에서 발생하는 DNS lookup 등으로 발생하는 지연이 원인이었습니다. 장비, 환경 여러가지에 따라 다르겠지만 제 경우엔 Spring Boot 애플리케이션 구동하는데 DB접속하는 부분에서 20초가량 지연되는 심각한 상황이었습니다. 심각한 상황과 달리 해결방법은 아주 심플하고 간단했습니다. MySQL 접속 지연 문제 해결 my.cnf (주로 /etc/my.cnf 에 위치함) 파일에 클라이언트 IP resolve 과정을 스킵하는 설정을 추가해줍니다. 바로 skip-name-resolve 옵션을 mysqld 섹션에 넣어주면 됩니다. ..

DevOps/Unix, Linux 2019.12.16

리눅스 여러 파일 내용 하나로 합치기

리눅스 쉘에서 여러 파일을 하나로 합치는 방법을 소개합니다.ls [파일명패턴] | xargs cat > [결과파일명]위 명령어 한 줄로 [파일명패턴]에서 선택되어지는 파일들의 내용을 [결과파일명] 파일로 쓸 수 있습니다. 동작 방법을 살펴보면 ls [파일명패턴] 을 통해 먼저 대상 파일들을 선택합니다. ls 명령은 디렉토리에 존재하는 요소(파일, 디렉토리)들의 정보(파일명, 권한, 수정시간 등) 목록을 표준출력으로 출력하는 명령어로, 아무 옵션없이 실행하면 파일명들만 출력하게 됩니다. ls 명령을 통해 출력된 파일명 목록을 |(파이프)를 통해 뒤에 나오는 명령어로 전달합니다. |(파이프)는 이전 명령어의 실행 결과를 다음 명령어의 입력으로 사용할 때 활용됩니다. 다음은 xargs cat 입니다. xarg..

DevOps/Unix, Linux 2018.12.06

리눅스 vi 편집기 사용 기초

Linux 환경에서 각 종 텍스트 파일을 편집할 때 vi를 사용합니다. 일반 윈도우와 달리 vi 편집기는 명령모드, 입력모드 등 모드가 존재하고 단축키를 어느정도 알고있지 않으면 사용하는데 어려움이 있습니다. 하여 기본적으로 vi를 사용하기 위해 알아야할 기초적인 명령어들을 정리합니다. 1. vi 실행 vi [편집할 파일] : 편집할 파일을 연다. vi -R [파일] : 파일을 읽기 모드로 연다. 2. 입력모드 i (insert) : 커서 기준 앞에서부터 문자 입력 I : 커서가 있는 행의 가장 앞에서 부터 입력 a (append) : 커서 기준 뒤에서 부터 문자 입력 A : 커서가 있는 행의 가장 뒤에서 부터 문자 입력 o : 커서가 있는 행의 아래 빈 줄 삽입 O : 커서가 있는 행의 위에 빈 줄 삽..

DevOps/Unix, Linux 2018.09.19

리눅스 SFTP 명령어 사용법

기본적으로 아래와 같은 명령어로 접속할 수 있습니다. sftp [계정]@[IP주소]:[최초디렉토리] # 10.1.2.31에 sftpuser계정으로 접속 sftp sftpuser@10.1.2.31 # 10.1.2.31에 sftpuser계정으로 접속하면서 .files 디렉토리로 접근 sftp sftpuser@10.1.2.31:files 접속한 이후엔 기본 쉘 명령어인 'ls' , 'cd' 를 사용하여 디렉토리 탐색이 가능합니다. 다음은 파일 업로드 및 다운로드 방법입니다. # 다운로드 sftp > get [파일명] # 업로드 sftp > put [로컬 시스템의 파일명]

DevOps/Unix, Linux 2018.09.18

리눅스 tar, gz 압축

tar 명령어는 굉장히 많은 옵션을 사용할 수 있다. 이 포스트에서는 주로 사용하는 패턴인 tar 압축 / 압축해제, tar.gz 압축 / 압축해제 명령어를 기술한다. 1. tar 압축 / 해제 # [압축할 디렉토리]를 [압축파일명.tar]로 압축 tar -cvf [압축파일명.tar] [압축할 디렉토리] # [압축파일명.tar]파일 압축해제 tar -xvf [압축파일명.tar] 2. tar.gz 압축 / 해제 # [압축할 디렉토리]를 [압축파일명.tar.gz]로 압축 tar -zcvf [압축파일명.tar.gz] [압축할 디렉토리] # [압축파일명.tar.gz]파일 압축해제 tar -zxvf [압축파일명.tar.gz] 굉장히 간단하다. (c)vf / (x)vf => 압축 / 압축해제 (z)cvf / (z)..

DevOps/Unix, Linux 2018.09.17

리눅스 스케줄러 (crontab) 사용하기

크론탭이란 특정 작업을 특정 시기마다 수행하고 싶을때 이용할 수 있는 리눅스 스케줄 기능입니다. 크론탭의 기본 사용방법은 다음과 같습니다. 기본 사용법 # 크론탭 조회 # 현재 머신에 등록된 스케줄 목록이 조회됩니다. crontab -l # 크론탭 등록 / 수정 # vi편집기 형태로 크론탭 스케줄을 편집(edit)할 수 있습니다. crontab -e # 크론탭 삭제 crontab -d 스케줄 작성법 크론탭 표현식의 기본적인 형식은 다음과 같습니다. [분(0-59)] [시(0-23)] [일(1-31)] [월(1-12)] [요일(0-7)] [실행할 명령어] [실행할 명령어]를 언제 실행할 지 앞의 5자리를 통해 결정하는 형태입니다. # 금요일 오전 1시 30분에 runbatch.sh을 실행 30 1 * * ..

DevOps/Unix, Linux 2018.09.17

리눅스 MySQL 설치

apt-cache search mysql-server 위 명령어를 통해 설치 가능한 버전을 확인한 후 apt-get install mysql-server-[version] 위 명령어를 실행하면 바로 MySQL이 설치된다. 설치가 완료되면 MySQL서버는 실행되어있는 상태이며 기본적으로 3306 포트를 사용한다. netstat -anp | grep 3306 --------------------------------------------------------------------------------------------- tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN [PID]/mysqld 위와 같이 3306포트가 LISTEN상태인 것을 확인할 수 있으며 mysql -u root ..

DevOps/Unix, Linux 2018.09.17