리눅스 find

From IT Wiki
Revision as of 16:01, 10 November 2022 by 210.204.173.29 (talk) (→‎주요 옵션)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

리눅스에서 특정 파일 및 폴더를 찾기 위한 명령어

사용법[edit | edit source]

find [경로] [옵션] [대상]

주요 옵션[edit | edit source]

  • name [파일명] : 지정된 이름의 파일을 찾는다.
  • user [유저명] : user 소유의 파일을 찾는다.
  • -type [bcdfls] : 지정된 형식의 파일을 찾는다.
    • b : 블록파일
    • c : 문자
    • d : 디렉터리
    • f : 파일
    • l : 링크파일
    • s : 소켓
  • -size [+/-]숫자[bckw] : 지정된 크기의 파일을 찾는다.
    • +n : n보다 크다
    • -n : n보다 작다
    • n : n이다
    • b : 512-byte
    • c : byte
    • k : kilobytes
    • w : 2-byte
  • -mtime [+/-]숫자
    • +n : n일 전에 수정된 파일을 찾는다.
    • -n : n일 동안 수정된 파일을 찾는다.
  • -ctime [+/-]숫자
    • 생성 시간을 기준으로 찾는다. 사용법 mtime과 동일
  • -atime [+/-]숫자
    • 엑세스 시간을 기준으로 찾는다. 사용법 mtime과 동일
  • -inum number : 지정한 아이노드 번호와 파일을 찾는다.
  • -print : 표준출력으로 검색된 파일명을 출력한다.
  • -exec command { } \; : 찾은 각 파일에 대해 지정된 명령을 실행한다.
  • -ok command { } \; : 실행 여부를 사용자에게 확인한 후 명령을 실행한다.

사용 예제[edit | edit source]

  • 최근 10일동안 변경된 파일을 찾아서 /tmp/find.out 에 저장한다.
$ find / -mtime -10 -print > /tmp/find.out
  • 특수권한 파일 찾기
    • 전체 디렉터리에서 정규 파일 중 Set-UID가 설정된 파일을 찾는다.
$ find / -type f -perm -4000 
  • -perm 4000 으로 하면 Set-UID만 설정된 파일을 검색하고
  • -perm -4000 으로 하면 Set-UID가 포함된 파일을 검색한다.
  • Set-GID는 2000, Sticky-bit는 1000 이다.
  • 리눅스 특수권한 참고
  • 파일 내용에 문자열이 포함된 파일 찾기
    • 하위 폴더도 한번에 검색한다.
$ find [검색 대상 폴더] -type f -print | xargs grep "[검색 문자열]"
  • 리눅스 ls로도 동일한 기능을 구현할 수 있다.