[Linux] 일정 기간 내에 변경된 file list - find 명령으로

2014. 10. 13. 12:09 from Dev/etc

서버 작업을 하다 보면 이러저러한 이유로 일정 기간 이내에 변경된 파일을 뽑아 보고 싶은 경우가 생깁니다.

find의 기본 명령 모양은 다음과 같습니다 :


find / -name foo


이러면 이름이 foo 인 파일들이 주르륵 나옵니다. find의 검색 기준은 여러 가지를 동시에 적용할 수 있는데, 따로 정해주지 않으면 이 조건들은 모두 AND로 봅니다. 모두 만족시키는 것만 표시를 해주는 거지요.

오늘 우리가 찾고 싶은 건 변경 일자 기준입니다. 그러면 타입은 파일이고, 변경일자로 7일 이내를 찾아볼까요?


find / -type f -mtime -7


이렇게 해주시면 됩니다. 이렇게 해서 나온 결과를 xargs 등등으로 처리해주면 더 복잡한 작업도 할 수 있겠지요?

마지막으로, 30일~45일 이전에 변경된 파일은 어떻게 하면 될까요?


find / -type -mtime +30 -mtime -45


이렇게 해주시면 됩니다. -mtime의 값으로 +값은 그 이후, -값은 이전, 숫자만 주면 정확히 그날을 기준으로 찾아줍니다.

Posted by banasun :