Tôi đang đấu tranh để suy nghĩ về lý do tại sao các find
phiên dịch sửa đổi tập tin lần. Cụ thể, tôi không hiểu tại sao các -mtime +1
tệp không hiển thị dưới 48 giờ.
Như một thử nghiệm mẫu, tôi đã tạo ba tệp thử nghiệm với các ngày được sửa đổi khác nhau:
[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
Sau đó tôi chạy find với -mtime +1
switch và nhận được kết quả sau:
[root@foobox findtest]# find -mtime +1
./foo3
Sau đó tôi chạy tìm với -mmin +1440
và nhận được kết quả như sau:
[root@foobox findtest]# find -mmin +1440
./foo3
./foo2
Theo trang người đàn ông để tìm, tôi hiểu rằng đây là hành vi dự kiến:
-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.
Điều này vẫn không có ý nghĩa với tôi mặc dù. Vì vậy, nếu một tệp là 1 ngày, 23 giờ, 59 phút và 59 giây, hãy find -mtime +1
bỏ qua tất cả những thứ đó và chỉ xử lý nó như 1 ngày, 0 giờ, 0 phút và 0 giây? Trong trường hợp nào, nó không phải là kỹ thuật cũ hơn 1 ngày và bỏ qua?
Có ... không ... tính toán.