Có thư mục mtime luôn thay đổi khi một tập tin mới được tạo bên trong?


12

Có phải luôn luôn đúng khi một tệp mới được tạo trong một thư mục - thời gian thay đổi của thư mục?


Điều này khá dễ dàng để kiểm tra ...
ewwhite

6
Dễ dàng. Tuy nhiên, không phải trên tất cả các hệ điều hành & hệ thống tập tin cùng một lúc :)
kolypto

Câu trả lời:


12

Câu trả lời ngắn gọn là có, nó nên . Một câu trả lời dài hơn sau.

Một thư mục là một loại tập tin đặc biệt; nội dung của nó là một tập hợp các bộ dữ liệu (tên tệp, nút i) . Do đó, mtime của thư mục được cập nhật bất cứ khi nào một tuple được thêm, xóa hoặc thay đổi - nghĩa là, một tệp thuộc bất kỳ loại nào (bao gồm các liên kết cứng và thư mục) được thêm, xóa hoặc đổi tên trong thư mục (nhưng không phải trong các thư mục lồng nhau - chúng khác nhau " các tập tin").

Hãy lưu ý khi thay đổi siêu dữ liệu hồ sơ của (chủ sở hữu, nhóm, chế độ, atime, ctime, mtime - tổ chức tại i-node ), mtime KHÔNG cập nhật (không phải vào file và cũng không chứa dir) nhưng của tập tin ctime làm.

Xem thêm Âm lượng định nghĩa cơ sở của IEEE Std 1003.1-2001, Phần 4.7, Cập nhật thời gian tệp .


1
Lưu ý rằng điều này chỉ đúng với các tệp được tạo (vv) trực tiếp bên trong thư mục mẹ đang đề cập, nhưng không đúng với các tệp được tạo (v.v.) trong một thư mục trong thư mục mẹ. Có lẽ điều này là hiển nhiên đối với người khác, nhưng nó không phải với tôi (tôi phải kiểm tra để tìm câu trả lời).
logidelic

1
@logidelic cảm ơn, tôi đã cập nhật câu trả lời để làm cho nó rõ ràng hơn.
yrk

Tại sao thời gian của thư mục cũng thay đổi khi bạn tạo một tệp mới trong đó?
Ông Roland
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.