일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Elasticsearch
- go
- kotlin coroutine
- golang
- Pinpoint
- 공부
- 기록으로 실력을 쌓자
- Java
- PETERICA
- AWS EKS
- minikube
- tucker의 go 언어 프로그래밍
- CloudWatch
- 코틀린 코루틴의 정석
- kotlin querydsl
- CKA 기출문제
- docker
- kotlin
- CKA
- APM
- Spring
- mysql 튜닝
- AI
- Kubernetes
- aws
- 정보처리기사실기 기출문제
- Linux
- 티스토리챌린지
- 정보처리기사 실기 기출문제
- 오블완
- Today
- Total
목록Linux (35)
피터의 개발이야기

ㅁ 들어가며ㅇ traceroute는 네트워크 패킷이 목적지까지 도달하는 경로를 추적하는 유용한 네트워크 진단 도구다. 이 명령어를 사용하면 네트워크 문제를 진단하고 패킷이 거치는 라우터들을 확인할 수 있다. ㅁ traceroute의 원리 traceroute는 Ping과 달리 특정 IP까지 라우팅 경로를 알려준다. 그 원리는 ICMP Error 메시지를 통해 진행된다.ICMP TTL은 최대 이동할 수 있는 라우팅 홉을 의미한다. 그래서 TTL 1로 설정하여 패킷을 보내면, 다음 라우터에서 ICMP Error가 반환되는데, 그 에러 메시지를 통해 라우팅 IP를 알게 된다. traceroute를 실행하면 느린 이유는 TTL을 1부터 증가시켜 들어오는 에러 메시지를 확인하여 라우팅 IP를 출력하기 때문이다. ..

파일 폴더를 압축하고 에러 처리가 가능한 shell(tar 버젼)#!/bin/bash# 압축할 폴더와 결과 파일 이름을 인자로 받음SOURCE_DIR="$1"OUTPUT_FILE="$2"# 함수: 에러 메시지 출력 및 종료error_exit() { echo "에러: $1" >&2 exit 1}# 인자 개수 확인if [ $# -ne 2 ]; then error_exit "사용법: $0 "fi# 소스 디렉토리 존재 확인if [ ! -d "$SOURCE_DIR" ]; then error_exit "지정한 폴더가 존재하지 않습니다: $SOURCE_DIR"fi# 출력 파일 이름이 .tar.gz로 끝나는지 확인if [[ "$OUTPUT_FILE" != *.tar.gz ]]; then O..

ㅁ 들어가며ㅇ 개발서버 접속하기 위해 SSH 키를 생성하고 등록하는 과정을 수행하게 되었다.ㅇ 이 글에서는 ssh-keygen 명령어를 사용하여 SSH 키를 생성하고 사용하는 방법을 정리하였다. ㅁ SSH 키란?ㅇ SSH 키는 원격 서버와 안전하게 통신하기 위해 사용되는 암호화 키이다.ㅇ SSH 키를 사용하면 비밀번호 대신 공개 키와 개인 키 쌍을 이용하여 인증할 수 있다. ㅁ SSH 키 생성ssh-keygen 명령어 실행# ssh-keygen 명령어 실행$ ssh-keygen -t rsa -b 4096 -C "your_email@gmail.com"Generating public/private rsa key pair.ㅇ 터미널을 열고 위와 같이 ssh-keygen 명령어를 실행하여 SSH키를 생성한다...

ㅁ 들어가며ㅇ 맥미니에 문제가 발생하여 웹이 접속이 되지 않았다.ㅇ 원격터미널에서 맥미니를 재기동하고 Docker를 기동하는 과정을 정리하였다. ㅁ 원인파악// 에러 내용The application /Applications/Docker.app cannot be opened for an unexpected reason, error=Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x60000388dce0 {Error Domain=OSLaunchdErrorDomain Code=125 "Domain does not support s..

파일 및 디렉터리 ㅇ 디렉터리만 ㅇ 파일만 ㅇ 파일 사이즈 5MB 이상 ㅇ 파일사이즈 50KB미만 find . -type f -size -50k ㅇ 파일사이즈 10KB이상 50KB미만 find . -type f -size +10k -size -50k ㅇ 권한이 644만 ㅇ 5일 전~3일 전 변경된 파일 구하기 > find /home/tomcat/logs -type f -mtime -5 -mtime +3 ㅇ 5일 전인 경우 24*5 시간 전 ~24*4전 사이를 말한다. > find /home/tomcat/logs -type f -mtime 5 ㅇ 60일 지난 파일은 삭제 > find /home/tomcat/logs -type f -mtime +60 -delete - exec find의 결과 값을 {}에 대..

