리눅스 파일시스템에서 특정한 날짜 이후의 파일을 찾거나, 특정 기간 내의 파일을 찾고 싶을 때가 있습니다..
안타깝게도 find에서 이런 옵션을 제공해주고 있진 않습니다. ( mtime, atime, ctime은 날짜 지정이 안됩니다.. )
그렇다고 불가능 한것은 아닙니다. find의 -newer 옵션을 적절히 사용하면 충분히 찾을 수 있죠 ㅎㅎ
"-newer 파일" 은 지정한 파일의 날짜보다 이후에 수정된 파일을 찾아주는 옵션입니다.
만약 2016년 5월 1일 이후로 생성된 파일을 찾길 원하면 아래와 같이 진행합니다.
1) touch -t 20160501 begin
> touch는 파일 생성 명령이고, t 옵션은 시간을 지정할 수 있습니다. (존재하는 파일이면 시간을 변경합니다)
2016년 5월 1일의 날짜로 begin 파일이 생성되었습니다.
2) find / -newer begin -print
> begin 파일보다 이후에 수정된 파일을 검색합니다. 즉, 2016년 5월 1일 이후의 파일을 검색하게 되는것이죠.
find의 부정연산자를 사용하면 2016년 5월 1일 이전의 파일도 검색 가능합니다.
find / ! -newer begin -print
2016년 5월 1일 이후를 부정연산 했으니 2016년 5월 1일 이전이 됩니다.
이 두 방식을 섞으면 특정 기간 사이에 수정된 파일도 구할 수 있습니다.
2016년 5월 1일부터 2016년 5월 30일 사이에 수정된 파일을 검색하는 방법입니다.
2016년 5월 1일을 나타내는 begin 파일은 만들었으니, 2016년 5월 30일을 나타내는 end 파일을 만들겠습니다.
touch -t 20160530 end
이제 두 파일을 가지고 검색을 진행합니다.
find / -newer begin -a ! -newer end -print
이를 응용하여 특정 기간 내 파일의 개수를 구하거나, 삭제할 수도 있습니다.
개수 구하기 : find / -newer begin -a ! -newer end | wc -l
(wc 명령어는 텍스트의 단어나 라인의 개수를 세어주는 명령어 입니다. -l 옵션은 라인을 세어주며, -w 옵션은 단어의 개수를 세어줍니다.)
삭제하기 : find / -newer begin -a ! -newer end -exec rm -f {} \;
도움이 되셨기를..
'Linux' 카테고리의 다른 글
rpm 명령어 간단 정리 (0) | 2016.10.03 |
---|---|
백그라운드 포그라운드 전환, 백그라운드 종료 (0) | 2016.10.02 |
find 명령어 (0) | 2016.06.13 |