본문 바로가기

전체 글

(433)
리눅스 서버 입문 — grep으로 로그 파일에서 문자열 찾기 서버 로그가 길어지면 필요한 내용을 눈으로 찾기 어렵습니다. grep은 파일에서 원하는 문자열이나 패턴을 찾아 관련 줄만 빠르게 확인할 때 사용하는 기본 명령입니다.기본 문자열 검색가장 먼저 익힐 형태는 검색할 패턴과 파일을 함께 지정하는 방식입니다.grep error /var/log/syslog/var/log/syslog 파일에서 error 패턴과 일치하는 줄을 찾습니다.단, /var/log/syslog는 예시 경로입니다. 실제 로그 파일의 위치와 이름은 시스템 환경에 따라 다를 수 있습니다.대소문자와 줄 번호 확인대소문자를 구분하지 않고 검색하려면 -i를 사용합니다.grep -i error /var/log/syslog검색된 내용이 몇 번째 줄에 있는지도 확인하고 싶다면 -n을 붙입니다.grep -n ..
리눅스 서버 입문 — top으로 CPU·메모리 사용량 높은 프로세스 확인하기 리눅스 서버에서 실행 중인 프로세스와 CPU·메모리 사용량을 확인할 때 top을 사용할 수 있습니다.처음에는 주요 컬럼을 읽고, CPU와 메모리 사용량 기준으로 정렬하는 방법부터 익혀 두면 됩니다.top 기본 화면 보기터미널에서 다음과 같이 실행합니다.toptop은 실행 중인 시스템의 요약 정보와 프로세스 목록을 동적으로 보여 줍니다.화면은 크게 요약 영역, 컬럼 헤더, 프로세스 목록으로 나뉩니다.처음에는 PID, USER, %CPU, %MEM, RES, VIRT, COMMAND 정도만 확인해도 충분합니다.PID는 프로세스 ID, USER는 유효 사용자 이름입니다.%CPU는 화면이 갱신되는 동안 사용한 CPU 비율을 나타냅니다. %MEM은 RES가 사용 가능한 물리 메모리에서 차지하는 비율입니다.RES는..
리눅스 서버 입문 — systemctl로 서비스 상태 확인하기 리눅스 서버에서 서비스가 현재 실행 중인지 확인할 때 systemctl을 자주 사용합니다.처음에는 status로 전체 상태를 보고, is-active, is-enabled로 필요한 상태만 확인하는 흐름부터 익혀 두면 됩니다.status로 현재 상태 확인특정 서비스의 현재 상태를 확인할 때는 status를 사용합니다.systemctl status nginxstatus는 현재 런타임 상태와 최근 journal 데이터를 사람이 읽기 좋은 형태로 보여 줍니다.기본적으로 최근 로그 10줄을 표시합니다. 현재 서비스 상태를 살펴보는 명령이지, 유닛의 전체 설정을 모두 출력하는 명령은 아닙니다.실행 중인지 짧게 확인서비스가 현재 active 상태인지 확인할 때는 is-active를 사용할 수 있습니다.systemct..
DuckDB 입문 — COPY로 SELECT 결과를 CSV·Parquet로 내보내기 DuckDB에서 조회한 결과를 파일로 저장할 때는 COPY ... TO를 사용합니다.테이블 전체를 저장할 수도 있고, SELECT 결과만 골라 CSV나 Parquet로 내보낼 수도 있습니다. 이번 글에서는 자주 쓰는 기본 형태만 정리합니다.COPY ... TO 기본 형태COPY는 DuckDB와 외부 파일 사이에서 데이터를 옮길 때 사용하는 명령입니다.파일을 불러올 때는 COPY ... FROM, DuckDB의 데이터를 파일로 저장할 때는 COPY ... TO를 사용합니다.TO 앞에는 테이블 이름을 넣거나, 괄호로 감싼 SELECT 쿼리를 넣을 수 있습니다.테이블 전체를 CSV로 저장하기테이블 전체를 CSV 파일로 저장할 때는 다음처럼 작성합니다.COPY tbl TO 'output.csv' (HEADER,..
DuckDB 입문 — read_json으로 JSON·JSONL 파일 열고 조회하기 DuckDB에서는 JSON 파일도 별도 변환 없이 바로 열어볼 수 있습니다. 파일 경로로 읽는 방법부터 read_json, JSONL용 read_ndjson, 테이블 생성과 구조 확인까지 기본 흐름만 정리했습니다.JSON 파일을 경로로 바로 읽기가장 간단한 방법은 JSON 파일 경로를 그대로 FROM 절에 넣는 것입니다.SELECT * FROM 'todos.json';먼저 테이블을 만들지 않아도 파일 내용을 바로 확인할 수 있습니다.여러 JSON 파일을 한 번에 읽고 싶다면 glob 패턴도 사용할 수 있습니다.SELECT * FROM '*.json.gz';파일이 여러 개일 때 간단하게 묶어서 확인할 수 있습니다.read_json으로 읽기함수를 명시해서 읽으려면 read_json을 사용합니다.SELECT ..
DuckDB 입문 — read_parquet로 Parquet 파일 열고 조회하기 Parquet 파일을 확인하기 위해 별도 변환부터 할 필요는 없습니다.DuckDB에서는 .parquet 파일 경로를 바로 지정하거나 read_parquet를 사용해 내용을 조회할 수 있습니다.경로만으로 Parquet 파일 읽기파일 이름이 .parquet로 끝난다면 경로를 바로 지정해 조회할 수 있습니다.SELECT * FROM 'test.parquet';DuckDB가 확장자를 보고 Parquet 파일로 인식하기 때문에 read_parquet를 따로 적지 않아도 됩니다.처음 파일을 열어 볼 때 가장 간단하게 사용할 수 있는 형태입니다.컬럼과 타입 먼저 확인하기처음 받은 파일이라면 전체 데이터를 보기 전에 구조부터 확인하는 편이 좋습니다.DESCRIBE SELECT * FROM 'test.parquet';D..
리눅스 서버 입문 — dig로 DNS A·AAAA 조회와 +short 결과 확인하기 리눅스 서버 입문 — dig로 DNS A·AAAA 조회와 +short 결과 확인하기preview도메인이 어떤 IP를 가리키는지 확인할 때 dig를 사용합니다.기본 A 조회부터 IPv6 주소 확인, 필요한 결과만 보는 방법, DNS 서버 지정과 역방향 조회까지 자주 쓰는 것만 정리했습니다.dig로 A 레코드 확인가장 기본적인 조회부터 해봅니다.dig example.com레코드 종류를 따로 적지 않으면 A 레코드를 조회합니다.DNS 서버를 직접 지정하지 않았다면 /etc/resolv.conf에 설정된 서버에 질의합니다.결과는 여러 섹션으로 나오는데, 처음에는 ANSWER 부분부터 보면 됩니다.결과가 길다면 +shortIP 주소만 빠르게 확인하고 싶다면 +short를 붙입니다.dig +short example..
리눅스 서버 입문 — curl로 HTTP 상태 코드와 응답 헤더 확인하기 서버에 웹 서비스를 올린 뒤 제대로 응답하는지 확인할 때가 있습니다.브라우저를 열지 않아도 curl을 사용하면 터미널에서 헤더와 HTTP 상태 코드를 바로 확인할 수 있습니다.이번에는 헤더 확인, 상태 코드 출력, 상세 확인, 리다이렉트 추적, 제한 시간 설정까지만 정리합니다.1. 응답 헤더만 확인하기본문은 필요 없고 서버가 어떤 응답을 주는지만 보고 싶다면 -I를 사용합니다.curl -I https://example.comcurl -I https://example.com-I는 HTTP에서 HEAD 메서드를 사용해 헤더만 가져옵니다.서버가 살아 있는지, 어떤 상태 코드가 오는지 간단히 확인할 때 먼저 써 보기 좋습니다.2. HTTP 상태 코드만 확인하기상태 코드 숫자 하나만 보고 싶다면 다음처럼 사용할 ..