Notice
Recent Posts
Recent Comments
Link
반응형
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- CodeBlock
- 스트림에디터
- 명령어
- 리눅스
- 커널패닉
- pwd
- remove
- IT
- printworkingdirectory
- 심볼릭링크
- pkill
- du
- Tux
- 하드링크
- 모니터링
- 텍스트
- Linux
- 턱스
- 권한상승
- chown
- nohup
- su
- 상대경로
- 코드블럭
- mkdir
- xargs
- sed
- disown
- bg
- command
Archives
- Today
- Total
Snow flake
[command] grep 명령어 본문
반응형
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
