리눅스 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

  • 리눅스 host 명령어 | DNS 조회 명령어

    host 명령어는 DNS(Domain Name System) 조회를 할 때 사용하는 명령어입니다. 호스트 이름에 해당하는 IP 주소를 찾거나, 반대로 IP 주소를 호스트 이름으로 변환하는 데 사용됩니다. 네트워크 연결 문제를 해결하거나 호스트 이름과 IP 주소 간의 매핑을 확인하는 데 유용합니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의…

  • 리눅스 Rsync 명령어

    Rsync (Remote Sync) 는 네트워크를 통해 파일과 디렉터리를 효율적으로 동기화하는 백업 방식입니다. 전체 데이터를 매번 복사하는 대신 변경된 부분만 증분 방식으로 전송하여 빠르고 안정적인 동기화를 지원합니다. 또한 다양한 옵션을 통해 압축, 암호화, 권한 유지, 삭제 동기화 등 세밀한 제어가 가능하며, 백업과 서버 간 데이터 전송에 널리 사용됩니다. 특히 네트워크 대역폭을 절약하고, 재 전송…

  • 리눅스 uniq 명령어

    리눅스 uniq 명령어는 “unique”의 약자이며, 텍스트 파일에서 중복된 행을 제거하고 하나의 행만 출력하는데 사용됩니다. 중복된 텍스트 데이터를 제거하고 몇 번의 반복이 있었는지 등을 확인할 때 매우 유용하게 사용할 수 있습니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의 3종류✅ 리눅스 uniq 명령어 기본 사용법 INPUT…

  • SSH 명령어: 옵션 및 사용 방법

    리눅스에서 SSH(Secure Shell)는 네트워크를 통해 다른 시스템에 안전하게 접속할 수 있도록 해주는 프로토콜입니다. SSH는 원격 서버와 클라이언트 간의 통신을 암호화하여 보안성을 높이며, 주로 원격 접속, 파일 전송, 그리고 터널링 기능을 제공합니다. SSH 명령어를 사용하여 사용자는 원격 서버에 안전하게 접속한 뒤 다양한 작업을 수행할 수 있습니다. 터널링 기능: 한 네트워크에서 다른 네트워크로 데이터를 안전하게…

  • 리눅스 netstat 명령어, ifconfig 명령어

    리눅스에 netstat 명령어 및 ifconfig 명령어를 실행하기 위해 리눅스 서버에 명령어 실행을 위한 net-tools이 설치되어 있어야 합니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의 3종류✅ net-tools 설치 ✅ netstat 명령어 netstat[network statistics:네트워크 통계]은 네트워크 상태를 확인하는 명령어입니다. 어떤 포트가 열려있고, 어떻게 사용되고 있는지와 해킹…

  • 리눅스 less 명령어 사용법

    리눅스 less 명령어는 텍스트 파일을 볼 때 사용하는 명령어입니다. less 명령어의 특징은 vi 명령어가 파일 실행 시 전체 파일을 읽어야 하고 txt 파일 크기가 클 경우 읽는데 시간이 걸립니다. 또한 vi 명령어는 파일 편집 명령어입니다. 목차✅ grep 명령어 기본 사용법✅ 기본적인 사용 예✅ grep 옵션✅ 다른 명령어와 파이프(|) 조합 활용✅ grep의 3종류리눅스 less…

답글 남기기

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

Prove your humanity: 9   +   2   =