[Linux 기초] 04. 파일 검색
카테고리: LINUX
태그: linux
01. find
지정된 디렉터리 하위의 파일 검색
■ 명령형식
$ find [디렉터리] [option] [action]
| 옵션 | 설명 |
|---|---|
| -empty | 비어있는 파일 찾기 |
| -uid | 지정된 UID 값으로 찾기 |
| -gid | 지정된 GID 값으로 찾기 |
| -user | 소유자로 찾기 |
| -group | 소속그룹 명으로 찾기 |
| -nouser | 소유자가 없는 파일 찾기 |
| -nogroup | 소속그룹 없는 파일 찾기 |
| -name | 파일 이름으로 찾기 |
| -perm | 지정된 권한을 갖는 파일 찾기 |
| -type | 지정된 파일 타입을 이용하여 파일 찾기 |
| -size | 파일의 크기를 이용하여 찾기 |
| 옵션 | 설명 |
|---|---|
| -atime | 파일을 열거나 접근한 시간을 기준으로 찾기 |
| -mtime | 파일을 변경된 시간으로 찾기 |
| -ctime | 파일 속성이 변경된 시간을 기준으로 찾기 |
| -n | n일 이전에 수전된 파일 |
| n | n+1일에서 n일 사이에 수정된 파일 |
| +n | n+1일 이상된 수정된 파일 |
| 옵션 | 설명 |
|---|---|
| 리스트 출력 | |
| -exec command {} \; | find의 결과에 command 적용 |
| -ok command {} \; | find의 결과에 command 적용 여부를 확인 후 적용 |
| {} | find 명령의 결과 집합 |
| \; | 명령의 끝 |
■ 예제
#> 현재 디렉터리에서 확장자가 PHP 파일 찾기
find . -name *.php
#> 현재 디렉터리에서 파일명의 첫 글자가 영문자 문자인 것 찾기
find . -name "[A-Z]*"
#> 현재 디렉터리에서 첫/두 번째 글자가 영문자 소문자이고, 세 번째 글자가 숫자인 파일 찾기
find . -name "[a-z][a-z][0-9]"
#> 현재 디렉터리에서 파일 이름에 공백이 들아건 모든 파일 삭제
find . -name "* *" -exec rm -f {} \;
#> 현재 디렉터리에서 setuid 또는 setgid를 포함하는 파일 찾기
find . \( -perm -4000 -o -perm -2000 \) -exec ls -al {} \;
#> setuid, setgid 모두 부여된 파일 찾기
find / -perm +6000 2> /dev/null
#> 2일 이전에 수정된 파일만 찾기
find / -type f -mtime -2 -exec ls {} \;
댓글 남기기