OS 18

Linux > Bash > 파일 암/복호화

여기서는 gpg를 사용해 암/복호화하는 방법을 다룬다 암호화encrypt.sh 패스프레이즈passphrase=$1for file in *.log*; do echo $file gpg --batch --passphrase $passphrase -c $filedone 암호화 시 output을 지정할 수 없음원본 파일명이 access.log라면 access.log.gpg로 생성됨 복호화decrypt.sh 패스프레이즈passphrase=$1for file in *.log*; do echo $file output_file=${file%.gpg} gpg --batch --passphrase $passphrase -o $output_file -d $filedone access.log.gpg ..

OS/Linux 2025.04.18

Linux > Bash > Here Document (<<EOF)

Here DocumentShell script에서 여러 줄의 텍스트를 한 번에 명령어로 전달할 때 사용하는 문법 외부 파일에서 읽지 않고 스크립트 안에 문서를 직접 삽입하기에 이렇게 이름 붙음. ( 보통 cat 변수 사용name=까마귀cat 변수해석 없이 그대로 출력하려면 종료 구분자를 홑따옴표로 감싸면 된다name=까마귀cat 임의 종료 구분자 사용cat 더 알아보기Here String(

OS/Linux 2025.04.16

Linux > 프로세스를 백그라운드로 실행

여기서는 SSH 터미널을 사용해 Executable jar를 실행하는 것을 설명한다 단순 자바 프로세스 실행java -jar application.jar 해당 터미널에 표준 출력/에러가 출력됨Foreground에서 실행되므로 다른 작업 불가Ctrl + c를 눌러 프로세스를 중단할 수 있다터미널 세션이 끊기면(터미널 종료도 동일) 프로세스 중단됨 Background로 프로세스 실행java -jar application.jar &[1] 3443849 명령어 실행 직후 PID를 출력함해당 터미널에 표준 출력/에러가 출력됨백그라운드에서 실행되므로 다른 작업 가능터미널 세션이 끊기면(터미널 종료도 동일) 프로세스 중단됨 터미널 세션이 끊겨도 프로세스 실행nohup java -jar application.jar &..

OS/Linux 2025.03.06

Linux > Bash > awk

awk는 기본적으로 공백을 기준으로 필드를 나눈다 Nginx 액세스 로그에서 값 추출열은 기본적으로 공백 기준으로 나뉨 grep /a/b/c access.log | awk '{ print $열번호 }' $0: 전체 출력$1: 1번째 열 출력 예를 들어 log_format의 처음에 $remote_addr를 출력하도록 했다면, grep /a/b/c access.log | awk '{ print $1 }' | sort | uniq와 같이 사용하여 해당 경로로 호출하는 출발지 IP를 쉽게 확인할 수 있게 된다 Nginx 액세스 로그에서 요청 경로 추출중복 제거, 요청 파라미터 제거 cat access.log | awk '{ gsub(/\?.*/, "", $5); print $5 }' | sort | uniq ..

OS/Linux 2024.11.07

Linux > Ubuntu > Locale

로우캘 환경 변수 확인localeLANG=en_US.UTF-8LANGUAGE=LC_CTYPE="en_US.UTF-8"LC_NUMERIC="en_US.UTF-8"LC_TIME="en_US.UTF-8"LC_COLLATE="en_US.UTF-8"LC_MONETARY="en_US.UTF-8"LC_MESSAGES="en_US.UTF-8"LC_PAPER="en_US.UTF-8"LC_NAME="en_US.UTF-8"LC_ADDRESS="en_US.UTF-8"LC_TELEPHONE="en_US.UTF-8"LC_MEASUREMENT="en_US.UTF-8"LC_IDENTIFICATION="en_US.UTF-8"LC_ALL=en_US.UTF-8  LANG시스템의 기본 로우캘을 지정하는 가장 일반적인 변수. 언어, 시간, ..

OS/Linux 2024.10.29

Linux > 압축

zip압축하기zip 목적지 출발지 예) 현재 폴더의 모든 것을 test.zip으로 압축zip test.zip * 만약 현재 폴더에 하위 폴더가 있다면 위와 같이 하면 하위 폴더 내 파일들은 압축이 되지 않는다 하위 폴더의 파일까지 압축하라면 아래와 같이 해야한다zip -r test.zip *압축풀기unzip 압축파일명현재 폴더에 압축을 푼다 지정한 폴더에 압축을 풀려면 아래와 같이 해야한다unzip test.zip -d 폴더명

OS/Linux 2024.09.03