본문 바로가기
운영체제/Linux

Linux ] find 명령어 사용법 & 파일 내 특정 문자열을 포함한 파일 찾기 (grep)

by eteo 2025. 5. 15.

 

 

 

find 명령어 기본 사용법

먼저 find는 파일 이름, 경로, 속성 등으로 파일을 찾는 명령어이다. 주로 파일명으로 파일을 찾는다.

find <경로> [조건]

 

  • <경로> : 검색할 위치 지정, . 이면 현재 디렉토리와 그 하위 디렉토리까지 검색한다.
  • [조건]
    • -name "패턴" : 이름 검색 (대소문자 구분), 검색할 문자열을 ""로 감싸고 와일드카드 *, ?를 사용할 수 있다.
    • -iname "패턴" : 이름 검색 (대소문자 무시) 
    • -type [f|d|l]: 일반 파일, 디렉토리, 심볼릭 링크 등 파일 종류를 지정한다. 
    • -maxdepth [숫자] : 검색 깊이 제한, 1이면 현재 디렉토리만 검색한다.
    • -size [+|-][파일크기] : 파일 크기 기준 검색
    • -mtime [+|-][일] : 수정 일 기준 검색
    • -mmin [+|-][시간] : 수정 시간 기준 검색

 

 

# 현재 디렉토리 및 하위에서 filename.txt 찾기
find . -name "filename.txt"

# 대소문자 구분 없이 파일명에 readme가 들어간 파일 찾기
find . -iname "*readme*"

# /etc 이하 경로에서 .conf 확장자 파일 찾기
find /etc -name "*.conf"

# 현재 디렉토리에서만 .sh 파일 찾기
find . -maxdepth 1 -name "*.sh"

 

 

# 100MB 이상 파일 찾기
find . -size +100M

# 1GB보다 작은 파일 찾기
find . -size -1G

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

# 7일 이전에 수정된 파일 찾기
find . -mtime +7

# 최근 30분 이내 수정된 파일 찾기
find . -mmin -30

 

 

 

 

 

 

 

 

파일 내 특정 문자열을 포함한 파일 찾기

파일 내에서 특정 문자열을 포함한 파일을 찾는 것은 grep 명령어를 사용해서 할 수 있다.

 

grep 기본 사용법

grep [옵션] 찾을문자열 <파일명>

 

grep은 주로 파이프(|)와 함께 사용되는데, 특정 파일이나 명령어 출력 결과에서 일치하는 문자열을 찾는 데 사용된다.

 

파일명을 지정하지 않고 -r 옵션을 사용하는 경우, 현재 디렉토리부터 하위 디렉토리까지 재귀적으로 검색하여 매칭되는 문자열을 포함한 모든 파일을 찾아준다.

 

# 현재 디렉토리에서(하위 디렉토리 포함) 파일 내용에 error를 포함한 파일 검색하고 매칭되는 문자열이 포함된 라인 출력
$ grep -r error

# -n 옵션을 사용하면 줄번호도 함께 출력됨
$ grep -rn error

# -l 옵션을 사용하면 매칭되는 문자열이 포함된 라인 출력은 생략하고 파일명만 출력됨
$ grep -rl error

# 문자열 뒤에 경로를 지정하면 해당 경로에서 찾음
$ grep -r error ~/Downloads

# 파일 내용에 error 또는 failed를 포함한 파일을 찾음. -E옵션은 확장 정규표현식을 사용할 수 있게 해주는 옵션임 
$ grep -E 'error|failed'