본문 바로가기
Server

Rocky Linux의 파일을 찾거나 내용에서 특정 문자열 찾기

by 코딩박사 2025. 7. 4.
반응형

Rocky Linux(또는 CentOS/RHEL 계열 포함)에서 파일을 찾거나 / 파일 내용에서 특정 문자열을 찾는 가장 실용적인 방법을 단계별로 알려드리겠습니다.

Rocky Linux는 RHEL 기반이라서, 일반적인 리눅스 명령어 (find, grep, locate 등)를 그대로 쓸 수 있습니다.

 

1. 파일 이름으로 찾기 (Find)

# 현재 디렉토리 이하에서 파일 이름이 hello.txt인 파일 찾기
find . -name "hello.txt"

# 확장자가 .log인 파일 모두 찾기
find /var/log -name "*.log"

# 대소문자 무시
find . -iname "*.txt"

# 최근 1일 이내 수정된 파일 찾기
find . -mtime -1

# 특정 크기 이상 파일 찾기 (100MB 이상)
find . -size +100M

 

2. 파일 내용에서 문자열 검색 (Grep)

# 현재 디렉토리 이하 모든 파일에서 'ERROR'라는 문자열 찾기
grep -r "ERROR" .

# 특정 확장자 파일만 검색
grep -r --include="*.log" "ERROR" .

# 대소문자 구분 없이 검색
grep -ri "error" .

# 줄번호 같이 출력
grep -rn "ERROR" .

 

3. Find + Grep 조합 (많이 씀)

# php 파일 중 'mysqli_connect' 포함된 파일 찾기
find . -name "*.php" -exec grep -l "mysqli_connect" {} \;

    -exec 뒤에 grep -l : 해당 문자열을 포함한 파일 이름만 출력

 

4. locate 명령어 (속도 빠름)

# 설치
sudo dnf install mlocate
sudo updatedb    # 색인 생성

# 파일 이름에 apache 포함된 파일 찾기
locate apache

    locate는 미리 색인한 DB를 검색 → 아주 빠름
    단, 색인을 갱신해야 최신 파일 검색 가능

 

5. 더 편리하게 쓰려면 (추가 팁)

find . -name "*.log" | less

    less 로 긴 출력 스크롤

grep -r "ERROR" . > error_list.txt

    검색 결과를 파일로 저장

find . -name "*.log" | xargs grep "FATAL"

    xargs로 찾은 파일에 대해 추가 명령 실행

반응형