2010-08-10 52 views
35

Tôi đã sử dụng "chạm" trên một tệp, cập nhật dấu thời gian của tệp nhưng dấu thời gian của thư mục gốc không thay đổi. Tuy nhiên, (như mong đợi) khi tôi tạo một tệp mới trong thư mục mẹ, dấu thời gian của thư mục đã thay đổi.Khi nào thư mục UNIX thay đổi dấu thời gian

Tiêu chí nào làm hệ điều hành giống UNIX (cụ thể AIX) sử dụng để xác định thời điểm cập nhật dấu thời gian của một thư mục?

Trả lời

26

Dấu thời gian được cập nhật khi dữ liệu đại diện cho thư mục thay đổi. Một thay đổi trong thư mục con của thư mục D không thay đổi bất cứ điều gì trong biểu diễn của D vì D chỉ trỏ đến thư mục con, không phải những gì bên trong thư mục đó. Mặt khác, việc tạo một tệp trong D sẽ thay đổi khối dữ liệu trên đĩa đại diện cho D.

12

Dấu thời gian của thư mục được thay đổi khi bản thân Thư mục được thay đổi. Thư mục chứa, trong số những thứ khác, một danh sách các inodes của các tập tin trong thư mục, do đó khi bạn thay đổi nội dung của thư mục bằng cách thêm hoặc xóa các tệp thì dấu thời gian của Thư mục sẽ được cập nhật.

+0

ý của bạn là, nếu số lượng khối được liên kết với một thay đổi thư mục thì việc sửa đổi thời gian sẽ thay đổi đúng không? –

+0

Không hoàn toàn. Dấu thời gian thư mục thay đổi khi bạn thêm hoặc xóa tệp. Điều này có thể dẫn đến số lượng các khối trong thư mục thay đổi mặc dù không nhất thiết. Một khối sẽ có khả năng lưu trữ nhiều bản ghi inode để số lượng các khối sẽ không thay đổi với mỗi tập tin mới được thêm vào. –

-3

Bạn có thể sử dụng lệnh stat để tìm thời gian, thời gian tạo, thời gian sửa đổi vv của một tệp/thư mục. Hãy tham khảo http://linux.about.com/library/cmd/blcmdl2_stat.htm

Bài viết nêu rõ: st_mtime của thư mục được thay đổi bằng cách tạo hoặc xóa tệp trong thư mục đó. Trường st_mtime không thay đổi đối với các thay đổi về chủ sở hữu, nhóm, số lượng liên kết cứng hoặc chế độ.

+4

Cảm ơn bạn đã trả lời nhưng phản hồi này không trả lời bất kỳ câu hỏi ban đầu nào. Câu hỏi là về các tiêu chí được sử dụng để xác định một hành động (cập nhật dấu thời gian) không phải là thư viện c được sử dụng để hoàn thành hành động. – Scrubbie

Các vấn đề liên quan