리눅스 find
From IT Wiki
리눅스에서 특정 파일 및 폴더를 찾기 위한 명령어
사용법[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로도 동일한 기능을 구현할 수 있다.