728x90

전체 글 428

[리눅스] date 날짜 시간 포맷 타임스탬프

부제: 현재 시각을 원하는 형식으로 찍고, 파일명·계산에 쓰기date # 기본 형식date +%F # 2026-07-09date +'%Y-%m-%d %H:%M:%S' # 원하는 형식date +%s # 유닉스 타임스탬프(초)$ date +%F2026-07-09$ date +'%Y-%m-%d %H:%M:%S'2026-07-09 02:23:38date는 현재 날짜·시간을 보여주는데, + 뒤 형식 지정자로 원하는 모양을 만든다.%F 날짜·%T 시간·%s 유닉스 초. 백업 파일명이나 로그 타임스탬프에 조합으로 많이 쓴다.이렇게도 쓴다백업 파일명에 날짜를 박는다(명령 치환 조합).tar -czf backup-$(dat..

명령어/Linux 2026.07.09

[리눅스] jobs 백그라운드 작업 fg bg 제어

부제: 셸에서 띄운 백그라운드 작업을 보고 앞뒤로 옮기기./long.sh & # 백그라운드로 실행jobs # 작업 목록fg %1 # 1번 작업을 앞(포그라운드)으로bg %1 # 멈춘 작업을 백그라운드로 재개$ sleep 20 &[1] 12345$ jobs[1]+ Running sleep 20 &명령 뒤에 &를 붙이면 백그라운드로 돌아 셸을 계속 쓸 수 있다.jobs로 목록을 보고, fg %번호로 다시 앞으로 가져온다.실행 중인 작업을 Ctrl+Z로 멈춘 뒤 bg로 백그라운드에서 재개할 수도 있다.이렇게도 쓴다작업의 PID까지 함께 본다(-l).jobs -l 특정 작업을 앞으로 가져온다.fg %2 백그라운드..

명령어/Linux 2026.07.09

[리눅스] nohup 터미널 닫아도 계속 실행 백그라운드

부제: 로그아웃하거나 터미널을 닫아도 작업이 안 끊기게 하기nohup ./job.sh & # 끊겨도 계속, 출력은 nohup.outnohup ./job.sh > job.log 2>&1 & # 로그 파일 지정$ nohup echo "detached run"nohup: ignoring input and appending output to 'nohup.out'$ cat nohup.outdetached run터미널을 닫으면 거기서 띄운 프로세스도 신호(HUP)를 받고 같이 죽는다.nohup은 그 신호를 무시하게 해서 SSH가 끊기거나 로그아웃해도 작업이 계속 돌게 한다.뒤에 &를 붙여 백그라운드로 보내는 게 보통이다.이렇게도 쓴다출력을 원하는 로그 파일로 보낸다(기본 nohup..

명령어/Linux 2026.07.09

[리눅스] pkill pgrep killall 이름으로 프로세스 종료

부제: PID 대신 이름·패턴으로 프로세스를 찾아 종료하기pgrep -f myapp # 패턴에 맞는 PID 찾기pkill -f myapp # 패턴에 맞는 프로세스 종료killall firefox # 정확한 이름으로 전부 종료$ sleep 555 &[1] 746397$ pgrep -f 'sleep 555'746397$ pkill -f 'sleep 555'PID를 일일이 안 찾아도 pgrep은 이름·패턴으로 찾고, pkill은 찾아서 종료한다.-f는 명령줄 전체에서 매칭한다. killall은 정확한 실행 파일 이름으로 전부 종료한다.-f는 명령줄 전체를 보기 때문에 엉뚱한 프로세스(심지어 명령을 실행한 셸)까지 잡을 수 있으니,지우기 전에 pgrep으로 먼저 확인하는 습관..

명령어/Linux 2026.07.09

[리눅스] kill 프로세스 종료 신호 SIGKILL

부제: 프로세스에 신호를 보내 정상 종료하거나 강제로 끊기kill 1234 # 정상 종료 요청 (SIGTERM)kill -9 1234 # 강제 종료 (SIGKILL)kill %1 # 작업 번호로$ sleep 300 &[1] 746368$ kill 746368$ jobs[1]+ Terminated sleep 300kill은 이름과 달리 기본이 "정상 종료 요청"(TERM)이라 프로세스가 정리할 시간을 준다.그래도 안 죽으면 -9(KILL)로 강제 종료하는데, 이건 정리 없이 즉시 끊어서 최후의 수단이다.이렇게도 쓴다먼저 정상 종료를 시도하고 안 되면 강제한다(-9는 마지막에).kill 1234 || kill -9 1234 이름으로 PID를 찾아 ..

명령어/Linux 2026.07.09

[디버깅] user thread 완전복제 재현 원본 오염 방지

