나는 주위에 내 마음을 포장하기 위해 사투를 벌인거야 왜find
해석이가하는 방식으로 수정 시간 파일. 특히 -mtime +1
48 시간 미만의 파일을 표시하지 않는 이유를 이해 하지 못합니다.
예제 테스트로 수정 날짜가 다른 세 개의 테스트 파일을 만들었습니다.
[root@foobox findtest]# ls -l
total 0
-rw-r--r-- 1 root root 0 Sep 25 08:44 foo1
-rw-r--r-- 1 root root 0 Sep 24 08:14 foo2
-rw-r--r-- 1 root root 0 Sep 23 08:14 foo3
그런 다음 -mtime +1
스위치로 find를 실행 하고 다음 출력을 얻었습니다.
[root@foobox findtest]# find -mtime +1
./foo3
그런 다음와 함께 find를 실행 -mmin +1440
하고 다음 출력을 얻었습니다.
[root@foobox findtest]# find -mmin +1440
./foo3
./foo2
find 매뉴얼 페이지에 따르면 이것이 예상되는 동작이라는 것을 이해합니다.
-mtime n
File’s data was last modified n*24 hours ago. See the comments
for -atime to understand how rounding affects the interpretation
of file modification times.
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to
have been accessed at least two days ago.
그래도 이것은 여전히 이해가되지 않습니다. 따라서 파일이 1 일, 23 시간, 59 분 및 59 초 오래된 경우 find -mtime +1
모든 것을 무시하고 1 일, 0 시간, 0 분 및 0 초와 같이 처리합니까? 어떤 경우에는 기술적으로 하루가 지나서 무시되지 않습니까?
... 계산하지 않습니다.