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 | sh3. 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'