Snow flake

[command] grep 명령어 본문

Programming/Linux

[command] grep 명령어

MAYSON 2026. 9. 9. 20:20
반응형

grep 명령어는 Global Regular Expression Print의 약자로, 파일이나 입력값에서 특정 문자열이나 패턴을 검색할 때 사용하는 명령어입니다. 리눅스에서 로그 분석, 설정 파일 확인, 특정 값 찾기 등 정말 다양한 상황에서 쓰이는 필수 명령어입니다.

# 사용법
grep [옵션] [찾을 문자열] [파일명]

# readme.txt 파일에서 "oracle" 문자열이 포함된 줄 찾기
grep oracle readme.txt

# 여러 파일에서 동시에 검색
grep oracle *.txt

파일명을 지정하면 해당 파일에서만 검색하고, *.txt처럼 와일드카드를 쓰면 여러 파일을 한 번에 검색할 수 있습니다.

# -i : 대소문자 구분 없이 검색
grep -i oracle readme.txt

# -n : 검색된 줄의 라인 번호 함께 출력
grep -n oracle readme.txt

# -v : 반대로, 해당 문자열이 없는 줄만 출력
grep -v oracle readme.txt

# -r : 디렉토리 내부 파일까지 재귀적으로 검색
grep -r oracle /home/oracle/logs

# -c : 매칭된 줄의 개수만 출력
grep -c oracle readme.txt

-i는 대소문자를 구분하지 않고 찾을 때, -n은 몇 번째 줄에서 발견됐는지 확인할 때 유용합니다. -v는 반대 조건(제외 검색)이라 자주 헷갈리니 기억해두면 좋습니다.

파이프라인과 함께 사용하기

grep은 단독으로도 쓰지만, 다른 명령어와 파이프(|)로 연결해서 훨씬 자주 사용됩니다.

# 현재 실행 중인 프로세스 중 oracle 관련 프로세스만 찾기
ps -ef | grep oracle

# history 기록 중 특정 명령어만 찾기
history | grep chmod

# 로그 파일에서 ERROR 문자열이 포함된 줄만 실시간 확인
tail -f alert.log | grep ERROR

ps -ef나 history 같은 명령어의 출력 결과가 너무 많을 때, grep으로 필요한 줄만 걸러내는 방식이 실무에서 정말 많이 쓰입니다.

# ^ : 줄의 시작이 해당 문자열인 경우
grep ^ORA readme.txt

# $ : 줄의 끝이 해당 문자열인 경우
grep END$ readme.txt

# . : 임의의 한 글자
grep O.A readme.txt

grep은 정규표현식을 지원해서 단순 문자열 검색을 넘어 패턴 기반 검색도 가능합니다. 처음에는 ^, $ 정도만 익혀둬도 활용도가 크게 늘어납니다.

실무에서 자주 마주치는 상황

서버 운영이나 시스템 관리 작업을 하다 보면 로그 파일에서 에러나 특정 상태를 확인할 때 grep을 정말 많이 쓰게 됩니다.

# 특정 서비스 프로세스 상태 확인
ps -ef | grep httpd

# 에러 로그에서 특정 날짜 기록만 확인
grep "2026-09-09" /var/log/messages

# 에러 로그에서 ERROR만 걸러서 라인 번호까지 확인
grep -n ERROR /var/log/messages

 

로그 파일이 수만 줄씩 쌓여있을 때 grep 없이는 원하는 정보를 찾기가 거의 불가능합니다. 그만큼 실무에서 손에 익혀두면 조회 속도가 크게 달라지는 명령어입니다.

반응형

'Programming > Linux' 카테고리의 다른 글

[command] ps, kill 명령어  (0) 2026.09.11
[command] find 명령어  (0) 2026.09.10
[command] su, sudo 명령어  (0) 2026.09.08
[command] chown 명령어  (1) 2026.09.08
[command] chmod 명령어  (0) 2026.09.06
Comments