반응형

find는 간편하지만 강력한 방법으로 파일시스템의 내용을 검색하는 기술도 매우 중요합니다.

 

옵션 정리

  • -H : 심볼릭 링크를 따르지 않는다. 심볼릭 링크를 일반 파일로 취급해 대상 파일로 이동하지 않는다.
  • -L : 처리 중인 디렉토리의 심볼릭 링크를 따른다.
  • -P : 심볼릭 링크를 일반 파일로 취급한다. 심볼릭 링크가 가르키는 대상 파일이 아닌 심볼릭 링크 자체에 대한 속성을 철

디렉토리 탐색옵션

  • -maxdepth N : 현재 디렉토리에서 최대 N단계 까지의 항목들에게만 검사를 수행한다.
  • -mindepth N : 명시된 경로에서 최소 N단계까지의 검사를 수행한다.
  • -daystart : 시간과 관련된 검사를 수행할 때 기준 시간 값으로 기본값인 24시간 이내 대신에 현재일자의 00시 00분 이후의 값을 활요
  • -mount : 다른 파일시스템은 탐색하지 않는다.

파일검사 옵션 : 파일에 적용되며 검사 조건의 만족여부에 따라 참 또는 거짓을 반환

  • -amin N : 파일의 마지막 접근 시간이 N분 이전이어야 된다.
     (-amin 20 : 정확히 20분전에 접근된 파일 / -amin +35 : 최대 35분 이전까지 접근된 파일)
  • -atime N :  N*24시간, 즉 N일 전에 접근된 파일 (소수점 이하는 무시)
  • -mmin  N : 파일이 수정된 시간이 N분 이전이어야 한다.
  • -mtime N : -atime과 동일한 방법이지만 시간이 기준
  • -executable | -readable | - writable : 파일의 점근 권한이 각각 실행, 읽기, 쓰기 가능인지 검사
  • -perm : 접근 권한을 검사 조건으로 사용
  • -iname [이름] : 파일명이 이름과 일치해야 된다. (대소문자는 무시)
  • -regex [패턴] : 지정된 패턴을 정규 표현식으로 해석해서 파일의 경로명과 매칭 (단, 전체 경로명을 맵핑해야 한다)

    예제)
  1.  /etc 디렉토리 아래에 존재하는 파일중에 p로 시작하여 임의의 문자로 끝나는 파일을 모두 검색
     : find / -regex '^/etc/p[a-z]*$'
  2. 파일시스템에서 설정과 관련된 모든 파일을 찾는다. 대소문자의 차이는 무시한다.
     : find / -regex '^[/a-z_]*[cC]+[Oo]*[nN]+[fF]+[iI]*[gF]+$'

     

 파일동작 옵션

  • -delete : 지정된 검사를 만족하는 파일을 삭제한다.
  • -exec : 매칭되는 파일을 대상으로 임의의 명령어 실행. 이 인자는 실행할 명령을 생성하는 방식,
    즉 find의 검색 결과를 exec* 유형의 시스템 호출로 전달하는 식으로 동작
    find는 -exec 스위치 이후 부터 ';' 까지 모든 인자를 실행될 명령의 인자로 사용
    검색된 파일의 이름은 { } 로 표시
    ex) find /etc/ -maxdepth 1 -name passwd -exec stat {} \;


반응형

+ Recent posts