사용형식 [찾을 디렉토리경로] [찾기옵션] [찾은후행할 작업]

 

option

[찾을 디렉토리경로]

.     : 현재 디렉토리 이하를 검색대상으로 한다.

/     : 루트디렉토리(파일시스템전체) 이하를 대상으로 한다.

~ID : 지정된 ID의 홈디렉토리이하를 대상으로한다.

 

[찾기옵션]

-empty            : 비어있는 파일을 찾는다.

-uid UID          : 지정된 UID를 갖는 파일을 찾는다.

-gid GID          : 지정된 GID를 갖는 파일을 찾는다.

-group 그룹명  : 지정된 group을 갖는 파일을 찾는다.

-name            : 지정된 형식의 패턴을 가지는 파일을 찾는다.

-newer           : 지정된 파일 이후에 생성된 파일을 찾는다.

-perm             : 지정된 퍼미션을 가진 파일을 찾는다.

-used 일자수   : 최근 n일 이후에 변경된 파일을 찾는다.

-user              : 지정된 파일을 소유하고 있는 소유자의 모든 파일을 찾는다.

 

[찾은후 수행할 작업]

-print                    : 찾은 내용을 보여준다.

-exec "수행명령어" : 검색된 파일을 대상으로 :수행명령어"를 실행한다.

 

 

[예제]

특정 사용자의 ID 소유로된 모든 파일 찾기.

[os] find / -user khi083 -print

 

 

현재 디렉토리 이하부터 test 파일명을 찾아 보여준다.

[os] find . -name test -print

 

khi083 사용자의 홈디렉토리에서 test 파일명을 찾아 보여준다.

[os] find ~khi083 -name test -print

 

특정 파일을 찾은 후 자동 삭제방법.

[os] find ~khi083 -name test -exec rm -f {} \;

 

지정한 소유자의 모든 파일을 찾아서 확인하기.

[os] find / -user khi083 -exec ls -l {} \;

 

특정용량 이상되는 파일들 모두찾기.

[os] find /usr/ -size +10000k -exec ls -l {} \;                        -- 약 10MB이상

 

특정 퍼미션을 가지고 있는 파일들을 모두 찾기

[os] find / -perm 4755 -exec ls -l {} \;

 

존재하는 모든 링크파일 찾기

[os] find / -type l -exec ls -l {} \;

 

디렉토리 이하에서 "doc" 라는 문자를 포함하고 있는 파일을 찾아서 파일의 위치와 파일명, 포함된 행을 출력한다.

[os] find /etc type f -exec egrep -i "doc" /dev/null {} \;

 

 

-------------------------------------- 보안 관련된 find --------------------------------------

지정된 일자 이후에 변경된 모든 파일 찾기(서버점검시에 서버해킹으로 인하여 변경된 파일을 찾을 경우)

[os] find / -used 2 -exec ls -l {} \;                                        -- used 뒤에 나오는 숫자는 "일" 즉, 24시간 단위.

 

지정된 파일보다 이후에 생성된 파일 찾기(해킹된 파일이나 백도어 파일을 찾은 후에 그 파일과 함께 시스템에 생성된 파일찾기)

[os] find / -newer /root/file1.txt -exec ls -l {};                          -- used 뒤에 나오는 숫자는 "일" 즉, 24시간 단위.

 

root소유의 SetUID 파일 찾기

[os] find / -user root -perm -4000 -print

 

서버내부에서 .bash_history 파일을 모두 찾아서 확인하기(root소유의 .bash_history파일이 용량이 0이라면 이는 매우 심각한 경우로서 거의 99%이상은 해킹되었다고 보셔도 무방하다.)

[os] find / -name .bash_history -exec ls -l {} \;

 

소유자가 없는 파일 또는 소유그룹이 없는 무적파일 찾기

[os] find / -nouser -o -nogroup -print                                      -- -o옵션은 "OR"를 의미한다


출 처 : http://blog.naver.com/nixblade?Redirect=Log&logNo=10092313804

[출처] find 명령어 |작성자 케이

+ Recent posts