출처
설명
파일을 검색할 때 사용합니다.
주요 옵션
옵션 |
내용 |
-name |
검색할 이름을 지정. *도 사용가능 |
-exec |
찾은 파일을 이용해서 다른 명령을 실행해야 할 때 사용 |
-mtime |
수정시간을 이용하여 검색. n*24시간 전 수정파일 |
-type |
찾는 파일의 타입을 지정 |
type 옵션
옵션 |
내용 |
b |
블록형 특수 파일 |
c |
캐릭터형 특수 파일 |
d |
디렉토리 |
f |
일반 파일 |
l |
심볼릭 링크 |
p |
파이프 |
s |
소켓 |
사용예제
검색
# txt로 끝나는 파일 검색
find ./ -name "*.txt"
# logs 폴더 아래에서 txt로 끝나는 파일 검색
find ./logs -name "*.txt"
# 현재 폴더에서 com으로 시작하는 파일(f)만 검색
find ./ -name "com*" -type f
검색후 압축
# logs 폴더 아래에서 log로 끝나는 파일을 찾이서 log.tar.gz 으로 압축
find ./logs -name "*.log" -exec tar -czf "./logs/log.tar.gz" {} \;
검색후 복사
# 현재 폴더 아래 jar 파일을 target_dir 디렉토리로 복사
find ./ -name "*.jar" -exec cp {} ./target_dir/ \;
삭제 관련
# logs 폴더 아래에서 20190101이 있는 파일을 찾아서 삭제(rm)
find ./logs/ -name "*20190101*" -exec rm -rf {} \;
# logs 폴더 아래에서 20190101이 있는 파일을 찾아서 삭제하는데, tar.gz 으로 끝나는 파일은 제외
find ./logs/ -name "*20190101*" -not -name "*.tar.gz" -exec rm -rf {} \;
# logs 폴더 아래에서 log로 끝나는 파일이면서, 일주일동안 수정이 없던 파일을 삭제
find ./logs/ -name "*.log" -mtime +6 -delete