보안/강의정리
리눅스 명령어 grep
syoohan
2021. 6. 20. 19:09
728x90
입력으로 전달된 파일의 내용에서 특정한 문자열을 찾고자 할 때 사용하는 명령어
문법
#grep [옵션] [찾고싶은 패턴] [파일명]
#grep -n 'root' /etc/passwd

여기서 리눅스 정규표현식(Regular Expression)을 사용하여 더 정교하고 구체적이게 사용할 수 있다.
예를들어 문자열의 처음 시작부분만 매칭하게 해주는 "^" 을 넣으면
#grep -n '^root' /etc/passwd

이런식으로 무궁무진하게 활용할 수 있다.
옵션
| -E | PATTERN을 확장 정규 표현식으로 해석 |
| -F | PATTERN을 정규 표현식이 아닌 일반 문자열로 해석 |
| -G | PATTERN을 기본 정규 표현식으로 해석 |
| -P | PATTERN을 per1 정규 표현식으로 해석 |
| -e | 매칭을 위한 PATTERN 전달 |
| -f | 파일에 기록된 내용을 PATTERN으로 사용 |
| -i | 대/소문자 무시 |
| -v | 매칭되는 PATTERN이 존재하지 않는 라인 선택 |
| -w | 단어 단위로 매칭 |
| -x | 라인 단위로 매칭 |
| -z | 라인을 newline(\n)이 아닌 NULL(\0)로 구분 |
| -m | 최대 검색 결과 갯수 제한 |
| -b | 패턴이 매치된 각 라인의 바이트 옵셋 출력 |
| -n | 검색결괴 출력 라인 앞에 라인 번호 출력 |
| -o | 매치되는 문자열만 표시 |
| -q | 검색 결과 출력하지 않음 |
| -a | 바이너리 파일을 텍스트 파일처럼 처리 |
| -I | 바이너리 파일은 검사하지 않음 |
| -d | 디렉토리 처리 방식 지정 |
| -D | 장치 파일 처리 방식 지정 |
| -r | 하위 디렉토리 탐색 |
| -R | 심볼릭 링크를 따라가며 모든 하위 디렉토리 탐색 |
| -L | PATTERN이 존재하지 않는 파일 이름만 표시 |
| -l | 패턴이 존재하는 파일 이름만 표시 |
| -c | 파일 당 패턴이 일치하는 라인의 갯수 출력 |
| -H | 검색결과 출력 라인 앞에 파일이름 표시 |
| -h | 검색결과 출력시, 파일이름 무시. |
728x90