Docs of Jace-Lab

CLI

1. grep (Global Regular Expression Print)

역할: 파일이나 입력값에서 특정 패턴(문자열)을 찾아내는 돋보기 같은 도구입니다.

  • 기본 구조: grep [옵션] "패턴" [파일명]
  • 주요 옵션:
    • -i: 대소문자 구분 안 함 (Ignore case)
    • -v: 패턴이 없는 라인만 출력 (Invert match)
    • -r: 하위 디렉토리까지 모두 검색 (Recursive)
    • -n: 행 번호 표시 (Line number)

실전 예시:

# 로그 파일에서 "ERROR"라는 단어가 포함된 줄 찾기
grep "ERROR" system.log

# 현재 디렉토리 모든 파일에서 "config"라는 단어를 대소문자 구분 없이 찾기
grep -ri "config" .

2. curl (Client URL)

역할: 서버와 데이터를 주고받는 터미널용 웹 브라우저입니다. API 테스트나 파일 다운로드에 필수적입니다.

  • 기본 구조: curl [옵션] [URL]
  • 주요 옵션:
    • -X: HTTP 메서드 지정 (GET, POST, PUT, DELETE 등)
    • -H: 헤더 정보 추가
    • -d: POST 요청 시 데이터 전송
    • -O: 파일 이름 그대로 다운로드 (대문자 O)
    • -L: 리다이렉트 자동 추적

실전 예시:

# 네이버 페이지 소스 가져오기
curl https://www.naver.com

# JSON API에 POST 요청 보내기
curl -X POST -H "Content-Type: application/json" -d '{"name":"Gemini"}' https://api.example.com/user

# 인터넷에서 설치 스크립트 다운로드 후 바로 실행 (주의 필요!)
curl -fsSL https://get.docker.com | sh

3. sed (Stream Editor)

역할: 텍스트를 실시간으로 편집하거나 변환하는 도구입니다. 파일을 직접 열지 않고도 특정 단어를 치환하거나 행을 삭제할 때 유용합니다.

  • 기본 구조: sed [옵션] '스크립트' [파일명]
  • 주요 문법: 's/찾을문자/바꿀문자/g' (s는 substitute, g는 global 즉 전체 적용)
  • 주요 옵션:
    • -i: 원본 파일을 직접 수정 (Inline edit)
    • -n: 편집된 결과만 출력 (p 명령과 함께 사용)

실전 예시:

# file.txt에서 "apple"을 "banana"로 바꿔서 출력 (원본은 유지)
sed 's/apple/banana/g' file.txt

# 원본 파일에서 "2024"를 "2025"로 영구 수정
sed -i 's/2024/2025/g' config.txt

# 특정 줄(예: 3번째 줄)만 삭제해서 출력
sed '3d' list.txt

💡 한눈에 비교하기

명령어핵심 키워드비유용도
grep검색 (Search)돋보기특정 단어가 포함된 로그 찾기
curl통신 (Transfer)배달원API 호출, 파일 다운로드
sed편집 (Edit)수정액텍스트 치환, 특정 행 삭제/삽입

🔥 보너스: 파이프(|)로 엮어 쓰기

# 1. API를 호출해서 결과를 받아온 뒤 (curl)
# 2. 그중 "status"가 포함된 줄만 골라내고 (grep)
# 3. "success"를 "OK"로 바꿔서 보여줘 (sed)
curl -s https://api.site.com/check | grep "status" | sed 's/success/OK/g'

On this page