Thư mục ngày sửa đổi lần cuối


80

Tôi tự hỏi khi thư mục được sửa đổi ngày cuối cùng được thay đổi. Tôi đã sửa đổi một tệp bên trong một thư mục cụ thể (qua FTP), nhưng LMD của thư mục không thay đổi. Nó hoạt động như thế nào?

Câu trả lời:


126

Bản thân mtime (thời gian sửa đổi) trên thư mục sẽ thay đổi khi tệp hoặc thư mục con được thêm, xóa hoặc đổi tên.

Việc sửa đổi nội dung của tệp trong thư mục không thay đổi chính thư mục đó, cũng như không cập nhật thời gian sửa đổi của tệp hoặc thư mục con. Nếu bạn thay đổi quyền trên thư mục, ctime sẽ thay đổi nhưng mtime thì không.


2
Nó có được sửa đổi khi một thư mục con được sửa đổi không?
Flimm

6
@Flimm: nó phụ thuộc vào bản chất của việc sửa đổi đối với thư mục con. Nếu một tệp được thêm vào hoặc xóa khỏi thư mục con, thì không. Nếu thư mục con được đổi tên, thì có (vì tên mới được lưu trữ trong thư mục chứa thư mục con, vì vậy những gì 'thực sự' thay đổi là mục nhập trong thư mục chính và không có gì thay đổi trong thư mục con).
Jonathan Leffler

7
@Asmageddon: nếu một cái gì đó được sửa đổi nhiều cấp độ sâu, không có cách nào để biết rằng từ thời gian sửa đổi của thư mục một số cấp độ lên. Hãy nghĩ xem điều đó sẽ dẫn đến điều gì - cuối cùng, thư mục gốc sẽ phải được sửa đổi bất kỳ lúc nào bất kỳ tệp nào được sửa đổi ở bất kỳ đâu, khiến inode trong bộ nhớ của nó trở thành điểm nóng cho mọi quy trình thực hiện bất kỳ điều gì với bất kỳ tệp nào.
Jonathan Leffler

5
@ cram2208: Gedit có tạo tệp sao lưu trong thư mục hay tệp khóa hay tương tự không? Điều gì xảy ra nếu bạn sử dụng touch somefilethay vì gedit?
Jonathan Leffler

3
@JonathanLeffler Tôi nên nói những thông tin chi tiết tốt, giờ tôi đã hiểu hoàn toàn chuyện gì đang xảy ra. Đó là một tệp sao lưu trong thư mục và không phải là bản sửa đổi của tệp. Khi sử dụng thao tác chạm vào tệp, nó thực sự đã thay đổi LMD của tệp nhưng không thay đổi của thư mục. Gotta cẩn thận hơn về những loại chi tiết ...
cram2208

28

Một thư mục giống như một tệp chứa danh sách các tên tệp trong đó (thực sự, bạn có thể đã vô tình mở một thư mục trong trình chỉnh sửa, nơi bạn có thể thấy đó là danh sách nội dung hầu như có thể đọc được) - vì vậy nó đã được sửa đổi khi một tệp trong thư mục đó được thêm, xóa hoặc đổi tên.


1
Nó có được sửa đổi khi một thư mục con được sửa đổi không?
Flimm,

1
@Flimm Có vẻ như chỉ cập nhật mtime của thư mục chứa nếu không nó sẽ bong bóng lên thư mục gốc.
Nick Weaver

1
Không quan tâm, trình soạn thảo nào cho phép bạn mở thư mục trực tiếp? Hầu hết (thậm chí edcat) dường như phàn nàn hoặc cung cấp danh sách tệp để mở thay thế.
naught101

@ naught101 vim sẽ khá vui khi mở một thư mục.
Ether

5
@Ether: Nó không "mở một thư mục" như khi thực sự đọc dữ liệu inode của thư mục (hoặc những gì tương đương trên các hệ thống tệp khác). Nó chỉ cung cấp một trình duyệt tệp cho thư mục đó.
naught101
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.