find 명령어
파일과 디렉토리를 검색하는 명령어, grep 과 find 를 잘 활용하면 자기가 찾고자 하는 파일을 쉽게 찾을수 있다.
옵션
처리방법
사용예1> 파일명이 *.log 이고 수정일이 3일 이전 파일을 삭제
사용예2> 수정된지 7일 이상된 파일을 삭제한다.
사용예3> 수정된지 600일 이상된 파일을 ./backup 디렉토리로 이동한다.
사용예4> 하위 2개 디렉토리까지 검색한다. maxdepth = 1 이면 현재 디렉토리만 검색
파일과 디렉토리를 검색하는 명령어, grep 과 find 를 잘 활용하면 자기가 찾고자 하는 파일을 쉽게 찾을수 있다.
옵션
- name filename : 찾고자 하는 파일명을 검색 ( 사용예 : -name *.txt )
- atime +n : access time 이 n 일 이전인 파일을 찾는다.
- atime -n : access time 이 n 일 이내의 파일을 찾는다.
- mtime +n : n일 이전에 변경된 파일을 찾는다.
- mtime -n : n일 이내에 변경된 파일을 찾는다.
- type x : f - 파일 , d - 디렉토리
- maxdepth n : 지정된 디렉토리에서 n개 하위 디렉토리까지 검색
- atime +n : access time 이 n 일 이전인 파일을 찾는다.
- atime -n : access time 이 n 일 이내의 파일을 찾는다.
- mtime +n : n일 이전에 변경된 파일을 찾는다.
- mtime -n : n일 이내에 변경된 파일을 찾는다.
- type x : f - 파일 , d - 디렉토리
- maxdepth n : 지정된 디렉토리에서 n개 하위 디렉토리까지 검색
처리방법
- print : 찾은 파일의 절대 경로를 화면에 출력
- exec cmd {} \; 명령어 구분자로 ; 을 사용하기 때문에 \; 를 항상 붙여주어야 한다.
- exec cmd {} \; 명령어 구분자로 ; 을 사용하기 때문에 \; 를 항상 붙여주어야 한다.
사용예1> 파일명이 *.log 이고 수정일이 3일 이전 파일을 삭제
- find . -name "*.log" -a -mtime +3 -exec rm {} \;
사용예2> 수정된지 7일 이상된 파일을 삭제한다.
- find /home/log -type f -mtime +7 -exec rm -f {} \;
사용예3> 수정된지 600일 이상된 파일을 ./backup 디렉토리로 이동한다.
- find . -name "local*" -mtime +600 -type f -exec mv {} ./backup \;
사용예4> 하위 2개 디렉토리까지 검색한다. maxdepth = 1 이면 현재 디렉토리만 검색
- find . -name "local*" -mtime +590 -type f -maxdepth 2