본문 바로가기
Linux

[Linux] find 명령어를 사용한 파일 또는 문자열 검색

by Junk_Seo 2023. 11. 14.
반응형

1. 개요

  • Linux 시스템에서 find 명령어를 사용하여 파일 검색하거나,
    파일 안에 있는 문자열을 검색합니다.

2. 명령어

  • 현재 디렉터리에서 하위 디렉터리까지 "*.c" 확장자를 가진 모든 파일 찾기
    find . -name "*.c"


  • 루트에서 하위 디렉터리까지 "*.c" 확장자를 가진 모든 파일 찾기
    find / -name "*.c"


  • 현재에서 하위 디렉터리까지 파일명이 "main"으로 시작하는 모든 파일 찾기
    find . -name "main*"


  • 현재에서 하위 디렉터리까지 파일명이 ".bash"로 시작하는 모든 파일 찾기
    find . -name ".bash*"


  • 현재에서 하위 디렉터리까지 파일명이 ".bash"로 시작하는 모든 파일 찾기
    (ls 명령 형식으로 출력하기 위해 뒤에 -ls라는 옵션을 사용)

    find . -name '.bash*' -ls


  • 현재에서 하위 디렉터리까지 디렉터리 이름이 "src"로 시작하는 모든 디렉터리 찾기
    find . -name 'src*' -type d


  • 현재에서 하위 디렉터리까지 "*.c"라는 파일 형식에서 "test" 문자열 검색
    find . -name "*.c" -exec grep "test" {} \; -print

3. shell alias 설정

  • 자주 사용하는 find 명령어를 shell alias로 설정하여 사용합니다.
  • find 명령어를 사용한 파일명 검색과 특정 파일 안에서 문자열 검색 기능을 설정합니다.
  • csh [.cshrc] 설정
    • 하위 디렉터리까지 찾아서 파일명 검색
      alias ff='find . -name \!* -print'​



    • 하위 디렉터리까지 찾아서 ".c" 파일 안에서 문자열 검색
      alias ffindc='find . -name \*.c -exec grep \!* {} \; -print'​



  • bash [.bashrc] 설정
    • 하위 디렉터리까지 찾아서 파일명 검색
      function ff() {
          find . -name $1 -print
      }​



    • 하위 디렉터리까지 찾아서 ".c" 파일 안에서 문자열 검색
      function ffindc() {
          find . -name \*.c -exec grep $1 {} \; -print
      }​

반응형