-atime을 사용하여 예상 파일을 인쇄하지 못하는 이유는 무엇입니까? [폐쇄]

-atime을 사용하여 예상 파일을 인쇄하지 못하는 이유는 무엇입니까? [폐쇄]

365일 이상 액세스하지 않은 파일을 반복적으로 찾으려고 합니다. stat를 사용하여 365일 이상 파일에 액세스하지 않았는지 확인할 수 있습니다. 이상하게도 파일에는 약 6개월 전에 변경된 것으로 표시되어 있지만 통계에 따르면 마지막 액세스는 1년이 넘었습니다.

그런 다음 find 명령을 사용하여 1년 넘게 액세스하지 않은 파일을 검색해 보았으나 확인한 파일이 목록에 없습니다.

skunkbad:/var/www/htdocs/newera$ stat ./index.html
  File: './index.html'
  Size: 31          Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d  Inode: 3279283     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/skunkbad)   Gid: ( 1001/ webdevs)
Access: 2018-01-08 16:22:58.271143975 -0800
Modify: 2017-09-21 14:01:36.950307771 -0700
Change: 2018-06-04 09:00:36.801632639 -0700
  Birth: -

skunkbad:/var/www/htdocs/newera$ find . -atime +365 -type f -print
skunkbad:/var/www/htdocs/newera$

그렇다면 이 경우 index.html 파일 목록을 찾지 못하는 이유는 무엇입니까? 365일 이상 액세스하지 않은 파일을 재귀적으로 찾는 방법은 무엇입니까?

이 파일과 관련된 명령을 실행할 계획이기 때문에 질문하는 것입니다. 하지만 그것이 작동하는지 알아야 합니다. 90일의 예:

find -type f -atime +90 -exec touch -a {} +

답변1

이것매뉴얼find-atime-ctime및 테스트에 대한 시간 계산 방법을 설명합니다 -mtime.

-atime n

파일은 n*24시간 전에 마지막으로 액세스되었습니다. find가 파일에 마지막으로 액세스한 24시간 전을 계산할 때 모든 소수 부분은 무시되므로 일치하려면 -atime +1파일에 적어도 2일 전에 액세스했어야 합니다.

두 번째 부분은 숫자 매개변수를 지정하는 방법입니다.

숫자 매개변수는 다음과 같이 지정할 수 있습니다.

+n은 n보다 크다.

-n은 n보다 작습니다.

n은 정확히 n이다.

-atime +365따라서 을 지정하면 find365일 이상 전에 액세스한 파일이 검색됩니다. 계산에서는 분수를 고려하지 않기 때문에 이는 파일이 최소 366일 전에 액세스된 경우에만 일치한다는 것을 의미합니다(일, 달력일이 아닌 366*24시간).

따라서 귀하의 경우 find . -atime +365표시된 파일은 액세스 날짜로부터 366*24시간 이후에만 일치됩니다. 이 조건은 2019-01-09 16:22:58 이후에 true가 됩니다.

관련 정보