ㅁ 들어가며 ㅇ linux에서 JSON을 가공하여 원하는 결과를 도출할 수 있는 JPATH 사용법을 정리하였다. ㅇ javascript와 똑같은 사용방식이라 직관적이었다. ㅁ Object 참조 # sample.json { "car": { "color": "blue", "price": "$20,000" }, "bus": { "color": "white", "price": "$120,000" } } # JSON 트리 참조 구조 1단 $ cat sample.json | jpath $.car [ { "color": "blue", "price": "$20,000" } ] # JSON 트리 참조 구조 2단 cat sample.json | jpath $.car.price [ "$20,000" ] ㅇ 점을 기준으로 종..

ㅁ 들어가며 용량이 큰 디렉토리 목록을 확인하려면 du, sort 명령어를 조합하여 사용하면 용량별 디렉토리를 쉽게 파악할 수 있다. ㅁ 디렉토리 용량별 정렬 # 디렉토리 용량 Sort, 내림차순, 큰->작 $ du -h -d 1 | sort -nr 178M. 173M./ParallelsLab 2.8M./docker-2048 1.4M./peter-2048 # 디렉토리 용량 Sort $ du -h -d 1 | sort -n, 오름차순, 작->큰 1.4M./peter-2048 2.8M./docker-2048 173M./ParallelsLab 178M. ㅁ 파일 용량별 정렬 # file 용량 Sort, 오름차순 $ du -h | sort -n 0B./ParallelsLab/.git/modules/submodu..

ㅁ 개요 ㅇ 자주 사용하는 tar 명령어를 정리하였다. ㅇ tar, tar.gz로 압축 및 해제에 대한 방법을 설명한다. ㅁ tar로 압축하기 $ tar -cvf [파일명.tar] [폴더명] ㅇ temp 폴더를 temp.tar로 압축하였다. ㅁ tar 압축 풀기 tar -xvf [파일명.tar] ㅇ temp.tar라는 tar파일을 풀었다. ㅁ tar.gz로 압축하기 tar -zcvf [파일명.tar.gz] [폴더명] ㅇ temp라는 폴더를 temp.tar.gz로 압축하였다. ㅁ tar.gz 압축 풀기 tar -zxvf [파일명.tar.gz] ㅇ temp.tar.gz라는 tar.gz파일 압축파일을 풀었다. ㅁ 용량비교 ㅇ tar.gz이 압축률이 더 높은 것을 알 수 있다. ㅁ 옵션 정리 옵션 사용법 -c ..

ㅁ 개요 ㅇ 운영하다보면 데이터를 직접 헨들링할 경우가 있다. ㅇ 반복적인 작업을 대량으로 수행하기 위해 File내용을 기반으로 처리할 수 있도록 하였다. ㅇ redis의 작업을 수행하면서 오류를 최소화하고 작업이력을 남기기 위해 스크립트를 작성하였고, 그 과정을 정리하였다. ㅁ Script #!/bin/sh LOG="./redis.log" COMMAND=$1 REDIS_KEY=$2 FILE=$3 TODAY=$(date) # 필수값 체크 if [ $# -ne 3 ] then echo "param error [command / key / file]" exit 0; fi echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" echo ">> START : $TODAY" >> $LOG ec..

ㅁ 개요 ㅇ linux 서버에서 JSON 데이터를 볼 때가 많이 있다. 직렬화된 json을 보기는 쉽지 않다. ㅇ 이를 해결하기 위한 방법으로 jq명령어를 사용하면 JSON을 이쁘게 볼 수 있다. ㅁ 설치 ㅇ 맥의 경우 brew install jq ㅁ 사용법 ㅇ JSON string 파이프라인으로 재처리 하면 이쁜 JSON을 볼 수 있다.$ echo '{"foo": "bar"}' | jq ✔ 5238 23:20:52{ "foo": "bar"}$ echo '{"foo": "bar"}' | jq '.foo' ..