리눅스 grep 명령어

리눅스 grep 명령어는 로그 파일과 같은 텍스트 파일과 아스키 파일에서 원하는 문자열을 찾을 때 사용되며, tail과 find 명령어를 파이프(|)와 결합해서 자주 사용하게 되는 명령어입니다.

  • grep 명령어
  • 파일 내의 특정 문자열을 찾을 때 사용됩니다.
  • grep 명령은 global / regular expression / print 에서 각각의 머릿글자를 따 왔음
  • ls, tail, find 명령어와 조합해서 자주 사용.
  • find와 같은 명령어를 사용한 후 원하는 결과 값만 출력할 수 있음.
  • 패턴은 찾고자 하는 문자열이나 정규 표현식으로 grep은 특정 파일의 지정한 문자열 및 정규 표현식을 활용한 행을 출력해 주는 명령어
  • 텍스트 처리&검색 명령어&스크립팅 명령어

✅ grep 명령어 기본 사용법

grep [-옵션] [패턴] [파일명]
다른 명령어 | grep [-옵션] [패턴] [파일명]

✅ 기본적인 사용 예

# access_log에서 403 에러 찾기 | 현재 폴더에서 403 에러 찾기 > grep 403 ./* | grep 430 *.log
~]# grep 403 access_log 

[01/Jan/2024:05:25:24 +0000] "GET / HTTP/1.1" 403 199 "-" "python-requests/2.31.0"
78.153.140.221 - - [01/Jan/2024:05:35:54 +0000] "GET /.env HTTP/1.1" 403 199 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36"
95.214.235.169 - - [01/Jan/2024:05:55:12 +0000] "GET /.env HTTP/1.1" 403 199 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36"
95.214.235.169 - - [01/Jan/2024:05:55:14 +0000] "POST / HTTP/1.1" 403 199 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36"

# 1월 1일의 데이터를 제외(-v)하고 찾기
~]# grep 403 access_log | grep -v 01/Jan

✅ grep 옵션

✅ 다른 명령어와 파이프(|) 조합 활용

다중 명령어인 파이프(|)와 조합해서 사용할 수 있습니다.

tail -f access_log | grep 430
tail -f access_log | grep 430 | grep -v 01/Jan

✅ grep의 3종류

grep는 3가지 종류로 분류됩니다. egrep는 정규 표현식만으로 검색하는 것으로 grep 옵션의 -E 옵션고 동일한 결과를 출력내며, fgrep는 문자열만 검색해서 grep 옵션의 -F옵션과 동일한 결과를 출력 해 줍니다.

리눅스 커맨드 라인 인터페이스(Linux command line Interface)

Similar Posts

  • [Shell 특수문자] 리눅스 와일드카드(메타문자)

    리눅스 와일드카드는 Shell 특수문자로 메타 문자로 불리기도 합니다. Shell 특수 기호 중 와일드카드(글로빙으로 부르기도 함)는 문자 패턴에 따라 파일명을 선택할 수 있습니다. 특수 문자에는 인용(따옴표) 기호, 리눅스 다중 명령어, 리눅스 히스토리 기호, 리눅스 디렉토리 기호, 리눅스 괄호 기호 및 입출력 리다이렉션 등 다양하게 있습니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep…

  • nslookup 명령어

    nslookup 명령어는 네임 서버 조회(Name Server Lookup)를 뜻하는 명령어로 네임 서버의 정보를 얻기 위한 명령어입니다. DNS(Domain Name System)에 질의 후 대상 도메인의 IP 주소나 DNS 레코드 등의 정보를 얻기 위한 네트워크 명령어입니다. DNS 서버의 정상적인 작동을 통해 정상적인 네트워크 설정이 되었는지 확인할 때 많이 사용하게 되는 명령어 중 하나입니다. 보통 맥 OS 및…

  • 리눅스 cat 명령어

    리눅스에서 텍스트 파일을 출력하는 간단한 ‘cat 명령어’는 명령어 뒤에 파일명을 적어 표준 출력(Standard Output)을 할 수 있습니다. cat은 “연결시키다”, “연관시키다” 등의 뜻을 가지고 있는 영어단어 “concatenate”에서 유래되었습니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의 3종류1. cat 명령어 특징 출력과 비슷한 의미의 단어가 아닌 “concatenate“라는…

  • [Linux] 다중 명령어 5가지(세미콜론, 파이프, 엠퍼센트..)

    리눅스의 Bash Shell에서 다중 명령어를 사용하는 목적은 하나의 라인에서 여러 명령을 실행할 수 있기 때문입니다. 종류는 ⓐ 세미콜론(;) ⓑ 파이프(|) ⓒ 더블 버티컬바(||) ⓓ 엠퍼센트(&) ⓔ 더블엠퍼센트(&&) 등이 있습니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의 3종류1. 많이 쓰는 다중 명령어 세미콜론(;) 하나의 명령어…

  • 리눅스 free 명령어: 메모리 상태 확인

    리눅스 free 명령어는 서버의 메모리 사용량과 여유 사용량을 확인할 수 있는 명령어로 /proc/meminfo의 메모리 정보를 가져와 보여줍니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의 3종류✅ 리눅스 free 명령어 옵션 1. free -h 설명 2. 옵션 활용 ✅ 스왑(SWAP)메모리란? ✅ 명목 메모리 사용량 계산법 free(1239384)는…

  • ps 명령어(프로세스 명령어)

    ps 명령어는 현재 실행 중인 프로세스를 출력하는 명령어입니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의 3종류1. ps 명령어 옵션 ps에서 주로 사용되는 명령어입니다. 기본 사용 옵션은 아래와 같습니다. 2. ps -ef 명령어 ps -ef 명령어는 모든 프로세스를 포멧 리스트로 출력해 줍니다. 2.1 출력 필드…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 1   +   10   =