1. UID 로 된 uid 를 다른 계정명과 그룹명으로 변경

find /home -uid UID -exec chown 계정명:그룹명 {} \;

ex) find /home/apple -uid 500 -exec chown apple:users {} \;

예제 해설) /home/apple 하위 경로에 있는 모든 파일 및 디렉토리에 대해서 uid 가 500 인 것을

uid : apple 과 gid : users 로 변경해라


2. 현재 경로의 모든 파일에 대해 내용검색을 하여 keyword 라는 패턴을 new_keyword로 치환

find ./ -exec perl -pi -e 's/keyword/new_keyword/g' {} \;

ex) find ./*.php -exec perl -pi -e 's/abc.com/abc.kr/g' {} \;

예제 해설) 현재 경로 (하위 포함) 의 모든 php 파일에 포함된 abc.com 이라는 패턴을 abc.kr 로 치환해라

3. 현재 경로에서만 소유자가 nobody인 php파일을 모두 삭제


find ./ -maxdepth 1  -user nobody -name "*.php" -exec rm {} \;

4. 특정날짜 기준으로 파일 찾기

4-1 특정 날짜 이후 생성된 파일 찾기
find ./ -type f -newerct yyyy-mm-dd

4-2 특정 날짜 이전에 생성된 파일 찾기
find ./ -type f !-newerct yyyy-mm-dd

위 두 명령어를 조합하여 일정 기간내에 생성된 파일을 찾을 수 있다.

ex) find ./ -type f -newerct 2020-01-01 ! -newerct 2020-01-31
(2020년 1월 1일 부터 1월 31일 이내에 생성된 파일을 출력)

응용) find ./ -type f -newerct 2020-01-01 ! -newerct 2020-01-31 -exec rm -rf {} \; 
(2020년 1월 1일 부터 1월 31일 이내에 생성된 파일 삭제)

5. 수정된 날짜/시간 기준으로 찾기

find ./ -type f -mtime +30 (30일 지난 파일)
find ./ -type f -mtime 30 (30일째 되는 파일)
find ./ -type f -mtime -30 (30일이 안되는 파일)
find ./ -type f -mmin +30 (30분 지난 파일)
find ./ -type f -mmin 30 (30분째 되는 파일)
find ./ -type f -mmin -30 (30분이 안되는 파일)

[기타] 명령어 응용을 위한 옵션 정리
-atime : access time
-ctime : create time
-mtime : modified time

-newerct : create time
-newermt : modified time
-newerat : access time