부제: 운영 버그를 원본을 건드리지 않고 재현하기특정 유저, 특정 대화에서만 나는 버그가 있다.재현하려고 그 유저에게 채팅을 한 번 쏘면, 그 순간 메모리·요약·체크포인트가 바뀐다.상태가 오염돼서 두 번째 디버깅은 이미 다른 조건이 된다.원본에 쏘면 오염된다손으로 재현 데이터를 만들 수도 없었다.수백 개의 대화 스레드에 분석 기록까지 누적된 상태를,픽스처 코드로 흉내 내는 건 사실상 불가능하다.그래서 방향은 하나였다.원본과 똑같은 상태의 사본을 만들고, 실험은 사본에서 한다.복제의 정의부터 못 박았다.모든 기본 키(PK)와 외래 키(FK)만 새로 생성하고,나머지 컬럼은 JSONB든 임베딩이든 파일이든 타임스탬프든 바이트 그대로 복사한다.즉 ID만 빼면 원본과 구별이 안 되는 사본이다.복제 범위는 손으로 ..

Infra 2026.07.09

[LLM] Gemini 무응답 hang 타임아웃 재시도

부제: 빈 응답은 다시 시도하면서, 멈춤은 그냥 실패하던 문제챗봇이 LLM(Gemini)을 호출하는데, 가끔 응답이 이상하게 온다.하나는 빈 응답이다. 모델이 뭔가 주긴 했는데 알맹이가 없는 경우다.이건 이미 재시도하도록 해 뒀다. 한 번 더 부르면 대개 제대로 온다.문제는 다른 실패였다.빈 응답은 다시, 멈춤은 그냥 실패운영에서 Gemini가 60초 동안 응답을 안 주고 멈추는 일이 났다.빈 응답이 아니라 아예 답이 안 오는 hang이었다.이때는 타임아웃 예외가 곧바로 위로 던져졌다.재시도 로직은 빈 응답만 다시 부르게 돼 있었고, 타임아웃은 그 대상이 아니었다.그래서 한 번 멈추면 재시도 없이 채팅이 통째로 실패했다.앞뒤가 안 맞았다.빈 응답이든 멈춤이든 사용자 입장에선 "답이 안 온" 똑같은 상황인..

AI 2026.07.09

[리눅스] which type 명령어 경로 위치 확인

부제: 지금 실행되는 명령이 어디에 있는지 찾기which python3 # 실행 파일 경로which -a python3 # PATH의 모든 후보type ls # 별칭·빌트인·파일 구분$ which -a bash/usr/bin/bash/bin/bashwhich는 명령을 쳤을 때 실제로 실행되는 파일의 경로를 알려준다.같은 이름이 여러 곳에 있으면 -a로 전부 보여주고,type은 그게 별칭인지 셸 빌트인인지 실제 파일인지까지 구분한다.이렇게도 쓴다PATH의 모든 후보를 본다(버전 충돌 진단).which -a python 별칭·빌트인·파일 중 무엇인지 구분한다.type ll 스크립트에서 명령이 설치됐는지 확인한다(가장 이식성 좋다).command -v docker >..

명령어/Linux 2026.07.09

[리눅스] file 파일 종류 확인 MIME 타입

부제: 확장자 말고 실제 내용으로 파일 종류를 알아내기file photo # 실제 종류 (확장자 무시)file -i photo # MIME 타입file * # 디렉터리 전체$ file big.bin readme.mdbig.bin: datareadme.md: ASCII textfile은 확장자가 아니라 파일 앞부분(매직 넘버)을 읽어 실제 종류를 판별한다.확장자가 없거나 틀린 파일, 업로드된 파일의 진짜 정체를 확인할 때 쓴다.이렇게도 쓴다MIME 타입으로 확인한다(업로드 검증 단골).file -i upload.dat 디렉터리의 모든 파일 종류를 한 번에 본다.file * 확장자가 .txt인데 실제로 뭔지 확인한다.file mystery.tx..

명령어/Linux 2026.07.09

[리눅스] stat 파일 정보 크기 권한 시간

부제: 파일의 크기·권한·소유자·시간을 정확히 들여다보기stat file.txt # 전체 정보stat -c '%s' file.txt # 크기(바이트)만stat -c '%A %U %G' file.txt # 권한 소유자 그룹$ stat -c '%s bytes, owner=%U, perm=%A' readme.md5 bytes, owner=root, perm=-rw-r--r--stat은 ls -l보다 자세한 파일 메타데이터를 보여준다.-c(또는 --format)로 원하는 항목만 뽑는데, %s 크기·%A 권한·%U 소유자·%y 수정시간같은 지정자를 조합한다. 스크립트에서 파일 정보를 뽑아 쓸 때 특히 요긴하다.이렇게도 쓴다파일 크기(바이트)만 스크립트..

명령어/Linux 2026.07.09
728x90